1.已经安装好jdk,jdk版本8 及 8+

2.下载解压elasticsearch tar文件 并解压

3.修改配置文件,主要是config 目录下的elasticsearch.yml & jvm.options

   3.1 elasticsearch.yml

        cluster.name                                                      #集群名称,在一个集群中的节点集群名称需一致

        node.name                                                         #为集群中每个节点起不通的名字,区别各个节点

        node.master: true                                                #尽量配置机器差的节点为主节点,如果只有两台则另外一个节点配置为false

        node.data: true                                                   #

        path.data: /var/lib/elasticsearch       # 数据的默认存放路径

    path.logs: /var/log/elasticsearch       # 日志的默认存放路径 

       network.host                                                      # 当前节点的IP,如果IP不变,则直接配置为本机IP,若IP会变,则配置为0.0.0.0

       http.port :  9200                                                 #对外提供服务的端口,9300是集群服务的端口

       transport.tcp.port: 9300

       discovery.zen.ping.unicast.hosts: ["172.18.68.11", "172.18.68.12","172.18.68.13:port"]  # 用来解析集群中各节点,如果是同一台机器则IP后可以跟端口,默认是9200

    discovery.zen.minimum_master_nodes: 2          #为避免脑裂 ,集群中master节点最少为n/2+1,若只有2各节点,则配置为1

    #配置es 可以跨域访问,使head插件可以访问

     http.cors.enabled: true

     http.cors.allow-origin: "*"

     bootstrap.system_call_filter: false

 

    3.2 jvm.options

         修改 -Xms  -Xmx 都为1G

         JVM最大/最小内存,太小会导致elastic search 刚启动就停止,太大会拖慢系统

4.启动注意事项

    4.1. 不能在root用户下启动

    4.2. 另外还会报其他的错误,解决方法如下

             vi /etc/security/limits.conf

             添加:用户名 hard nofile 655360

                      用户名 soft nofile 655360

             vi /etc/security/limits.d/20-nproc.conf 或者是90-nproc.conf

                添加: * soft nproc 4096 或2048

             vi /etc/sysctl.conf

               添加:vm.max_map_count=655360

               并执行sysctl -p 使上面的修改生效

至此启动elasticsearch各节点,一个集群搭建完毕。

本人此次搭建是在一台机器两个节点,当启动第一个节点后会提示没有发现足够的master节点,启动第二个节点之后这个警告会消失,这个集群的就搭建成功了。