HP Vertica - 无法从不同群集进行连接和复制

时间:2016-10-28 16:08:48

标签: networking vertica

我正在尝试迁移Vertica群集。

connect语句成功:

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连接都很好。

我尝试过各种选择:

  • 如果不允许不匹配,请使用相同的目录和数据路径
  • 使用相同的数据库名称和不同的数据库名称 - 没有区别

这两个群集每个都有6台机器,每个群集都很健康,所有节点都处于启动状态并且响应迅速。

关于我还能尝试什么的任何建议?

1 个答案:

答案 0 :(得分:1)

问题是其中一个群集已设置为与私有子网不同的子网上的EXPORT。

做netcat,我发现:

  • 我的新群集正在向旧群集发送正确的私有节点IP
  • 旧群集正在响应它的节点公共IP,即使"从节点中选择*;"正在返回私人IP

从此我跑了:

select * from vs_subnets;
select database_name, export_subnet from databases;

事实证明有人(很久以前)已经将旧群集配置为使用公有子网。

您可以通过运行以下来恢复此操作:

ALTER DATABASE <my-db-name> EXPORT ON DEFAULT;

这使数据库返回其常规子网。