映射新 IP 地址

有时,运行的现有 Vertica 数据库群集的节点需要采用新 IP 地址。群集节点可能还需要基于不同的 IP 协议运行,例如,将协议从广播更改为点对点时。

要更改数据库群集中主机的 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
    
  • 更改数据库群集的控制 IP 地址。在这种情况下,映射文件必须包含控制消息 IP 地址和相关的广播地址。

    $ admintools -t re_ip -f mapfile
    
  • 仅更改一个数据库的 IP 地址,而不更改 admintools 配置。请参阅仅映射数据库上的 IP 地址

有关上述命令中所用选项的详细信息,请参阅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