gpt4 book ai didi

elasticsearch - 如何在具有不同数据的一台服务器上设置多个 Elasticsearch 实例?

转载 作者:行者123 更新时间:2023-12-03 02:28:40 26 4
gpt4 key购买 nike

我们在我的公司使用 Elastic Search 和 Kibana。我想创建第二个 Elasticsearch 实例,该实例在同一台服务器上运行,但在不同的 JVM 中运行 - 我们称它们为 A 和 B。我希望 A 有一个名为 other_logs 的索引,而 B 有一个名为 batch 的索引。我希望能够通过单个 kibana 实例搜索它们,并设置可以读取任一 JVM 上任一索引的仪表板。写入 A 的数据不应写入 B,反之亦然。

原因是我们有一些依赖于 ES 的批处理作业,而 ES 有点不稳定导致批处理作业失败。批处理读取/写入 ES 的数据很少,但应用程序的其余部分写入大量日志并导致不稳定。如果我们无法读取日志,这是一个小问题,但如果批处理失败,则是一个大问题。因此,为了在我们查看 ES 不稳定性时进行短期修复,我想将批处理依赖项移动到一个新的 JVM(ES 实例 B),它应该更小且更稳定。

我假设我需要第二个 ES 实例以不同的集群名称运行,否则数据将被复制。对此进行测试时,我看到了一些异常(exception)情况,因此不确定我是否朝着正确的方向前进。我正在查看“跨集群搜索”,它看起来可能允许我保留一个 kibana 并搜索两个集群,但对 ES 或 Kibana 的经验为零,而且没有太多时间研究这个。

关于如何完成配置有什么建议吗?我走在正确的道路上吗?

最佳答案

我想我至少在我自己的本地测试机上证明了一切。基本上我所做的是创建第二个集群,它可以在同一台机器上运行并具有独立的配置文件。通过更改文件夹,我还可以设置独立的 jvm.options,因为我希望新集群的内存更少。一旦它开始工作,我配置了单个 kibana 实例以了解新集群,然后创建了一个索引模式以便我可以搜索它。此处讨论跨集群搜索,您可以直接在搜索中引用新的“远程”集群: https://www.elastic.co/guide/en/elasticsearch/reference/6.6/modules-remote-clusters.html

端口 9300 是集群上所有节点将用来相互通信的默认端口,因此我将新集群更改为使用 9301。默认情况下,它首先扫描 9300 并抛出异常,然后扫描 9301。所以它在没有硬编码到 9301 的情况下工作,但我不喜欢在日志中看到异常,我想控制使用哪个端口。

为了后代,这里有详细信息:

1).在 elasticsearch 下创建一个复制的配置文件夹到 configB 并编辑 elasticsearch.yml:

  • cluster.name: ClusterB
  • path.data: dataB
  • path.logs: logsB
  • http.端口:9201
  • 运输.港口:9301

2).由于在 Windows 上进行测试,我将 elasticsearch.bat 复制到 elasticsearchB.bat 并将其添加到顶部(linux 有一些不同的方法来传递配置目录)。这允许新的批处理文件使用自己的配置目录,而 ES 的所有其他文件夹保持不变(因此升级 ES 将升级两个实例):

  • SET ES_PATH_CONF=..\configB

3).使用 elasticsearch.bat 和 elasticsearch2.bat 启动 Elasticsearch 的两个实例

4).启动 kibana 的单个实例,默认指向 9200

5).在 kibana 中,通过在开发工具中运行以下命令来修改集群设置:

PUT _cluster/settings
{
"persistent": {
"cluster": {
"remote": {
"CluserB": {
"seeds": [
"127.0.0.1:9301"
]
}
}
}
}
}

4).在新的 ES 集群中创建数据 (PUT/batch/_doc/1 {...} )

5).在 kibana 中创建一个新的索引模式并像这样引用远程集群和索引 ClusterB:batch

6).使用新的远程索引模式创建仪表板

关于elasticsearch - 如何在具有不同数据的一台服务器上设置多个 Elasticsearch 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60491384/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com