HP Vertica - 无法从不同的集群连接和复制
HP Vertica - cannot connect and copy from different cluster
我正在尝试迁移 Vertica 集群。
连接语句成功:
CONNECT TO VERTICA mydb USER myuser PASSWORD '' on 'private-ip',5433;
副本没有:
COPY otherdb.whatever FROM VERTICA mydb.table.whatever;
ERROR 4534: Receive on v_otherdb_node0002: Message receipt from v_otherdb_node0005 failed [canceled]
ROLLBACK 4236: One or more nodes did not open a data connection to this node. This may indicate a network configuration problem. Check that the private interfaces used for communication among the cluster hosts reside in the same subnet and are returned first by host address lookup
两个集群上的 /etc/hosts 都已正确配置,因此 hostname
映射到所有机器上的 private-ip
。 Telnet、ping、netcat 连接都很好。
我尝试了多种选择:
- 在不允许不匹配的情况下使用相同的目录和数据路径
- 使用相同的数据库名称和不同的数据库名称 - 没有区别
2 个集群各有 6 台机器,每个集群都很健康,所有节点都已启动并响应。
关于我还可以尝试什么的任何建议?
问题是其中一个集群已设置为在与私有子网不同的子网上导出。
做netcat,发现:
- 我的新集群正在向旧集群发送正确的私有节点 IP
- 尽管 "select * from nodes;" 正在返回私有 IP,但旧集群正在使用其节点 public IP 进行响应
由此我运行:
select * from vs_subnets;
select database_name, export_subnet from databases;
原来有人(很久以前)将旧集群配置为使用 public 子网。
您可以通过 运行 恢复:
ALTER DATABASE <my-db-name> EXPORT ON DEFAULT;
这会使数据库返回到其常规子网。
我正在尝试迁移 Vertica 集群。
连接语句成功:
CONNECT TO VERTICA mydb USER myuser PASSWORD '' on 'private-ip',5433;
副本没有:
COPY otherdb.whatever FROM VERTICA mydb.table.whatever;
ERROR 4534: Receive on v_otherdb_node0002: Message receipt from v_otherdb_node0005 failed [canceled]
ROLLBACK 4236: One or more nodes did not open a data connection to this node. This may indicate a network configuration problem. Check that the private interfaces used for communication among the cluster hosts reside in the same subnet and are returned first by host address lookup
两个集群上的 /etc/hosts 都已正确配置,因此 hostname
映射到所有机器上的 private-ip
。 Telnet、ping、netcat 连接都很好。
我尝试了多种选择:
- 在不允许不匹配的情况下使用相同的目录和数据路径
- 使用相同的数据库名称和不同的数据库名称 - 没有区别
2 个集群各有 6 台机器,每个集群都很健康,所有节点都已启动并响应。
关于我还可以尝试什么的任何建议?
问题是其中一个集群已设置为在与私有子网不同的子网上导出。
做netcat,发现:
- 我的新集群正在向旧集群发送正确的私有节点 IP
- 尽管 "select * from nodes;" 正在返回私有 IP,但旧集群正在使用其节点 public IP 进行响应
由此我运行:
select * from vs_subnets;
select database_name, export_subnet from databases;
原来有人(很久以前)将旧集群配置为使用 public 子网。
您可以通过 运行 恢复:
ALTER DATABASE <my-db-name> EXPORT ON DEFAULT;
这会使数据库返回到其常规子网。