美文网首页
Centos7安装elasticsearch6.3.0

Centos7安装elasticsearch6.3.0

作者: 五岁小孩 | 来源:发表于2021-04-16 11:44 被阅读0次

    Centos7安装elasticsearch6.3.0

    单机版

    • 查看java 版本

      [root@localhost ~]# java -version
      java version "1.8.0_221"
      Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
      Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
      
    • 安装java

      待完成
      
    • 下载es6.8

      本地下载上传服务器安装:
      下载地址:https://www.elastic.co/downloads/elasticsearch 
      本问选择的是6.3.0版本的Elasticsearch
      
      服务器下载:
      wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.0.tar.gz
      
      
    • 解压

      #本文是将elasticsearch-6.3.0.tar.gz上传到服务器目录/home/upload
      [root@localhost ~]cd /home/upload
      解压
      [root@localhost upload]# tar -xzvf elasticsearch-6.3.0.tar.gz 
      -C /home/soft/
      elasticsearch-6.3.0/
      elasticsearch-6.3.0/lib/
      elasticsearch-6.3.0/lib/elasticsearch-6.3.0.jar
      elasticsearch-6.3.0/lib/elasticsearch-x-content-6.3.0.jar
      elasticsearch-6.3.0/lib/elasticsearch-cli-6.3.0.jar
      elasticsearch-6.3.0/lib/elasticsearch-core-6.3.0.jar
      elasticsearch-6.3.0/lib/lucene-core-7.3.1.jar
      elasticsearch-6.3.0/lib/lucene-analyzers-common-7.3.1.jar
      elasticsearch-6.3.0/lib/lucene-backward-codecs-7.3.1.jar
      elasticsearch-6.3.0/lib/lucene-grouping-7.3.1.jar
      elasticsearch-6.3.0/lib/lucene-highlighter-7.3.1.jar
      ..........
      
      
    • 创建Elasticsearch用户

      ==es规定root用户不能启动es==

      #添加用户esuser
      [root@localhost elasticsearch-6.3.0]# adduser esuser
      #设置密码
      [root@localhost elasticsearch-6.3.0]#passwd [用户名]
      #授权
      [root@localhost elasticsearch-6.3.0]chown -R esuser:esuser  elasticsearch-6.3.0
      
      
    • 启动

      到此为止即可启动,建议先配置在启动

      [root@localhost elasticsearch-6.3.0]cd /bin
      #直接启动
      [root@localhost bin]./elasticsearch
      #后台启动
      [root@localhost bin]./elasticsearch -d
      
    • 配置

      • 配置es的数据,日志目录

        es的默认数据存储目录为:path.data:/path/to/data 日志存储目录为:path.logs: /path/to/logs

        建议修改为自己的目录

        # 创建数据,日志保存目录,并授权esuser 用户
        [root@root home]# mkdir -p esdata/data
        

      [root@root home]# mkdir -p esdata/log
      [root@root home]# chown -R esuser:esuser esdata

      修改配置 找到path.logs,path.data,添加目录路径

      [root@localhost soft]# vi /home/soft/elasticsearch-6.3.0/config/elasticsearch.yml

      ======================== Elasticsearch Configuration =========================

      ...........

    #去掉 path.logs,path.data 前的注释,建议在下边新加;
    #path.data:/path/to/data
    path.data:/home/soft/esdata/data
    #path.logs:/path/to/logs
    

    path.logs:/home/soft/esdata/logs

    ~~~
    
    
    * 开放端口
    
    > root用户下操作
      >
      > 1.关闭防火墙
      >
    > 2.开放端口:默认访问端口9200,es内部节点通讯端口9300(本文未用)
      >
    > 
    
    ~~~linux
      firewall-cmd --add-port=9200/tcp --permanent           #1. 开放端口命令
      firewall-cmd --reload                                  #2.重载入防火墙
    
      
    * 开启远程访问
      
        > es默认只允许本机访问,需配置ip才可远程访问:
        >
        > 
      
        ~~~linux
        [root@localhost soft]# vi /home/soft/elasticsearch-6.3.0/config/elasticsearch.yml 
        
        # 去掉 network.host 前边的注释,将它的值改成0.0.0.0,代表任何ip可访问
        # network.host: 0.0.0.0
    
    • 修改es的安装内存[^非必需]

      es默认的安装内存配置是一G,为防止内存溢出造成错误,配置为4G

      [root@localhost soft]# vi /home/soft/elasticsearch-6.3.0/config/jvm.options
      -Xms1g
       -Xmx1g
      改为:
       -Xms4g
       -Xmx4g
      
    • 其他配置

      启动若出现以下出现问题:

      ERROR: [2] bootstrap checks failed
      [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

      这是由于每个进程最大同时打开文件数太小,需重新配置

      [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

      elasticsearch用户拥有的内存权限太小,至少需要262144;

      ==vm.max_map_count==:限制一个进程可以拥有的VMA(虚拟内存区域)的数量

      #解决[1]
      #需在root用户下操作
      [root@localhost bin]# vi /etc/security/limits.conf (文件后添加以下配置 esuser替换为你的es用户)
      esuser hard nofile 65536
      esuser soft nofile 65536
      esuser soft memlock unlimited
      esuser hard memlock unlimited
      
      #解决[2]
      [root@localhost bin]# vi /etc/sysctl.conf (文件后添加以下配置)
      vm.max_map_count=262144
      [root@localhost bin]# sysctl -p
      vm.max_map_count = 262144
      
    • 最终启动验证

      [esuser@localhost bin]$ ./elasticsearch -d
      [esuser@localhost bin]$ curl -XGET http://127.0.0.1:9200/?pretty
      {
        "name" : "XxZX8Bu",                               -------------------node.name节点名
        "cluster_name" : "elasticsearch",                 -------------------cluster.name集群名
        "cluster_uuid" : "Vt_pnS64RfKGr9YXXIT_4A",        -------------------集群id
        "version" : {
          "number" : "6.3.0",                             -------------------es的版本好
          "build_flavor" : "default",                     -------------------
          "build_type" : "tar",                           -------------------
          "build_hash" : "424e937",                       -------------------
          "build_date" : "2018-06-11T23:38:03.357887Z",   -------------------构建时间
          "build_snapshot" : false,                       -------------------生成快照
          "lucene_version" : "7.3.1",                     -------------------底层lucene版本
          "minimum_wire_compatibility_version" : "5.6.0", -------------------
          "minimum_index_compatibility_version" : "5.0.0" -------------------最小索引兼容性版本
        },
        "tagline" : "You Know, for Search"                -------------------标语
      }
      [esuser@localhost bin]$ 
      
    • 附 配置(config/elasticsearch.yml)文件属性

      属性名 说明
      cluster.name 配置elasticsearch的集群名称,默认是elasticsearch。建议修改成一个有意义的名称。
      node.name 节点名,es会默认随机指定一个名字,建议指定一个有意义的名称,方便管理
      path.conf 设置配置文件的存储路径,tar或zip包安装默认在es根目录下的config文件夹,rpm安装默认在/etc/ elasticsearch
      path.data 设置索引数据的存储路径,默认是es根目录下的data文件夹,可以设置多个存储路径,用逗号隔开
      path.logs 设置日志文件的存储路径,默认是es根目录下的logs文件夹
      path.plugins 设置插件的存放路径,默认是es根目录下的plugins文件夹
      bootstrap.memory_lock 设置为true可以锁住ES使用的内存,避免内存进行swap
      network.host 设置bind_host和publish_host,设置为0.0.0.0允许外网访问<br />官方建议生产环境设置为true
      http.port 设置对外服务的http端口,默认为9200。
      transport.tcp.port 集群结点之间通信端口
      discovery.zen.ping.timeout 设置ES自动发现节点连接超时的时间,默认为3秒,如果网络延迟高可设置大些
      discovery.zen.minimum_master_nodes 主结点数量的最少值 ,此值的公式为:(master_eligible_nodes / 2) + 1 ,比如:有3个符合要求的主结点,那么这里要设置为2<br />单节点设置为1
      gateway.recover_after_nodes: 1 # 集群节点数量

    相关文章

      网友评论

          本文标题:Centos7安装elasticsearch6.3.0

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