如何在conf/elasticsearch.yml中定义datacenter.group以运行elassandra multi data center?

mepcadol  于 2021-06-13  发布在  Cassandra
关注(0)|答案(1)|浏览(305)

我有2dc

DC1
x.x.x.1 running Elassandra 6.2.3 (seed)
x.x.x.2 running Elassandra 5.5.0 (seed)

DC2
x.x.x.3 running Elassandra 6.2.3 (seed)

实际上,我不想创建一个多数据中心,一开始我在dc1中只有两个节点,但它们无法相互连接,因为允许elassandra之间连接的最低版本是5.6。
阻止我将elassandra从5.5重新安装到6.2的原因是我在这个节点上有一个重要的数据。所以我提出了多数据中心解决方案。
我从strapdata的人那里得到的解决方案是

1.Create a new Cassandra Datacenter DC2 running version 6.2.3, with a dedicated datacenter group (see https://elassandra.readthedocs.io/en/latest/configuration.html#multi-datacenter-configuration)

2. Re-create your indices in DC2, there is few differences in the elasticsearch mapping between version 5.5 and 6.2, so you have to deal with that manually.
If you have a lot of data to re-index, you can stop the single-thread index build with a nodetool stop -id <compaction_id>, and restart it in multi-threads, see https://elassandra.readthedocs.io/en/latest/operations.html?highlight=--num-threads#create-delete-and-rebuild-index

3. Test your application on DC2 (warning, there is breaking changes in the Elasticsearch API when upgrading)

4. Remove old DCs running version 5.5 when everything is ok on DC2.

我在互联网上搜索过,在elasticsearch.yaml中没有提到datacenter.group(http://doc.elassandra.io/en/latest/configuration.html#multi-数据中心配置)
现在我不知道该如何处理datacenter.group one
请帮忙谢谢

hrirmatl

hrirmatl1#

对于可能遇到这个问题的人,
几个小时后,我就知道如何定义datacenter.group了
只需添加 datacenter.group:<your desired name> 在elasticsearch.yml文件的底部。
然后重新启动cassandra服务

systemctl restart cassandra

你可以走了!所有数据将自动传输到新节点。

相关问题