默认情况下,RabbitMQ 使用 vRealize Automation 设备的短主机名,而这可能会阻止节点互相解析。
问题
尝试将其他 vRealize Automation 设备加入群集时,会出现类似于以下内容的错误。
Clustering node 'rabbit@sc2-rdops-vm01-dhcp-62-2' with rabbit@company ... Error: unable to connect to nodes [rabbit@company]: nodedown DIAGNOSTICS =========== attempted to contact: [rabbit@company] rabbit@company: * unable to connect to epmd (port 4369) on company: nxdomain (non-existing domain) current node details: - node name: 'rabbitmq-cli-11@sc2-rdops-vm01-dhcp-62-2' - home dir: /var/lib/rabbitmq - cookie hash: 4+kP1tKnxGYaGjrPL2C8bQ== [2017-09-01 14:58:04] [root] [INFO] RabbitMQ join failed with exit code: 69, see RabbitMQ logs for details.
原因
您的网络配置不允许 vRealize Automation 设备通过短主机名互相解析。
解决方案
- 对于部署中的所有 vRealize Automation 设备,请以 root 用户身份登录到控制台会话。
- 停止 RabbitMQ 服务。
service rabbitmq-server stop
- 在文本编辑器中打开以下文件。
/etc/rabbitmq/rabbitmq-env.conf
- 将以下属性设置为 true。
USE_LONGNAME=true
- 保存并关闭 rabbitmq-env.conf。
- 重置 RabbitMQ。
vcac-vami rabbitmq-cluster-config reset-rabbitmq-node
- 仅在一个 vRealize Automation 设备节点上运行以下脚本。
vcac-config cluster-config-ping-nodes --services rabbitmq-server
- 在所有节点上,确认 RabbitMQ 服务已启动。
vcac-vami rabbitmq-cluster-config get-rabbitmq-status