其他分享
首页 > 其他分享> > openstack-rabbitmq

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