1

我想将数据从 ES (1.0.0) 迁移到 Crate (当前可用版本 0.26.0) 以检查它,我该怎么做?我应该如何处理索引,ES索引是否适合Crate?

人们可能会想到几种流程:

  1. 平滑过渡,例如当我使用 ES + Crate 节点进行混合集群时,至少有一个副本,然后一一杀死 ES 节点。
  2. 我们正在通过“elasticsearch-cloud-aws”插件进行备份,是否可以“恢复”这些快照,但是有 Crate 节点而不是原生 ES 节点?

任何其他变体可以传输大量数据,比如 1TB?

谢谢。

4

1 回答 1

2

Crate 从 0.24.0 开始使用 ES 1.0.1,因此 lucene 索引是兼容的。

这意味着您描述的“平滑过渡”流程应该可以工作。(但我实际上并没有尝试过)。

但只要集群中有非 crate 节点,crate 上的 SQL 查询就不会工作,因为常规 ES 节点不知道如何处理请求。

您可能应该注意的其他一些事情可能会导致麻烦:

Crate 在 0.25.0 中引入了显式数组类型。这意味着如果您使用例如create table test (id integer ...)id 字段创建一个新表,将使用前一段时间添加到 lucene 的新 doc_values 字段格式。如果你想使用数组,你必须使用 SQL 创建表(类型定义如array(integer))。

如果您尝试查询使用 elasticsearch 插入的数据,如果字段包含数组但缺少架构定义中的声明,您可能会得到奇怪的结果甚至遇到错误。

希望这个对你有帮助。不幸的是,我无法为您提供有关 elasticsearch-cloud-aws 插件的答案,但也许其他人可以。

于 2014-03-07T10:53:29.173 回答