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這種多節點的方便。