ElasticSearch之docker集群搭建

本文详细介绍了如何从零开始部署一个Elasticsearch集群,包括创建挂载目录、设置权限、配置节点参数以及通过Docker启动集群的全过程。同时,记录了解决集群启动时遇到的关于虚拟内存区域限制问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、搭建

  • 创建文件挂载目录并开启777权限
mkdir -p /data/es/data1
mkdir -p /data/es/data2
mkdir -p /data/es/data3
chmod -R 777 /data/es/data1
chmod -R 777 /data/es/data2
chmod -R 777 /data/es/data3
  • 创建es配置文件
mkdir -p /data/es/config
#vim /data/es/config/es1.yml

cluster.name: elasticsearch-cluster
node.name: es-node1
network.bind_host: 0.0.0.0
network.publish_host: *.*.*.*
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true 
node.data: true  
discovery.zen.ping.unicast.hosts: ["*.*.*.*:9300","*.*.*.*:9301","*.*.*.*:9302"]
discovery.zen.minimum_master_nodes: 2

PS:network.publish_host: *.*.*.*替换为宿主机IP

#vim /data/es/config/es2.yml

cluster.name: elasticsearch-cluster
node.name: es-node2
network.bind_host: 0.0.0.0
network.publish_host: *.*.*.*
http.port: 9201
transport.tcp.port: 9301
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true 
node.data: true  
discovery.zen.ping.unicast.hosts: ["*.*.*.*:9300","*.*.*.*:9301","*.*.*.*:9302"]
discovery.zen.minimum_master_nodes: 2

 

#vim /data/es/config/es3.yml

cluster.name: elasticsearch-cluster
node.name: es-node3
network.bind_host: 0.0.0.0
network.publish_host: *.*.*.*
http.port: 9202
transport.tcp.port: 9302
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true 
node.data: true  
discovery.zen.ping.unicast.hosts: ["*.*.*.*:9300","*.*.*.*:9301","*.*.*.*:9302"]
discovery.zen.minimum_master_nodes: 2

 

  • 启动es集群
 docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 -v /data/es/config/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /data/es/data1:/usr/share/elasticsearch/data --name ES01 elasticsearch:6.8.5
 
 docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9201:9201 -p 9301:9301 -v /data/es/config/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /data/es/data2:/usr/share/elasticsearch/data --name ES02 elasticsearch:6.8.5

 docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9202:9202 -p 9302:9302 -v /data/es/config/es3.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /data/es/data3:/usr/share/elasticsearch/data --name ES03 elasticsearch:6.8.5

2、问题记录

  • bootstrap checks failed max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
vim /etc/sysctl.conf

vm.max_map_count=262144 

sysctl -p

 

搭建Docker ES8集群,可以按照以下步骤进行操作: 1. 首先,确保你已经安装了DockerDocker Compose。 2. 创建一个Docker Compose文件,例如docker-compose.yml,在该文件中定义你的ES集群配置。可以使用以下示例配置: ```yaml version: '3' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:8.0.1 environment: - discovery.type=single-node ports: - 9200:9200 volumes: - esdata:/usr/share/elasticsearch/data volumes: esdata: ``` 3. 在终端中,导航到包含docker-compose.yml文件的目录。 4. 运行以下命令以启动集群: ``` docker-compose up -d ``` 这将启动一个单节点的Elasticsearch集群,并将其绑定到本地的9200端口。 5. 要停止集群,可以运行以下命令: ``` docker-compose down ``` 这将停止容器,但保留Docker卷中的数据。 希望以上步骤可以帮助你成功搭建Docker ES8集群。如果有任何问题,请随时提问。123 #### 引用[.reference_title] - *1* *3* [Elasticsearch(4) 利用docker-compose搭建es8集群环境](https://blog.youkuaiyun.com/m0_66557301/article/details/123892665)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] - *2* [搭建Elasticsearch8.0集群](https://blog.youkuaiyun.com/qq_39677803/article/details/123279194)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值