1. 导入导出数据
Vertica 使用 COPY FROM VERTICA 语句和 EXPORT TO VERTICA 语句通过专用网络将数据从一个 Vertica 集群导入和导出到另一个 Vertica 集群。默认情况下,Vertica 集群使用专用网络导入和导出数据。
要使用公共网络,您必须通过更改导出地址来配置系统。每个服务器只能有一个网络配置。您必须通过以下方式将系统配置为使用公共网络:
- 识别公共网络上节点或集群的 IP 地址。
- 配置数据库或单个节点以进行导入/导出。
2. 网络 IP 地址
Vertica 集群主机使用两个网络 IP 地址:
- 用于集群主机之间通信的私有地址。私有网络(例如集群互连)专门用于集群内部通信。此网络必须是集群中的同一子网。私有网络接口的 IP 地址必须静态分配。不应允许任何外部流量通过私有集群网络。
- 用于客户端连接通信的公共 IP 地址。公共网络用于数据库客户端或应用程序连接。Vertica 对公共网络配置没有严格要求,但我们建议您为公共网络接口分配静态 IP 地址。
使用私有地址和公共地址来隔离流量。
3. 节点地址和导出地址(Export Address)
每个节点都有一个节点地址和一个导出地址:
- 节点地址是节点在私有网络上的主机地址。它是 Vertica 的内部数据库地址。
- 导出地址是节点在公共网络上的 IP 地址。它用于导入/导出。
默认情况下,节点地址和导出地址是相同的。
4. 是否需要修改导出地址(Export Address)?
要将数据从一个 Vertica 集群导入和导出到另一个 Vertica 集群,您可能需要更改导出地址。
更改导出地址允许两个 Vertica 集群使用公网 IP 地址交换数据。
此表说明了何时应将导出地址更改为公网地址。
Change the Export Address? | |
---|---|
Clusters in Same Subnet | No, if you want to connect one Vertica cluster with another cluster. |
Clusters in Different Subnets | Yes, if you want to connect one Vertica cluster with another cluster. |
Clusters in Different Subnets | No, if you do not want to connect one Vertica cluster with another cluster. |
5. 配置系统以使用公共网络
要使用公共网络在 Vertica 数据库之间导入和导出数据,您必须将系统配置为使用公共网络。Vertica 必须知道公共网络上集群节点的 IP 地址,才能导入和导出数据。系统使用以下配置之一定义您的网络 IP 地址:
- 同一子网上的公共网络和专用网络 IP 地址。
- 不同子网上的公共网络和专用网络 IP 地址。
在下图中,客户端使用公共网络连接到 Vertica 数据库。Vertica 节点使用专用网络相互通信。公共网络和专用网络位于 Vertica 集群的不同子网上。
1. 导入导出数据
Vertica 使用 COPY FROM VERTICA 语句和 EXPORT TO VERTICA 语句通过专用网络将数据从一个 Vertica 集群导入和导出到另一个 Vertica 集群。默认情况下,Vertica 集群使用专用网络导入和导出数据。
要使用公共网络,您必须通过更改导出地址来配置系统。每个服务器只能有一个网络配置。您必须通过以下方式将系统配置为使用公共网络:
- 识别公共网络上节点或集群的 IP 地址。
- 配置数据库或单个节点以进行导入/导出。
2. 网络 IP 地址
Vertica 集群主机使用两个网络 IP 地址:
- 用于集群主机之间通信的私有地址。私有网络(例如集群互连)专门用于集群内部通信。此网络必须是集群中的同一子网。私有网络接口的 IP 地址必须静态分配。不应允许任何外部流量通过私有集群网络。
- 用于客户端连接通信的公共 IP 地址。公共网络用于数据库客户端或应用程序连接。Vertica 对公共网络配置没有严格要求,但我们建议您为公共网络接口分配静态 IP 地址。
使用私有地址和公共地址来隔离流量。
3. 节点地址和导出地址(Export Address)
每个节点都有一个节点地址和一个导出地址:
- 节点地址是节点在私有网络上的主机地址。它是 Vertica 的内部数据库地址。
- 导出地址是节点在公共网络上的 IP 地址。它用于导入/导出。
默认情况下,节点地址和导出地址是相同的。
4. 是否需要修改导出地址(Export Address)?
要将数据从一个 Vertica 集群导入和导出到另一个 Vertica 集群,您可能需要更改导出地址。
更改导出地址允许两个 Vertica 集群使用公网 IP 地址交换数据。
此表说明了何时应将导出地址更改为公网地址。
Change the Export Address? | |
---|---|
Clusters in Same Subnet | No, if you want to connect one Vertica cluster with another cluster. |
Clusters in Different Subnets | Yes, if you want to connect one Vertica cluster with another cluster. |
Clusters in Different Subnets | No, if you do not want to connect one Vertica cluster with another cluster. |
5. 配置系统以使用公共网络
要使用公共网络在 Vertica 数据库之间导入和导出数据,您必须将系统配置为使用公共网络。Vertica 必须知道公共网络上集群节点的 IP 地址,才能导入和导出数据。系统使用以下配置之一定义您的网络 IP 地址:
- 同一子网上的公共网络和专用网络 IP 地址。
- 不同子网上的公共网络和专用网络 IP 地址。
在下图中,客户端使用公共网络连接到 Vertica 数据库。Vertica 节点使用专用网络相互通信。公共网络和专用网络位于 Vertica 集群的不同子网上。
6. 节点地址和 Export 地址是否相同?
默认情况下,节点地址和导出地址相同。在下一个示例中,节点地址和导出地址相同。如果要在不同网络子网的集群之间导入和导出数据,则必须更改导出地址。
=> 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.102
v_VMartDB_node0003 | 192.168.100.103 | 192.168.100.103
v_VMartDB_node0004 | 192.168.100.104 | 192.168.100.104
(4 rows)
复制
7. 怎么修改Export Address?
要更改导出地址,请按照以下步骤操作:
- 创建一个子网,用于在 Vertica 集群之间导入和导出数据。CREATE SUBNET 语句标识位于同一子网上的公共网络 IP 地址。
=> CREATE SUBNET kv_subnet with '10.10.10.0';
复制
- 改变数据库以指定用于导入/导出的公共网络的子网名称。
=> ALTER DATABASE VMartDB EXPORT ON kv_subnet;
复制
- 创建网络接口,用于将数据从各个节点导入和导出到其他 Vertica 集群。CREATE NETWORK INTERFACE 语句标识位于多个子网上的公共网络 IP 地址。
=> CREATE NETWORK INTERFACE kv_node1 on v_VMartDB_node0001 with '10.10.10.1';
=> CREATE NETWORK INTERFACE kv_node2 on v_VMartDB_node0002 with '10.10.10.2';
=> CREATE NETWORK INTERFACE kv_node3 on v_VMartDB_node0003 with '10.10.10.3';
=> CREATE NETWORK INTERFACE kv_node4 on v_VMartDB_node0004 with '10.10.10.4';
复制
对于使用 Amazon Web Services (AWS) 或网络地址转换 (NAT) 的用户,请参阅 Amazon Web Services 上的 Vertica。
- 修改节点设置以更改导出地址。与 EXPORT ON 子句一起使用时,ALTER NODE 指定各个节点上用于导入和导出数据的公共网络的网络接口。
=> ALTER NODE v_VMartDB_node0001 export on kv_node1;
=> ALTER NODE v_VMartDB_node0002 export on kv_node2;
=> ALTER NODE v_VMartDB_node0003 export on kv_node3;
=> ALTER NODE v_VMartDB_node0004 export on kv_node4;
复制
- 验证Vertica集群不同网络子网上的节点地址和导出地址是否不同。
=> 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
复制
请注意,创建网络接口并更改节点设置以更改导出地址优先于创建子网并更改用于导入/导出的数据库。
有关数据库网络设置的更多信息,请参阅 Vertica 文档中的 将公共网络标识为 Vertica。
6. 节点地址和 Export 地址是否相同?
默认情况下,节点地址和导出地址相同。在下一个示例中,节点地址和导出地址相同。如果要在不同网络子网的集群之间导入和导出数据,则必须更改导出地址。
=> 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.102
v_VMartDB_node0003 | 192.168.100.103 | 192.168.100.103
v_VMartDB_node0004 | 192.168.100.104 | 192.168.100.104
(4 rows)
复制
7. 怎么修改Export Address?
要更改导出地址,请按照以下步骤操作:
- 创建一个子网,用于在 Vertica 集群之间导入和导出数据。CREATE SUBNET 语句标识位于同一子网上的公共网络 IP 地址。
=> CREATE SUBNET kv_subnet with '10.10.10.0';
复制
- 改变数据库以指定用于导入/导出的公共网络的子网名称。
=> ALTER DATABASE VMartDB EXPORT ON kv_subnet;
复制
- 创建网络接口,用于将数据从各个节点导入和导出到其他 Vertica 集群。CREATE NETWORK INTERFACE 语句标识位于多个子网上的公共网络 IP 地址。
=> CREATE NETWORK INTERFACE kv_node1 on v_VMartDB_node0001 with '10.10.10.1';
=> CREATE NETWORK INTERFACE kv_node2 on v_VMartDB_node0002 with '10.10.10.2';
=> CREATE NETWORK INTERFACE kv_node3 on v_VMartDB_node0003 with '10.10.10.3';
=> CREATE NETWORK INTERFACE kv_node4 on v_VMartDB_node0004 with '10.10.10.4';
复制
对于使用 Amazon Web Services (AWS) 或网络地址转换 (NAT) 的用户,请参阅 Amazon Web Services 上的 Vertica。
- 修改节点设置以更改导出地址。与 EXPORT ON 子句一起使用时,ALTER NODE 指定各个节点上用于导入和导出数据的公共网络的网络接口。
=> ALTER NODE v_VMartDB_node0001 export on kv_node1;
=> ALTER NODE v_VMartDB_node0002 export on kv_node2;
=> ALTER NODE v_VMartDB_node0003 export on kv_node3;
=> ALTER NODE v_VMartDB_node0004 export on kv_node4;
复制
- 验证Vertica集群不同网络子网上的节点地址和导出地址是否不同。
=> 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
复制
请注意,创建网络接口并更改节点设置以更改导出地址优先于创建子网并更改用于导入/导出的数据库。
有关数据库网络设置的更多信息,请参阅 Vertica 文档中的 将公共网络标识为 Vertica。