ElasticSearch 集群 安装与部署

windows

  1、安装java:

    配置环境变量,自行百度,注:java版本安装一定要用64位的,32位的java跑不起es。

  2、安装es:

    1)官网下载安装包,注:集群中的每个es节点的版本一定要一致,特别是在横向扩展的时候。

    2)修改配置 config/elasticsearch.yml

      cluster.name: haowang                                              #集群名称,所有节点一致

      node.name: node-91                                               #节点名称,所以节点都不一致 

      network.host: 0.0.0.0                                               # 0.0.0.0  接受所有请求
      network.publish_host: 192.168.120.91                   # 对外暴露的ip

      http.port: 9200                       # http 请求的端口

      transport.tcp.port: 9300                      # tcp 请求的端口,集群中节点通信用的端口,java 的api 也是用 tcp 通信,.net 用的是 http 的api

      discovery.zen.ping.unicast.hosts:["{ip}:9300","{ip2:9300}"]       #es集群互相发现,不需要全部写进去,es的发现模式 A->B,B->C,C->D,那么ABCD都在一个集群中。

      discovery.zen.minimum_master_nodes: 2           #es集群最小数量,小于它启动不成功。

      xpack.ml.enabled: false                   #xpack 的配置,不知道怎么配置,不需要的就设置false,需要的百度吧

    3)大功告成,cmd 运行 bin/elasticsearch.bat 

      运行成功后,浏览器*问:http://{ip}:9200/_cat/nodes  可查看节点情况,也可使用kibana查看

Docker

  1、安装docker请参见其他博文

   2、运行命令

      docker run --name es --restart=always \

        -p 9300:9300 -p 9200:9200 \

        -v $PWD:/data \

        -v /etc/localtime:/etc/localtime \

        -e ES_JAVA_OPTS="-Xms30g -Xmx30g" \

        -e cluster.name="test" -e node.name="es-1" -e node.master=true -e node.data=true -e discovery.zen.ping.unicast.hosts="1.1.8.179:9300,1.1.8.182:9300" \

        -e discovery.zen.minimum_master_nodes=2 -e network.host=0.0.0.0 -e network.publish_host=1.1.8.181 -e transport.tcp.port=9300 -e http.port=9200 \

        -e path.data=/data/data -e path.logs=/data/logs \

        elasticsearch:6.7.0

  # es 的配置应该都看得懂,-v $PWD:/data 表示挂载当前目录到容器的/data目录,  -e path.data=/data/data -e path.logs=/data/logs 设置es的数据与日志路径

  # -e ES_JAVA_OPTS="-Xms30g -Xmx30g" 配置es 的内存

总的来说还是 docker 部署es这种多节点的方便。

 

  

上一篇:es报错NoNodeAvailableException[None of the configured nodes are available:[.127.0.0.1}{127.0.0.1:9300]


下一篇:内网机器之间出现非22端口不通的情况,可以使用iptables -I INPUT -p -tcp --dport 8889 -jACCEPT