Skip to content

从Apache Ignite 2 迁移

本章节介绍从Apache Ignite 2 到 Apache Ignite 3 的迁移方法。

1.配置迁移

新创建集群的配置,需要匹配要迁移的 Apache Ignite 2 集群的配置。

Ignite 2 中的集群配置是 XML 格式,而在 Apache Ignite 3 中配置是 HOCON 格式。此外版本 3 中的许多配置结构与版本 2 中的配置结构也是不同的。

在 Ignite 3 中,配置文件有一个名为ignite的根“节点”,所有配置项都是该节点的子项、孙项等。

提示

在 Ignite 3 中,配置文件可以是 JSON 或 HOCON 格式。

例如:

json
{
    "ignite" : {
        "network" : {
            "nodeFinder" : {
                "netClusterNodes" : ["localhost:3344"]
            },
            "port" : 3344
        },
        "storage" : {
            "profiles" : [
                {
                    "name" : "persistent",
                    "engine" : "aipersist"
                }
            ]
        },
        "nodeAttributes.nodeAttributes" : {
            "region" : "US",
            "storage" : "SSD"
        }
    }
}

迁移环境时,Ignite 3 配置在集群、节点和分布区配置之间拆分。

1.1.节点配置

节点配置存储有关本地运行的节点的信息。

1.1.1.存储配置

Ignite 3 存储的配置方式与 Ignite 2 完全不同。

  • 首先需要配置存储引擎,其中可能包括页面大小或检查点频率等参数;
  • 然后需要配置存储,该配置会定义将要使用的存储;
  • 然后需要使用存储配置创建一个分布区,该分布区可以通过定义在集群范围存储数据的位置和方式来对存储做进一步微调;
  • 最后,每个表都会分配分布区,也可以直接分配存储配置。

注意

  • 只有表和分布区能通过代码动态配置,存储配置和引擎配置的调整必须更新节点配置然后重启节点;
  • 自定义关联函数被分布区替代;
  • 外部存储通过缓存存储实现,需要使用 SQL 进行配置。

1.1.2.客户端配置

Ignite 3 只有瘦客户端,使用类似clientConnector的配置。具体请参加Ignite 客户端的相关章节。

1.1.3.网络配置

节点的网络配置现在在节点配置network配置项中。

1.1.4.REST API配置

REST API是 Ignite 3 的重要组成部分,可用于多种用途,包括集群和节点配置以及运行 SQL 请求。

可以在节点配置中配置 REST 的参数。

1.2.集群配置

集群配置适用于集群中的所有节点,它会从执行操作的节点自动传播到整个集群中。

1.2.1.处理事件

事件配置在 Ignite 3 中得到了简化,它分为 2 种配置:

  • 事件通道定义收集的数据。
  • 事件接收器定义数据的发送位置。

在当前版本中,仅支持log类型的接收器,事件的配置具体请参见事件中相关章节的内容。

1.2.2.指标收集

Ignite 3 的指标收集默认是禁用的。所有指标都根据其指标源进行分组,并在每个指标源的集群配置中启用,然后这些指标将在 Ignite JMX bean 中提供。具体请参见指标配置相关章节的内容。

2.代码迁移

为 Apache Ignite 2 编写的代码不能直接复用,但是因为大多数概念仍然相似,因此代码迁移不应花费太多时间。

18624049226