Centos7安装elasticsearch6.3.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允许外网访问
    官方建议生产环境设置为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
    单节点设置为1
    gateway.recover_after_nodes: 1 # 集群节点数量

你可能感兴趣的:(Centos7安装elasticsearch6.3.0)