安装
了解如何安装 RDI ingest
本指南介绍如何安装 RDI 并将其与源数据库集成。
在虚拟机上安装 RDI
您通常会在两台虚拟机上安装 RDI 以实现高可用性 (HA),但如果不需要,您也可以只安装一台虚拟机。例如,在开发和测试期间,您可能不需要 HA。
RDI 支持的操作系统版本包括:
- RHEL 8 和 9
- Ubuntu 18.04 和 20.04
您必须以特权用户身份运行 RDI 安装程序,因为它会安装 containerd并注册服务。但是,您不需要任何特殊权限即可运行 RDI 进程以实现正常操作。
RDI 内部使用的K3s Kubernetes 发行版对云虚拟机有一些要求,必须在运行 RDI 安装程序之前实现这些要求,否则安装将失败。以下部分提供了RHEL和 Ubuntu的完整安装前说明。
红帽企业版
firewalld
K3s 建议您在安装前使用以下命令关闭
:
systemctl disable firewalld --now
但是如果确实需要使用firewalld
,则必须添加以下规则:
firewall-cmd --permanent --add-port=6443/tcp #apiserver
firewall-cmd --permanent --zone=trusted --add-source=10.42.0.0/16 #pods
firewall-cmd --permanent --zone=trusted --add-source=10.43.0.0/16 #services
firewall-cmd --reload
如果您的设置需要,您可能还需要打开其他端口。有关更多信息,请参阅 K3s 入站规则 文档。如果您更改了 Pod 或服务的默认 CIDR,则必须相应地更新防火墙规则。
如果已nm-cloud-setup.service
启用,则必须禁用它并使用以下命令重新启动节点:
systemctl disable nm-cloud-setup.service nm-cloud-setup.timer
reboot
有关已使用 Rancher 管理的 K3s 集群测试的操作系统版本的更多信息,请参阅 Rancher 支持和维护条款。
Ubuntu
K3s 建议您在安装之前使用以下命令关闭
简单防火墙( ):ufw
ufw disable
但是如果确实需要使用ufw
,则必须添加以下规则:
ufw allow 6443/tcp #apiserver
ufw allow from 10.42.0.0/16 to any #pods
ufw allow from 10.43.0.0/16 to any #services
如果您的设置需要,您可能还需要打开其他端口。有关更多信息,请参阅 K3s 入站规则 文档。如果您更改了 Pod 或服务的默认 CIDR,则必须相应地更新防火墙规则。
有关已使用 Rancher 管理的 K3s 集群测试的操作系统版本的更多信息,请参阅 Rancher 支持和维护条款。
硬件尺寸
RDI 主要受 CPU 和网络限制。每个 RDI VM 应具有:
- CPU:至少 4 个 CPU 核心。如果您的数据集很大,并且您希望尽快提取基线快照,则应考虑在此基础上添加 2-6 个额外的核心。
- 内存:2GB
- 磁盘:25GB 磁盘(包括操作系统占用空间)
- 10GB 或更多网络接口
安装步骤
对每个虚拟机执行以下步骤:
-
从Redis 下载中心 (模块、工具和集成下拉菜单下)下载 RDI 安装程序,并将其解压到您喜欢的安装文件夹。
-
进入安装文件夹:
cd rdi_install/$RDI_VERSION
-
以特权用户身份运行安装程序:
sudo ./install.sh
RDI 使用 Redis Enterprise 集群上的数据库来存储其状态信息。这需要 Redis Enterprise v6.4 或更高版本。
安装程序将要求您提供集群管理员凭据。如果您希望安装程序为您创建 RDI 数据库,则应提供这些凭据。
如果您不希望安装程序为您创建 RDI 数据库:
- 使用 Redis 控制台创建一个具有 250MB RAM 的数据库,其中有 1 个主数据库和 1 个副本数据库。
- 如果您正在为生产环境部署 RDI,那么请使用密码和 TLS 保护该数据库。
- 为安装提供所需的 RDI 数据库详细信息。
安装完成后,RDI 即可使用。
“静默”安装
您可以使用
安装程序脚本或
redis-di install
带有--file
选项的命令(或更短的版本)来使用来自TOML-f
文件的属性自动为安装程序的问题提供答案
:
./install.sh --file silent.toml
静默安装示例
以下示例显示了典型静默安装配置的属性:
title = "RDI Silent Installer Config"
scaffold = true
deploy_directory = "/opt/rdi/config"
# If you are *not* using an existing RDI database and you want
# the installer to create one then remove the properties in this
# section, apart from :
# - `password`
# - `use_existing_rdi` - set this to `false`
# Also, uncomment the [rdi.cluster] section below.
[rdi.database]
host = "localhost"
port = 12001
username = "username"
password = "password"
use_existing_rdi = true
ssl = true
# Uncomment this section and remove properties from the
# [rdi.database] section as described above if you
# are *not* using an existing RDI database and you want
# the installer to create one.
# [rdi.cluster]
# host = "localhost"
# port = 9443
# username = "username"
# password = "password"
# Uncomment the properties in this section only if the RDI
# database uses TLS/mTLS.
# [rdi.database.certificates]
# ca = "/home/ubuntu/rdi/certs/ca.crt"
# cert = "/home/ubuntu/rdi/certs/client.crt"
# key = "/home/ubuntu/rdi/certs/client.key"
# passphrase = "foobar"
以下部分更详细地描述了这些属性。
静默安装属性
根
财产 | 描述 |
---|---|
title |
用于标识文件的文本。RDI 不使用此文本,因此您可以使用任何您喜欢的文本。 |
high_availability |
您是否要在 RDI 数据库上启用复制(真/假)?仅当您要求安装程序为您创建 RDI 数据库时才应使用此功能。 |
scaffold |
您想在安装期间启用脚手架吗?(是/否) |
db_index |
用于指定脚手架的源数据库类型的整数。选项为 2 (MySQL/MariaDB)、3 (Oracle)、4 (PostgreSQL) 和 5 (SQL Server)。 |
deploy_directory |
您想要存储 RDI 配置的目录的路径。 |
rdi.database
如果要使用现有的 RDI 数据库,请使用本节中的属性。rdi.cluster
如果希望安装程序创建新的 RDI 数据库,请参见下文。但是,如果安装程序创建数据库,您仍应password
在本节中提供并设置use_existing_rdi
为。false
财产 | 描述 |
---|---|
host |
用于存储 RDI 状态的 Redis 数据库的主机名。 |
port |
RDI 数据库的端口。 |
username |
RDI 数据库的用户名。 |
password |
RDI 数据库的密码。 |
use_existing_rdi |
您想使用现有的 RDI 实例 (true) 还是创建新的实例 (false)?如果您启用 SSL(请参阅下面的属性),它将被设置为 true,覆盖您在此处指定的值。 |
ssl |
是否为 RDI 数据库启用了 SSL(真/假)?如果为假,则 RDI 将忽略该部分中的设置rdi.database.certificates 。 |
rdi.cluster
如果您不使用现有的 RDI 数据库并且希望安装程序创建一个,请使用本节中的属性。rdi.database
如果您想使用现有的 RDI 数据库,请参见上文。
财产 | 描述 |
---|---|
host |
用于 RDI 的 Redis 集群的主机名。 |
port |
集群的端口。 |
username |
集群的用户名。 |
password |
集群的密码。 |
rdi.database.certificates
仅当 RDI 数据库需要
TLS或
mTLS时才使用这些属性。您还必须在
部分中ssl
设置为以启用这些属性。true
rdi.database
财产 | 描述 |
---|---|
ca |
CA 证书文件的路径。 |
cert |
客户端证书文件的路径。 |
key |
密钥文件的路径。 |
passphrase |
私钥的密码(字符串)。 |
准备源数据库
您还必须配置源数据库以使用 Debezium 连接器进行 CDC。请参阅 准备源数据库 部分以了解如何执行此操作。
卸载 RDI
如果要删除 RDI 安装,请转到安装文件夹并以特权用户身份运行卸载脚本:
sudo ./uninstall.sh
在您继续之前,脚本将检查您是否确定:
This will uninstall RDI and its dependencies, are you sure? [y, N]
如果您在此处输入除“y”之外的任何内容,脚本将中止,而不会对 RDI 或源数据库进行任何更改。