弹性搜索:即时向群集添加节点

时间:2015-11-05 08:07:14

标签: elasticsearch distributed-system

我想设置Elastic-Search集群。由于它是一个分布式系统,我应该能够动态添加更多节点(意思是:在部署一次后添加新节点)。这是如何完成的,Elastic-search如何设法做到这一点?

3 个答案:

答案 0 :(得分:0)

Elasticsearch使用Zen Discovery

处理此问题
  

zen发现是用于elasticsearch的内置发现模块   和默认值。它提供单播发现,但可以扩展到   支持云环境和其他形式的发现。

这是通过elasticsearch.yml配置文件完成的。您有两个选项 - 多播和单播:

  • 多播可让您的新节点连接到您的群集而无需指定IP,但不建议这样做。
  • 单播。您可以指定群集中的节点列表(其IP)。

两种方式,您的已启动节点将尝试ping其他节点,如果它们的群集名称匹配,它将加入它。

配置示例:

cluster.name: elasticsearch_media
node.name: "media-dev"
node.master: true
node.data: true
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["153.32.228.250[9300-9400]", "10.122.234.19[9300-9400]"]

答案 1 :(得分:0)

您所要做的就是编辑新节点上的主配置文件,并将群集名称更改为您当前运行的群集。当然,新节点必须是可发现的。这取决于您的网络设置。

答案 2 :(得分:0)

  • 尝试编写一个脚本,接受有关群集名称和IP地址,身份验证等的命令行参数。
  • 此脚本将打开并修改远程服务器上的elasticsearch.yml文件。