重建rabbitmq

rabbitmq集群必要条件

1.1. 绑定实体ip,即ifconfig所能查询到的绑定到网卡上的ip,以下是绑定方法

#编辑配置路径 /etc/rabbitmq/rabbitmq-env.conf

NODE_IP_ADDRESS=172.16.0.133

1.2. 配置域名映射到实体ip

#配置文件1所在路径 /etc/rabbitmq/rabbitmq.config (如果是集群,每台机器都需要修改这个绑定本机实体ip)

#其中rabbit@master是创建集群时所配置的参数,@后面的参数为主机名,示例中为master

[

{rabbit, [

{cluster_nodes, {['rabbit@master'], disc}},

{cluster_partition_handling, ignore},

{default_user, <<"guest">>},

{default_pass, <<"guest">>},

{tcp_listen_options, [binary,

{packet, raw},

{reuseaddr, true},

{backlog, 128},

{nodelay, true},

{exit_on_close, false},

{keepalive, true}]}

]},

{kernel, [

{inet_dist_listen_max, 44001},

{inet_dist_listen_min, 44001}

]}

].

#配置文件2 所在路径 /etc/hosts (如果是集群,每台机器都需要修改这个绑定本机实体ip,而且hosts文件的映射不得重复,如果重复linux系统为以最下面一条记录为准)

172.16.0.133 master

172.16.0.134 venus

172.16.0.135 venus2

二、启动停止

2.1 停止

#机器A

service rabbitmq stop

epmd -kill

#机器B

service rabbitmq stop

epmd -kill

#机器C

service rabbitmq stop

epmd -kill

2.2 启动

#机器A

service rabbitmq start

#机器B

service rabbitmqstart

#机器C

service rabbitmqstart

三、重建集群

##3.1 使用2.1方法停止所有机器

##3.2 移除rabbitmq配置记录与存储文件

```bash

#位于 /var/lib/rabbitmq/mensia

mv /var/lib/rabbitmq/mensia /var/lib/rabbitmq/mensia.bak

3.3 按2.2方法启动所有机器

3.4 停止被加入集群节点app

比如A、B、C三台机器,将B和C加入到A中去,需要执行以下命令

#机器B

rabbitmqctl stop_app

#机器C

rabbitmqctl stop_app

3.5 建立集群

注意此处master为唯一没有执行rabbitmqctl stop_app的机器

#机器B

rabbitmqctl join_cluster rabbit@master

#机器C

rabbitmqctl join_cluster rabbit@master

3.6 启动集群

#机器B

rabbitmqctl start_app

#机器C

rabbitmqctl start_app

3.7 检查集群状态

在任意一台机器上执行rabbitmqctl cluster_status命令即可检查,输出包含集群中的节点与运行中的节点,兼以主机名标志

添加监控用户:

在A上执行rabbitmqctl add_user user1 123456Abc

rabbitmqctl set_user_tags user1 administrator

rabbitmqctl setPpermissions -p / user1 “.*” “.*” ”.*”

加入自助用户:

rabbitmqctl add_user sip_ext_admin TTyy@2015cxy

rabbitmqctl set_user_tags sip_ext_admin administrator

rabbitmqctl add_vhost sip_ext

rabbitmqctl set_permissions -p sip_ext sip_ext_admin ".*" ".*" ".*"

导入队列

python rabbitmqadmin -q import rabbit.sip.definitions.json

python rabbitmqadmin -q import rabbit.monitor.definitions.json

p版本自助

创建用户给权限:

rabbitmqctl add_user rabbitmqadmin rabbitmqadmin

rabbitmqctl set_permissions -p / rabbitmqadmin '.*' '.*' '.*'

rabbitmqctl set_user_tags rabbitmqadmin administrator

底层:

rabbitmqctl add_user tstack_openstack tstack_openstack

rabbitmqctl set_permissions -p / tstack_openstack '.*' '.*' '.*'

rabbitmqctl set_user_tags tstack_openstack administrator

posted @ 2023-04-25 09:50  XU-NING  阅读(22)  评论(0编辑  收藏  举报