有时,运行的现有 Vertica 数据库群集的节点需要采用新 IP 地址。群集节点可能还需要基于不同的 IP 协议运行,例如,将协议从广播更改为点对点时。
注意
尽管可以更改群集中主机的 IP 地址,但不能从一个地址族(IPv4 相对于 IPv6)更改为另一个族。例如,假设数据库群集中的主机由 IPv4 网络地址标识,那么,您只能将主机的地址更改为另一个 IPv4 地址,而不能将它们更改为 IPv6 地址。要更改数据库群集中主机的 IP 地址,请使用 re_ip
函数更改 IP 地址并将旧地址映射到新地址:
$ admintools -t re_ip -f mapfile
mapfile 引用您创建的文件,其中包含新旧 IP 地址。
在下列任一情况下,可以使用此函数更改 IP 地址:
-
如果您的 Vertica 数据库群集具有相同的数据和控制消息地址,请执行以下操作之一:
-
更改所有数据库群集节点的 IP 地址。
-
仅更改一个或部分数据库群集节点的 IP 地址。
$ admintools -t re_ip -f mapfile
-
-
将 Vertica 数据库群集的 IP 地址从广播模式更改为点对点(单播)模式:
$ admintools -t re_ip -d dbname -T
-
将 Vertica 数据库群集的 IP 地址从点对点(单播)模式更改为广播模式:
$ admintools -t re_ip -d dbname -U
注意
有关更改通信协议的信息,请参阅使用安装脚本安装 Vertica下的 -U 和 -T 选项。 -
更改数据库群集的控制 IP 地址。在这种情况下,映射文件必须包含控制消息 IP 地址和相关的广播地址。
$ admintools -t re_ip -f mapfile
-
仅更改一个数据库的 IP 地址,而不更改 admintools 配置。请参阅仅映射数据库上的 IP 地址。
注意
仅更改数据库的 IP 地址对错误的恢复很有用。节点名称和 IP 地址必须与 admintools.conf 中的节点信息相同。也可以运行SELECT * from vs_nodes order by name
显示节点信息。
有关上述命令中所用选项的详细信息,请参阅Re-IP 命令行选项。
更改 IP 地址和导出 IP 地址
默认情况下,节点 IP 地址和导出 IP 地址配置为相同的 IP 地址。导出地址是网络上可以访问其他 DBMS 系统的节点的 IP 地址。使用导出地址可以从 DBMS 系统导入和导出数据。您可以使用此处的说明手动更改导出地址。
如果更改导出地址并运行 re-ip 命令,则导出地址保持不变。
示例
运行以下命令:
=> SELECT node_name, node_address, export_address FROM nodes;
node_name | node_address | export_address
------------------------------------------------------
v_VMartDB_node0001 | 192.168.100.101 | 192.168.100.101
v_VMartDB_node0002 | 192.168.100.102 | 192.168.100.101
v_VMartDB_node0003 | 192.168.100.103 | 192.168.100.101
v_VMartDB_node0004 | 192.168.100.104 | 192.168.100.101
(4 rows)
在上面的示例中,export_address 是默认值。在这种情况下,当您运行 re-ip 命令时,export_address 会更改为新的 node_address。
如果您手动将导出地址更改为此处描述的地址,可能会出现以下情况:
=> SELECT node_name, node_address, export_address FROM nodes;
node_name | node_address | export_address
------------------------------------------------------
v_VMartDB_node0001 | 192.168.100.101 | 10.10.10.1
v_VMartDB_node0002 | 192.168.100.102 | 10.10.10.2
v_VMartDB_node0003 | 192.168.100.103 | 10.10.10.3
v_VMartDB_node0004 | 192.168.100.104 | 10.10.10.4
(4 rows)
在这种情况下,当您运行 re-ip 命令时,export_address 不会发生更改。
查找 IP 地址
主机和节点的 IP 地址存储在 opt/vertica/config/admintools.conf
中:
[Cluster]
hosts = 203.0.113.111, 203.0.113.112, 203.0.113.113
[Nodes]
node0001 = 203.0.113.111/home/dbadmin,/home/dbadmin
node0002 = 203.0.113.112/home/dbadmin,/home/dbadmin
node0003 = 203.0.113.113/home/dbadmin,/home/dbadmin
还可以使用以下命令显示 IP 地址列表:
$ admintools -t list_allnodes
Node | Host | State | Version | DB
-----------------+---------------+-------+----------------+-----------
v_vmart_node0001 | 203.0.113.111 | UP | vertica-10.1.1 | VMart
v_vmart_node0002 | 203.0.113.112 | UP | vertica-10.1.1 | VMart
v_vmart_node0003 | 203.0.113.113 | UP | vertica-10.1.1 | VMart