openstack-rabbitmq
作者:互联网
搭建rabbitmq服务
1.准备3台服务器,同步好时钟、关闭selinux和防火墙,配置/etc/hosts文件
2.安装epel-release、erlang、rabbitmq-server
[root@mon01 ~]# rpm -ivh https://mirrors.aliyun.com/ceph/rpm-mimic/el7/noarch/ceph-release-1-1.el7.noarch.rpm
[root@mon01 ~]# yum install -y erlang rabbitmq-server.noarch
3.启动服务,并设置开机启动
[root@mon01 ~]# systemctl enable rabbitmq-server
[root@mon01 ~]# systemctl start rabbitmq-server
4.配置文件/etc/rabbitmq/rabbitmq.config
5.查看集群的状态
[root@mon01 ~]# rabbitmqctl cluster_status
6.配置集群
编辑rabbitmq的配置文件
[root@mon01 ~]# vim /etc/rabbitmq/rabbitmq-env.conf #内容如下
RABBITMQ_NODE_PORT=5672
ulimit -S -n 4096
RABBITMQ_NODE_IP_ADDRESS=192.168.43.120
[root@mon01 ~]# scp /etc/rabbitmq/rabbitmq-env.conf mon02:/etc/rabbitmq/ #在mon02上修改为本机的ip
[root@mon01 ~]# scp /etc/rabbitmq/rabbitmq-env.conf mon03:/etc/rabbitmq/ #在mon03上修改为本机的ip
[root@mon01 ~]# scp /var/lib/rabbitmq/.erlang.cookie mon02:/var/lib/rabbitmq/.erlang.cookie
[root@mon01 ~]# scp /var/lib/rabbitmq/.erlang.cookie mon03:/var/lib/rabbitmq/.erlang.cookie
[root@mon02 ~]# systemctl restart rabbitmq-server
[root@mon02 ~]# rabbitmqctl stop_app
[root@mon02 ~]# rabbitmqctl join_cluster --ram rabbit@mon01 #该集群名称可以在mon01上执行rabbitmqctl cluster_status查看
[root@mon02 ~]# rabbitmqctl start_app
mon03同上mon02操作,加入集群
查看rabbitmq的功能插件
[root@mon01 ~]# rabbitmq-plugins list
开启rabbitmq的图像化界面,重启rabbitmq-server服务
[root@mon01 ~]# rabbitmq-plugins enable rabbitmq_management
[root@mon01 ~]# service rabbitmq-server restart
修改rabbitmq的guest的密码
[root@mon01 ~]# rabbitmqctl change_password guest admin
创建一个普通用户openstack
[root@mon01 ~]# rabbitmqctl add_user openstack admin
将openstack设置为管理员权限
[root@mon01 ~]# rabbitmqctl set_user_tags openstack administrator
设置openstack的用户的权限
[root@mon01 ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*"
删除一个rabbitmq节点
[root@mon02 ~]# rabbitmqctl stop_app
[root@mon01 ~]# rabbitmqctl forget_cluster_node rabbit@mon02
或者
[root@mon02 ~]# rabbitmqctl stop_app
[root@mon02 ~]# rabbitmqctl reset
[root@mon02 ~]# rabbitmqctl start_app
将剔除的节点加回集群内
[root@mon02 ~]# mv /var/lib/rabbitmq/mnesia/rabbit\@mon02 /tmp/
[root@mon02 ~]# systemctl restart rabbitmq-server
[root@mon02 ~]# rabbitmqctl stop_app
[root@mon02 ~]# rabbitmqctl join_cluster --ram rabbit@mon01
[root@mon02 ~]# rabbitmqctl start_app
更改集群节点的类型
[root@mon02 ~]# rabbitmqctl stop_app
[root@mon02 ~]# rabbitmqctl change_cluster_node_type disc
[root@mon02 ~]# rabbitmqctl start_app
7.注意事项
7.1保证集群中至少有一个磁盘类型的节点,以防数据丢失,在更改节点数据类型的时候特别需要注意
7.2若整个集群被停掉了,应保证最后一个down掉的节点被最先启动,若不能则要使用forget_cluster_node
命令将其移出集群
7.3若集群中节点几乎同时以不可控的方式down了,此时在某一个节点使用force_boot命令重启节点
标签:mon02,mon01,app,rabbitmq,rabbitmqctl,openstack,root 来源: https://www.cnblogs.com/jingsshao/p/16524423.html