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这种多节点的方便。