节点在 Elasticsearch 上自动添加
Nodes Getting added automatically on Elasticsearch
我在 AWS.I 上设置了一个 elasticsearch 集群并设置了三个 UBUNTU 实例,命名为:
elasticsearch1, elasticsearch2, elasticsearch3
我已经使用 Elasticsearch Cloud AWS 插件进行配置和节点发现。
理想情况下应该显示三个节点但是当我 运行 :
curl -XGET 'http://172.30.0.17:9200/_cluster/health?pretty=true'
我得到:
{
"cluster_name" : "LogstashCluster",
"status" : "green",
"timed_out" : false,
"number_of_nodes" : 5,
"number_of_data_nodes" : 5,
"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
}
主节点elasticsearch1创建了3个节点:
为什么会这样?
正如您所说,您得到了 ps aux | 的输出grep 弹性搜索 | wc -l 在您的主服务器 (172.30.0.17) 上显示为 4,很明显 elasticsearch 实例的多个实例在您的主服务器上 运行。通过检查 java 打开的 tcp 端口来验证这一点的另一种方法。默认情况下,elasticsearch 监听两个端口,即 9200 和 9300。您可以使用以下命令检查 运行 tcp 端口列表
网络统计-ntlp | awk '/[j]ava/'
如果 java 打开了两个以上的端口,那么你有多个 elasticsearch 实例 运行。在这里,我假设您 运行 只是该服务器上使用 java.
的 elastcisearch
要解决此问题,请执行以下步骤ps
- 使用以下命令杀死 master 上的所有 elasticsearch 实例
ps awk '/[e]lasticsearch/ && /[j]ava/{print $2}' | xargs kill -9
- 使用下面的命令检查上面的命令是否成功。你不应该得到任何输出
ps awk '/[e]lasticsearch/ && /[j]ava/{print $2}'
- 使用以下命令再次启动弹性搜索服务。我假设您已经创建了用于启动 elasticsearch
的服务
服务弹性搜索启动
- 现在再次使用以下命令验证您的 运行 elasticsearch 服务
ps awk '/[e]lasticsearch/ && /[j]ava/' | wc -l #你应该得到输出 1
网络统计-ntlp | awk '/[j]ava/' | wc -l # 你应该得到输出 2
我在 AWS.I 上设置了一个 elasticsearch 集群并设置了三个 UBUNTU 实例,命名为: elasticsearch1, elasticsearch2, elasticsearch3
我已经使用 Elasticsearch Cloud AWS 插件进行配置和节点发现。
理想情况下应该显示三个节点但是当我 运行 :
curl -XGET 'http://172.30.0.17:9200/_cluster/health?pretty=true'
我得到:
{
"cluster_name" : "LogstashCluster",
"status" : "green",
"timed_out" : false,
"number_of_nodes" : 5,
"number_of_data_nodes" : 5,
"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
}
主节点elasticsearch1创建了3个节点:
为什么会这样?
正如您所说,您得到了 ps aux | 的输出grep 弹性搜索 | wc -l 在您的主服务器 (172.30.0.17) 上显示为 4,很明显 elasticsearch 实例的多个实例在您的主服务器上 运行。通过检查 java 打开的 tcp 端口来验证这一点的另一种方法。默认情况下,elasticsearch 监听两个端口,即 9200 和 9300。您可以使用以下命令检查 运行 tcp 端口列表
网络统计-ntlp | awk '/[j]ava/'
如果 java 打开了两个以上的端口,那么你有多个 elasticsearch 实例 运行。在这里,我假设您 运行 只是该服务器上使用 java.
的 elastcisearch要解决此问题,请执行以下步骤ps
- 使用以下命令杀死 master 上的所有 elasticsearch 实例
ps awk '/[e]lasticsearch/ && /[j]ava/{print $2}' | xargs kill -9
- 使用下面的命令检查上面的命令是否成功。你不应该得到任何输出
ps awk '/[e]lasticsearch/ && /[j]ava/{print $2}'
- 使用以下命令再次启动弹性搜索服务。我假设您已经创建了用于启动 elasticsearch 的服务
服务弹性搜索启动
- 现在再次使用以下命令验证您的 运行 elasticsearch 服务
ps awk '/[e]lasticsearch/ && /[j]ava/' | wc -l #你应该得到输出 1
网络统计-ntlp | awk '/[j]ava/' | wc -l # 你应该得到输出 2