Rabbitmq节点名称详解

问题:

        rabbitmq集群加入失败

原因:

        ./rabbitmqctl join_cluster {cluster_node},加入集群命令后跟的是节点名称,而不是集群名称,我的命令里面跟的就是集群名称所以加入失败。查询节点名称可以通过以下命令:

./rabbitmqctl status | grep node

延伸关于节点名称RABBITMQ_NODENAME的生成规则:

        节点名称默认前缀是rabbit,默认是rabbit@后面加上计算机的主机名,可以在同一个主机上运行多个节点,在集群中每个节点必须有一个唯一的RABBITMQ_NODENAME RabbitMQ节点由节点名称标识,节点名称由两部分组成,前缀(通常是rabbit)和主机名,例如:rabbit@rabbit1是一个节点名包含前缀rabbit和主机名rabbit1。在一个集群中节点名称必须是唯一的。如果在给定的主机上运行多个节点(开发和QA环境中通常是这种情况),它们必须使用不同的前缀,例如:rabbit1@hostname和rabbit2@hostname在集群中,节点使用节点名称标识和联系彼此,这意味着必须解析每个节点名的主机名部分。CLI工具也使用节点名称标识和寻址节点。当节点启动时,它会检查是否已为其分配了节点名。这是通过RABBITMQ_NODENAME环境变量配置,如果环境变量没有配置,则节点将解析其主机名并在其前面添加rabbit以计算其节点名。

        具体规则如下:第一种:配置的名字里面加了@,那么 @后面必须要跟你的主机名,否则启动会报错。这种情况启动后的节点名称就和你配置文件里面的名称一致
第二种:配置的名字里面没有@,那么启动后的的节点名称,mq会自动加上@+主机名,节点名称就是--配置名称+@+主机名

如果系统使用完全限定名(FQDNS Fully Qualified Domain Name)作为主机名,RabbitMQ节点和CLI工具必须配置为使用所谓的长节点名称,对于服务器节点,这是通过将RABBITMQ_USE_LONGNAME环境变量设置为true来完成的。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值