> 文章列表 > docker desktop ElasticSearch-7.17.9单机集群部署

docker desktop ElasticSearch-7.17.9单机集群部署

docker desktop ElasticSearch-7.17.9单机集群部署

ElasticSearch单机集群部署-版本7.17.9

在自己的电脑上搭建一个简易的ES集群供学习使用
参考文章地址

1. 镜像准备

  • docker pull elasticsearch:7.17.9
  • docker pull kibana:7.17.9

2. 数据卷准备(非必要)

因为kibana只用于简单的对es进行查询 所以本文章不对kibana作复杂的配置,只需要配置es的数据卷即可
node1数据卷参考 主机目录根据自己电脑进行配置

PS: 这里只是对elasticsearch.yml做了数据卷

主机目录 容器目录
D:\\softWare\\develop\\docker\\data\\elasticsearch\\es\\node1\\config\\elasticsearch.yml /usr/share/elasticsearch/config/elasticsearch.yml
D:\\softWare\\develop\\docker\\data\\elasticsearch\\es\\node1\\data /usr/share/elasticsearch/data
D:\\softWare\\develop\\docker\\data\\elasticsearch\\es\\node1\\plugins /usr/share/elasticsearch/plugins

其他节点准备操作一致,自己根据集群需求创建对应的文件和文件夹

3. 对应Elasticsearch.yml配置

master 节点配置参考
根据自身需求进行修改 参数的意思这里就不一一介绍了

cluster.name: elasticsearch-cluster
node.name: es-node-one
network.bind_host: 0.0.0.0
# 换成你自己的IP
network.publish_host: 192.168.0.103
http.port: 9200
transport.tcp.port: 9300
# 同理
discovery.seed_hosts: ["192.168.0.103:9300", "192.168.0.103:9320", "192.168.0.103:9330"]
cluster.initial_master_nodes: ["es-node-one"]
# 解决跨域
http.cors.enabled: true
http.cors.allow-origin: "*"

从节点1 节点配置参考

cluster.name: elasticsearch-cluster
node.name: es-node-two
network.bind_host: 0.0.0.0
network.publish_host: 192.168.0.103
http.port: 9220
transport.tcp.port: 9320
discovery.seed_hosts: ["192.168.0.103:9300", "192.168.0.103:9320", "192.168.0.103:9330"]
cluster.initial_master_nodes: ["es-node-one"]

从节点2 节点配置参考

cluster.name: elasticsearch-cluster
node.name: es-node-three
network.bind_host: 0.0.0.0
network.publish_host: 192.168.0.103
http.port: 9230
transport.profiles.default.port: 9330
discovery.seed_hosts: ["192.168.0.103:9300", "192.168.0.103:9320", "192.168.0.103:9330"]
cluster.initial_master_nodes: ["es-node-one"]

4. 启动命令配置

master节点启动命令参考
如果步骤二未配置数据卷 自己修改启动命令

docker run -itd --name es-node-one -p 9200:9200 -p 9300:9300 ^
-e "ES_JAVA_OPTS=-Xms2048m -Xmx2048m" ^
-v D:\\softWare\\develop\\docker\\data\\elasticsearch\\es\\node1\\data:/usr/share/elasticsearch/data  ^
-v D:\\softWare\\develop\\docker\\data\\elasticsearch\\es\\node1\\config\\elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml ^
-v D:\\softWare\\develop\\docker\\data\\elasticsearch\\es\\node1\\plugins:/usr/share/elasticsearch/plugins ^
7e1ef

从节点1 启动命令参考

docker run -itd --name es-node-two -p 9220:9220 -p 9320:9320 ^
-e "ES_JAVA_OPTS=-Xms2048m -Xmx2048m" ^
-v D:\\softWare\\develop\\docker\\data\\elasticsearch\\es\\node2\\data:/usr/share/elasticsearch/data  ^
-v D:\\softWare\\develop\\docker\\data\\elasticsearch\\es\\node2\\config\\elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml ^
-v D:\\softWare\\develop\\docker\\data\\elasticsearch\\es\\node2\\plugins:/usr/share/elasticsearch/plugins  ^7e1e

从节点2 启动命令参考

docker run -itd --name es-node-three -p 9230:9230 -p 9330:9330 ^
-e "ES_JAVA_OPTS=-Xms2048m -Xmx2048m" ^
-v D:\\softWare\\develop\\docker\\data\\elasticsearch\\es\\node3\\data:/usr/share/elasticsearch/data  ^
-v D:\\softWare\\develop\\docker\\data\\elasticsearch\\es\\node3\\config\\elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml ^
-v D:\\softWare\\develop\\docker\\data\\elasticsearch\\es\\node3\\plugins:/usr/share/elasticsearch/plugins  ^7e1e

5. 查看集群运行状态

如果集群正常运行,可以使用命令简单查看集群的状态

 http://localhost:9200/_cat/health?v

docker desktop ElasticSearch-7.17.9单机集群部署

6.Kibana配置

Kibana直接与master节点容器互联即可 直接使用启动命令

docker run -itd --name="kibana" -p 56001:5601 --link es-node-one:elasticsearch 4c005
  • -p 56001是因为我本机的5601已经被占用,根据实际进行修改

7. End

因为本文中是单主机部署集群,所以配置相对比较简易,相信看到这的朋友已经对集群的配置流程有了一定的了解,可以根据自身的需求,在此文章的基础上进行拓展,例如设置密码证书认证, 使用docker-compose进行编排等