【问题标题】:elasticsearch two node cluster on a standalone server独立服务器上的elasticsearch两节点集群
【发布时间】:2016-11-01 19:21:19
【问题描述】:

我有一个 ELK 堆栈在单个服务器上运行。 elasticsearch 健康查询向我显示了两个节点:

curl -XGET http://localhost:9200/_cluster/health?pretty { "cluster_name" : "elasticsearch", "status" : "green", "timed_out" : false, "number_of_nodes" : 2, "number_of_data_nodes" : 2, "active_primary_shards" : 901, "active_shards" : 1802, "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 }

据我所知,端口 9200 上有一个节点,端口 9300 上有一个节点。

由于我只有一台服务器,我认为我不需要两个节点。我可以安全地删除这些节点上的一个吗?如果可以,怎么办?

【问题讨论】:

  • 告诉我,你如何运行 elasticsearch 节点?
  • 对不起,我不明白你在问什么?这只是一个非常简单的开箱即用安装。我安装了 elasticsearch 包并运行:service elasticsearsh start。
  • active_primary_shards * number_of_nodes = active_shards => 您可以安全地删除其中一个节点。在终端运行'sudo ps -ef | grep elasticsearch' - 这将有助于找到 elasticsearch 的 PID,然后杀死其中一个 elasticsearch

标签: elasticsearch elastic-stack


【解决方案1】:

每个 ElasticSearch 节点默认打开 2 个端口:9200 用于 http,9300 用于传输协议。

这里发生的情况是,您实际上是在同一本地网络中运行另一个 ElasticSearch 实例(可能是同一台计算机,但肯定具有不同的端口)。

节点将按名称加入集群(在您的情况下为elasticsearch)。

要了解集群的节点,请运行以下查询:

curl -XGET 'http://localhost:9200/_nodes?pretty'

为避免不需要的节点加入集群,请在您的 ElasticSearch 配置文件 (/etc/elasticsearch/elasticsearch.yml) 中选择适当的集群名称;永远不要离开默认值。

在停止恶意节点并更改好节点中的集群名称后,您的集群状态很可能会变为黄色,因为所有恢复分片都将被取消分配。只要您不需要高可用性,这没问题。

【讨论】:

  • 感谢您提供的信息。我运行了您建议的命令,两个节点都在不同端口上的同一台服务器上 - 一个在 9300 上,一个在 9301 "bpxZ0OECQ0GaHfCd0NECRQ" : { "name" : "Lorelei II", "transport_address" : "10.32.224.120:9300", "Z0h3pC_HSzy9l88lhMYWqA" : { "name" : "Goldbug", "transport_address" : "10.32.224.120:9301",
  • 也许您直接从命令行启动了其中一个,而另一个作为服务运行(init.d 或您的操作系统使用的任何内容)。无论如何,您应该停止其中一个并确保它们没有共享配置或数据文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-08-24
  • 2017-04-02
  • 1970-01-01
  • 2014-02-28
  • 1970-01-01
  • 1970-01-01
  • 2022-01-03
相关资源
最近更新 更多