环境要求
grep vm.max_map_count /etc/sysctl.conf
vm.max_map_count=262144
sysctl -w vm.max_map_count=262144
chmod g+rwx /root/es/data
三台机器搭建集群
docker run -d --name es --net host \
-e node.name=es1 -e cluster.name=es-docker-cluster \
-e discovery.seed_hosts=192.168.3.19,192.168.3.20 \
-e cluster.initial_master_nodes=192.168.3.17,192.168.3.19,192.168.3.20 \
-e network.publish_host=192.168.3.17 \
-v /root/es/data:/usr/share/elasticsearch/data \
elasticsearch:7.5.2
docker run -d --name es --net host \
-e node.name=es2 -e cluster.name=es-docker-cluster \
-e discovery.seed_hosts=192.168.3.17,192.168.3.20 \
-e cluster.initial_master_nodes=192.168.3.17,192.168.3.19,192.168.3.20 \
-e network.publish_host=192.168.3.19 \
-v /root/es/data:/usr/share/elasticsearch/data \
elasticsearch:7.5.2
docker run -d --name es --net host \
-e node.name=es3 -e cluster.name=es-docker-cluster \
-e discovery.seed_hosts=192.168.3.17,192.168.3.19 \
-e cluster.initial_master_nodes=192.168.3.17,192.168.3.19,192.168.3.20 \
-e network.publish_host=192.168.3.20 \
-v /root/es/data:/usr/share/elasticsearch/data \
elasticsearch:7.5.2
测试
[root@data2 es]
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
192.168.3.17 20 98 1 0.07 0.07 0.05 dilm * es1
192.168.3.20 12 97 1 0.04 0.03 0.05 dilm - es3
192.168.3.19 9 93 1 0.01 0.04 0.05 dilm - es2
[root@data1 es]
{
"cluster_name" : "es-docker-cluster",
"status" : "green",
"timed_out" : false,
"number_of_nodes" : 3,
"number_of_data_nodes" : 3,
"active_primary_shards" : 0,
"active_shards" : 0,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 0,
"delayed_unassigned_shards" : 0,
"number_of_pending_tasks" : 0,
"number_of_in_flight_fetch" : 0,
"task_max_waiting_in_queue_millis" : 0,
"active_shards_percent_as_number" : 100.0
}