使用映射文件更改 IP 地址

映射新 IP 地址包括:

  • 创建将旧 IP 地址映射到新 IP 地址的映射文件。

  • 使用映射文件更新配置文件和数据库编录。

如果使用控制消息在主机之间进行通信,您可能还需要使用新的 controlAddress 和 controlBroadcast IP 地址更新 IP 地址。

创建映射文件

按如下方式创建映射文件:

  1. 获取新 IP 地址并将它们保存在一个文本文件中。

  2. 获取旧 IP 地址,使用 list_allnodes:

    $ admintools -t list_allnodes
    Node             | Host          | State | Version        | DB
    -----------------+---------------+-------+----------------+-----------
    v_vmart_node0001 | 192.0.2.254   | UP    | vertica-10.1.1 | VMart
    v_vmart_node0002 | 192.0.2.255   | UP    | vertica-10.1.1 | VMart
    v_vmart_node0003 | 192.0.2.256   | UP    | vertica-10.1.1 | VMart
    
  3. 按以下格式将 Host 列的内容复制到新 IP 地址所保存到的文本文件中:

    oldIPaddress newIPaddress
    

    例如:

    192.0.2.254 198.51.100.255
    192.0.2.255 198.51.100.256
    192.0.2.256 198.51.100.257
    
  4. 使用该文本文件创建可用于执行下列任务之一的映射文件:

将 IP 地址从旧 IP 地址更改为新 IP 地址

  1. 创建采用如下格式的映射文件:

    oldIPaddress newIPaddress[, controlAddress, controlBroadcast]
    

    例如:

    192.0.2.254 198.51.100.255, 198.51.100.255, 203.0.113.255
    192.0.2.255 198.51.100.256, 198.51.100.256, 203.0.113.255
    192.0.2.256 198.51.100.257, 198.51.100.257, 203.0.113.255
    

    controlAddresscontrolBroadcast 是可选项。如果省略:

    • controlAddress 将默认为 newIPaddress。

    • controlBroadcast 将默认为 newIPaddress 的广播 IP 地址的主机。

  2. 按如下方式运行 re_ip

    $ admintools -t re_ip -f mapfile
    

将 IP 地址从旧 IP 地址更改为新 IP 地址并更改控制消息模式

  1. 创建采用如下格式的映射文件:

    oldIPaddress newIPaddress, controlAddress, controlBroadcast
    

    例如:

    192.0.2.254 198.51.100.255, 203.0.113.255, 203.0.113.258
    192.0.2.255 198.51.100.256, 203.0.113.256, 203.0.113.258
    192.0.2.256 198.51.100.257, 203.0.113.257, 203.0.113.258
    
  2. 运行 re_ip 并按如下方式更改控制消息传递模式:

    • 将控制消息传递模式更改为点对点:

      $ admintools -t re_ip -d db name -T
      
    • 将控制消息传递模式更改为广播:

      $ admintools -t re_ip -d db name -U
      

      当您使用 -U 选项时,嵌入式消息子系统基于 controlAddresscontrolBroadcast IP 运行。

仅更改数据库的节点控制 IP 地址

  1. 创建采用如下格式的映射文件:

    nodeName nodeIPaddress, controlAddress, controlBroadcast
    

    例如:

    v_vmart_node0001 192.0.2.254, 203.0.113.255, 203.0.113.258
    v_vmart_node0002 192.0.2.255, 203.0.113.256, 203.0.113.258
    v_vmart_node0003 192.0.2.256, 203.0.113.257, 203.0.113.258
    
  2. 按如下方式运行 re_ip

    $ admintools -t re_ip -f mapfile -O -d database
    

有关详细信息,请参阅下面的映射数据库上的 IP 地址

更改 IP 地址

创建映射文件后,可以更改新 IP 地址。更改 IP 地址过程会自动备份 admintools.conf,以便在必要时恢复原始设置。

  1. 停止数据库。

  2. 运行 re-ip 以将旧 IP 地址映射到新 IP 地址:

    $ admintools -t re_ip -f mapfile
    

    如果出现以下情况,则会出现警告:

    • 任何 IP 地址的格式不正确

    • 文件中的旧 IP 地址或新 IP 地址重复 — 例如,192.0.2.256 在旧 IP 地址集中出现了两次。

    如果语法正确,则在开始映射时,re_ip 将执行以下任务:

    • 对映射文件中列出的 IP 地址进行重新映射。

    • 除非使用 -i 选项,否则会提示您确认对数据库的更新。

    • 使用新 IP 地址更新要求的本地配置文件。

    • 将更新后的配置文件分发到使用新 IP 地址的主机。

    使用以下提示跟踪这些步骤:

    Parsing mapfile...
    New settings for Host 192.0.2.254 are:
    
    address: 198.51.100.255
    
    New settings for Host 192.0.2.255 are:
    
    address: 198.51.100.256
    
    New settings for Host 192.0.2.254 are:
    
    address: 198.51.100.257
    
    The following databases would be affected by this tool: Vmart
    
    Checking DB status ...
    Enter "yes" to write new settings or "no" to exit > yes
    Backing up local admintools.conf ...
    Writing new settings to local admintools.conf ...
    
    Writing new settings to the catalogs of database Vmart ...
    The change was applied to all nodes.
    Success. Change committed on a quorum of nodes.
    
    Initiating admintools.conf distribution ...
    Success. Local admintools.conf sent to all hosts in the cluster.
    
  3. 重新启动数据库。

映射数据库上的 IP 地址

您只能映射数据库的 IP 地址。此任务涉及将数据库中的节点名称映射到新 IP 地址。这对于错误恢复很有用,因为 admintools.conf 不会更新。Vertica 仅更新 spread.conf 和包含更改的编录。

还可以仅映射数据库上的 IP 地址,以便在单个数据库上设置 controlAddress 和 controlBroadcast。此任务允许同一主机上的节点拥有不同的数据和 controlAddress。

  1. 停止数据库。

  2. 创建具有如下格式的映射文件:

    nodeName IPaddress, controlAddres, controlBroadcast
    

    例如:

    vertica_node001 192.0.2.254, 203.0.113.255, 203.0.113.258
    vertica_node002 192.0.2.255, 203.0.113.256, 203.0.113.258
    vertica_node003 192.0.2.256, 203.0.113.257, 203.0.113.258
    
  3. 运行以下命令以映射新 IP 地址:

    $ admintools -t re_ip -f mapfile -O -d database
    
  4. 重新启动数据库。