美文网首页
Centos7安装Elasticsearch7.2版本

Centos7安装Elasticsearch7.2版本

作者: GeorgeChan_95 | 来源:发表于2019-08-02 14:11 被阅读0次

    环境说明

    Centos7, jdk1.8已安装,root用户登录

    概要

    这段时间一直在研究Elasticsearch环境搭建,基于目前最新版本Elasticsearch7.2。环境包括Elasticsearch7.2下载安装、kibana7.2安装配置、logstash7.2安装和配置mysql8.0的数据同步、ik分词器插件的安装。
    本文只说Elasticsearch的安装,其它会另写博客说明。

    开始安装

    下载Elasticsearch7.2

    1、登录Elasticsearch官网下载7.2版本
    *点击可以下载各个版本的es * https://www.elastic.co/cn/
    或者直接复制我的代码

    [root@localhost tar.gz]# pwd
    /usr/local/src/tar.gz
    [root@localhost tar.gz]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.2.0-linux-x86_64.tar.gz
    [root@localhost tar.gz]# ll
    total 328760
    -rw-r--r--. 1 root root 336647987 Aug  2 11:39 elasticsearch-7.2.0-linux-x86_64.tar.gz
    

    百度云
    链接:https://pan.baidu.com/s/1QQ2A20yatNnuU99A_-T4FA
    提取码:po9r

    解压

    [root@localhost tar.gz]# tar -zxvf elasticsearch-7.2.0-linux-x86_64.tar.gz -C /usr/local/src/
    
    [root@localhost tar.gz]# cd ..
    [root@localhost src]# ll
    total 0
    drwxr-xr-x. 9 root root 154 Jun 20 23:56 elasticsearch-7.2.0
    drwxr-xr-x. 2 root root  53 Aug  2 11:39 tar.gz
    [root@localhost src]# mv elasticsearch-7.2.0/ elasticsearch
    [root@localhost src]# ll
    total 0
    drwxr-xr-x. 9 root root 154 Jun 20 23:56 elasticsearch
    drwxr-xr-x. 2 root root  53 Aug  2 11:39 tar.gz
    

    新建用户
    es不能用root用户启动,需要自己新建用户,并赋权
    (我输的密码比较简单,所以有BAD PASSWORD:这个提示,不用管它)

    
    
    ## 新建用户,设置密码
    [root@localhost src]# adduser esuser
    [root@localhost src]# passwd esuser
    Changing password for user esuser.
    New password: 
    BAD PASSWORD: The password is shorter than 8 characters
    Retype new password: 
    passwd: all authentication tokens updated successfully.
    ## 授权
    [root@localhost src]# chown -R esuser elasticsearch/
    

    新建文件夹
    等会要配置下elasticsearch.yml,这里先建立两个文件夹,数据文件夹和日志文件夹,并授权给es用户,会在es的配置文件中使用到。

    [root@localhost src]# mkdir /opt/elasticsearch-data
    [root@localhost src]# mkdir /opt/elasticsearch-log
    [root@localhost config]# chown -R esuser /opt/elasticsearch-data/
    [root@localhost config]# chown -R esuser /opt/elasticsearch-log/
    

    编辑elasticsearch.yml
    注释的内容就不贴出来了,只保留改动的部分.
    (设置0.0.0.0可以让任何人访问到你的es)

    [esuser@localhost config]$ pwd
    /usr/local/src/elasticsearch/config
    [esuser@localhost config]$ vi elasticsearch.yml
    cluster.name: es-application
    node.name: node-1
    path.data: /opt/elasticsearch-data
    path.logs: /opt/elasticsearch-log
    network.host: 0.0.0.0
    http.port: 9200
    # 下面这两个是默认配置,我先保留等下会说
    #discovery.seed_hosts: ["host1", "host2"]
    #cluster.initial_master_nodes: ["node-1", "node-2"]
    

    在es用户下启动elasticsearch

    [root@localhost bin]# su esuser
    [esuser@localhost bin]$ cd /usr/local/src/elasticsearch/bin/
    [esuser@localhost bin]$ ./elasticsearch
    

    报错
    [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
    [2]: max number of threads [3800] for user [esuser] is too low, increase to at least [4096]
    [3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

    解决 问题[1]、问题[2]

    # 切换root用户
    [root@localhost config]# vi /etc/security/limits.conf
    # 添加如下4行内容
    *        soft    nofile      65536
    *        hard    nofile      65536
    *        soft    nproc       4096
    *        hard    nproc       4096
    
    image.png

    解决 问题[3]

    [root@localhost config]# vi /etc/sysctl.conf
    # 添加下面这行
    vm.max_map_count=655360
    

    重新启动依旧报错
    ERROR: [1] bootstrap checks failed
    [1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
    解决
    需要配置cluster.initial_master_nodes,修改 elasticsearch.yml,
    由于暂时我们的es是单节点的,所以只要配置一个node节点就行了,
    这里node-1必须和 node.name: 名称相同

    cluster.initial_master_nodes: ["node-1"]
    

    重新启动===》成功!

    image.png

    开启防火墙9200端口

    [esuser@localhost bin]$ su root
    Password: 
    [root@localhost bin]# firewall-cmd --zone=public --add-port=9200/tcp --permanent
    [root@localhost bin]# systemctl restart firewalld.service
    

    浏览器访问

    image.png

    注意

    1、es启动不能用root账户,需要自己新建账户并授权
    2、虚拟机分配的内存不能过小,es7.2默认启动内存是1G(可以修改配置文件更改内存参数),所以在虚拟机分配的内存可以大一点,内存过小,启动报错。

    扩展

    Elasticsearch7.2在启动的时候会看到第一行信息是这样的:
    future versions of Elasticsearch will require Java 11; your Java version from [/opt/jdk1.8.0_211/jre] does not meet this requirement

    这是由于Elasticsearch依赖于jdk,es和jdk有着对应的依赖关系。如果jdk版本过低,es会启动不了。
    这里由于篇幅的原因,我将重新写一篇博客说明下这个问题。

    Elasticsearch7.2启动指定JDK11

    相关文章

      网友评论

          本文标题:Centos7安装Elasticsearch7.2版本

          本文链接:https://www.haomeiwen.com/subject/itnkdctx.html