配置迁移
本章节介绍如何配置 Ignite 3 集群,以将 Ignite 2 集群的所有组件迁入。
1.配置集群
新的 Ignite 3 集群的配置,应匹配要待迁移的 Ignite 2 集群。
Ignite 2 的集群配置文件是 XML 格式,Ignite 3 使用 HOCON 格式,除了格式不同,版本 2 中的许多配置结构与版本 3 中使用的配置结构也不同。
在 Ignite 3 中,配置文件有一个名为 ignite 的根节点,所有配置项都是该节点的子节点、孙节点等。
提示
在 Ignite 3 中,配置文件可以是 JSON 或 HOCON 格式。
例如:
{
"ignite" : {
"network" : {
"nodeFinder" : {
"netClusterNodes" : ["localhost:3344"]
},
"port" : 3344
},
"storage" : {
"profiles" : [
{
"name" : "persistent",
"engine" : "aipersist"
}
]
},
"nodeAttributes.nodeAttributes" : {
"region" : "US",
"storage" : "SSD"
}
}
}创建所需的 Ignite 3 配置有两个选项:
- 基于 Ignite 2 配置;
- 从头开始。
2.基于Ignite2配置
要根据 Ignite 2 的 XML 格式配置文件创建 Ignite 3 集群和节点的 HOCON 格式配置文件,可以使用迁移工具:
2.1.下载并安装迁移工具
- 下载迁移工具;
- 将下载的压缩包解压;
- 若要浏览可用的命令,请从迁移工具目录中运行以下命令:shell或
bin/migration-tools --helpshell替换bin/migration-tools {command} --help{command}为实际的命令名。
2.2.更新配置
对于简单的配置,该工具就够了。所有支持的属性都将转换为 Ignite 3 格式,并且会收到所有未转换的配置参数的警告。
对于高级的集群配置,建议参见下面的从头开始章节,以避免可能出现的问题。
2.2.1.支持的属性
迁移工具支持以下配置属性:
cacheConfigurationclientConnectorConfigurationcommunicationSpidataStorageConfigurationdiscoverySpisslContextFactory
配置中的其他参数会被忽略。
2.3.转换配置
要转换配置,请执行以下操作:
bin/migration-tools configuration-converter sourceFile targetNodeConfig targetClusterConfig这里:
sourceFile:是 Ignite 2 配置文件;targetNodeConfig:是节点配置文件,此配置将仅应用于单个节点;targetClusterConfig:是集群配置文件,此配置将应用于整个集群。
例如:
bin/migration-tools configuration-converter source.xml target-node.conf target-cluster.conf迁移工具默认会将日志存储在USER_HOME/.ignite-migration-tools/logs文件夹中。或者可以使用IGNITE_MIGRATION_TOOLS_LOGS_DIR环境变量配置日志文件夹路径。
2.4.应用配置
2.4.1.节点配置
可以通过替换etc/ignite-config.conf文件的内容,将转换后的节点配置应用于节点。仅应用修改后的配置,其他的必需参数将采用默认值。默认配置文件仅包含默认值。
2.4.2.集群配置
可以使用命令行工具将新生成的配置应用于集群:
- 启动 Ignite 3 节点,如入门章节所述;
- 初始化集群时:shell
cluster init --name=sampleCluster --config-files=target-cluster.conf
3.从头开始
Ignite 3 配置分为集群、节点和分布区配置。
3.1.节点配置
节点配置存储有关本地运行节点的信息。
3.1.1.存储方案
Ignite 3 存储的配置方式与 Ignite 2 完全不同:
- 首先,需要配置存储引擎属性,其中可能包括页面大小或检查点频率等属性;
- 然后,创建一个存储方案,该配置定义将使用的特定存储参数;
- 然后,使用存储方案创建分布区,该配置可以通过定义跨集群存储数据的位置和方式来进一步对存储进行微调;
- 最后,将每个表分配给分布区,也可以直接分配给存储方案。
注意:
- 表和分布区可以通过代码进行配置,存储方案和引擎必须更新节点配置文件然后重启节点来更新配置;
- 自定义关联函数被分布区取代;
- 外部存储通过缓存存储来实现,其必须使用 SQL 配置。
3.1.2.客户端配置
Ignite 3 只有瘦客户端,使用类似clientConnector的配置,具体请参加Ignite 客户端的相关章节。
3.1.3.退出策略
数据退出是根据存储引擎配置在易失性存储上执行的。
3.1.4.过期策略
现在是通过创建timestamp数据类型的列并使用EXPIRE AT命令来支持过期,过期策略是表级的配置,具体请参见SQL DDL中的相关内容。
3.1.5.网络配置
节点的网络配置现在在节点配置的network配置项中。
3.1.6.REST API 配置
REST API是 Ignite 3 的重要组成部分,可用于多种用途,包括集群和节点配置以及执行 SQL 请求。
可以在节点配置中配置 REST 属性。
3.2.集群配置
集群配置面向集群中的所有节点,它会自动从操作的节点传播到整个集群。
3.2.1.数据加密
透明数据加密是集群的一次性配置。
3.2.2.处理事件
Ignite 3 中简化了事件配置,它分为 2 种配置:
- 事件通道定义收集的内容;
- 事件接收器定义数据的发送位置。
当前版本仅支持log接收器,可以按照事件章节中的说明配置事件。
3.2.3.指标收集
Ignite 3 默认禁用了指标收集。
所有指标都根据其指标源进行分组,并在每个指标源的集群配置中启用。
然后,这些指标将在 Ignite JMX bean 中可用。
有关配置指标的说明,请参见指标配置。
3.2.4.集群安全和授权
集群安全和授权是从头开始完全重写的,无法与 Ignite 2 直接比较,在 Ignite 3 中:
- 如果启用了安全性,则用户需要密码才能登录集群;
- 每个用户都有一个或多个角色;
- 每个角色都指定具有此角色的用户可以执行的权限列表。
所有安全配置都是集群配置的一部分,并在所有节点之间共享,具体请参见身份验证文档。
18624049226
