使用 docker 的 7.7 上的 Elasticsearch 集群问题
Elasticsearch Cluster issue on 7.7 using docker
EC2 实例 1:
sudo docker run -d -p 9200:9200 -p 9300:9300 \
-e "bootstrap.memory_lock=true" \
-e "node.name=es01" \
-e "network.host=172.31.139.34" \
-e "cluster.name=docker-cluster-test" \
-e "cluster.routing.allocation.disk.threshold_enabled=false" \
-e "discovery.seed_hosts=172.31.135.140" \
-e "cluster.initial_master_nodes=es01,es02" \
-e "ES_JAVA_OPTS=-XX:UseAVX=2 -Xms1g -Xmx1g" \
--name=elasticsearch770 \
--ulimit nofile=65535:65535 \
--ulimit memlock=-1:-1 \
docker.elastic.co/elasticsearch/elasticsearch:7.7.0
EC2 实例 2:
sudo docker run -d -p 9200:9200 -p 9300:9300 \
-e "bootstrap.memory_lock=true" \
-e "node.name=es02" \
-e "network.host=172.31.135.140" \
-e "cluster.name=docker-cluster-test" \
-e "cluster.routing.allocation.disk.threshold_enabled=false" \
-e "discovery.seed_hosts=172.31.139.34" \
-e "cluster.initial_master_nodes=es01,es02" \
-e "ES_JAVA_OPTS=-XX:UseAVX=2 -Xms1g -Xmx1g" \
--name=elasticsearch770 \
--ulimit nofile=65535:65535 \
--ulimit memlock=-1:-1 \
docker.elastic.co/elasticsearch/elasticsearch:7.7.0
我遇到了问题
BindTransportException[Failed to bind to 172.31.139.34:[9300-9400]];
nested: BindException[Cannot assign requested address];
如果我设置了就不要设置network.host=172.31.135.140,继续搜索
我已通过在两个 EC2 实例的 docker 命令中添加 --network=host 来修复
sudo docker run -d -p 9200:9200 -p 9300:9300 \
-e "bootstrap.memory_lock=true" \
-e "node.name=es02" \
-e "network.host=172.31.135.140" \
-e "cluster.name=docker-cluster-test" \
-e "cluster.routing.allocation.disk.threshold_enabled=false" \
-e "discovery.seed_hosts=172.31.139.34" \
-e "cluster.initial_master_nodes=es01,es02" \
-e "ES_JAVA_OPTS=-XX:UseAVX=2 -Xms1g -Xmx1g" \
--name=elasticsearch770 --network=host \
--ulimit nofile=65535:65535 \
--ulimit memlock=-1:-1 \
docker.elastic.co/elasticsearch/elasticsearch:7.7.0
EC2 实例 1:
sudo docker run -d -p 9200:9200 -p 9300:9300 \
-e "bootstrap.memory_lock=true" \
-e "node.name=es01" \
-e "network.host=172.31.139.34" \
-e "cluster.name=docker-cluster-test" \
-e "cluster.routing.allocation.disk.threshold_enabled=false" \
-e "discovery.seed_hosts=172.31.135.140" \
-e "cluster.initial_master_nodes=es01,es02" \
-e "ES_JAVA_OPTS=-XX:UseAVX=2 -Xms1g -Xmx1g" \
--name=elasticsearch770 \
--ulimit nofile=65535:65535 \
--ulimit memlock=-1:-1 \
docker.elastic.co/elasticsearch/elasticsearch:7.7.0
EC2 实例 2:
sudo docker run -d -p 9200:9200 -p 9300:9300 \
-e "bootstrap.memory_lock=true" \
-e "node.name=es02" \
-e "network.host=172.31.135.140" \
-e "cluster.name=docker-cluster-test" \
-e "cluster.routing.allocation.disk.threshold_enabled=false" \
-e "discovery.seed_hosts=172.31.139.34" \
-e "cluster.initial_master_nodes=es01,es02" \
-e "ES_JAVA_OPTS=-XX:UseAVX=2 -Xms1g -Xmx1g" \
--name=elasticsearch770 \
--ulimit nofile=65535:65535 \
--ulimit memlock=-1:-1 \
docker.elastic.co/elasticsearch/elasticsearch:7.7.0
我遇到了问题
BindTransportException[Failed to bind to 172.31.139.34:[9300-9400]]; nested: BindException[Cannot assign requested address];
如果我设置了就不要设置network.host=172.31.135.140,继续搜索
我已通过在两个 EC2 实例的 docker 命令中添加 --network=host 来修复
sudo docker run -d -p 9200:9200 -p 9300:9300 \
-e "bootstrap.memory_lock=true" \
-e "node.name=es02" \
-e "network.host=172.31.135.140" \
-e "cluster.name=docker-cluster-test" \
-e "cluster.routing.allocation.disk.threshold_enabled=false" \
-e "discovery.seed_hosts=172.31.139.34" \
-e "cluster.initial_master_nodes=es01,es02" \
-e "ES_JAVA_OPTS=-XX:UseAVX=2 -Xms1g -Xmx1g" \
--name=elasticsearch770 --network=host \
--ulimit nofile=65535:65535 \
--ulimit memlock=-1:-1 \
docker.elastic.co/elasticsearch/elasticsearch:7.7.0