• Openstack(六)RabbitMQ集群


    各组件通过消息发送与接收是实现组件之间的通信:

    6.1安装RabbitMQ

    6.1.1安装RabbitMQ

    # yum install rabbitmq-server –y

    # systemctl start rabbitmq-server.service

    6.1.2 添加rabbitMQ 客户端用户并设置密码:

    # rabbitmqctl add_user openstack 123456

    6.1.3赋予openstack用户读写权限:

    #  rabbitmqctl set_permissions openstack ".*" ".*" ".*"

    # rabbitmqctl set_user_tags user_admin administrator

    6.1.4rabbitMQ的web插件安装:

    #  rabbitmq-plugins  enable rabbitmq_management

    #  rabbitmq-plugins  list #查看插件

    6.1.5访问rabbitMQ的web界面:

    默认用户名密码都是guest,可以更改,web访问端口为15672:

     

     

    6.2配置RabbitMQ集群:

    6.2.1RabbitMQ集群原理:

    Rabbitmq的集群是依赖于erlang的集群来工作的,所以必须先构建起erlang的集群环境。而Erlang的集群中各节点是通过一个magic cookie来实现的,这个cookie存放在 /var/lib/rabbitmq/.erlang.cookie 中,文件是400的权限。所以必须保证各节点cookie保持一致,否则节点之间就无法通信。

    6.2.2配置RabbitMQ集群

    6.2.2.1复制.erlang.cookie文件

    # scp /var/lib/rabbitmq/.erlang.cookie  192.168.10.202:/var/lib/rabbitmq/.erlang.cookie

    6.2.2.2使用detached独立运行

    各服务器停止所有节点RabbitMq服务,然后使用detached参数以节点方式独立运行

    # systemctl  stop  rabbitmq-server

    # rabbitmq-server –detached

    6.2.2.3查看各个集群状态:

    # rabbitmqctl  cluster_status

    Cluster status of node 'rabbit@linux-host1'

    6.2.2.4添加节点

    在要加入集群的节点操作

    # rabbitmqctl  stop_app #停止应程序

    # rabbitmqctl   reset #清空元数据

    # rabbitmqctl  join_cluster rabbit@linux-host2 --ram #将rabbitmq-server1添加到集群当中,并成为内存节点,不加--ram默认是磁盘节点

    # rabbitmqctl  start_app #不要忘记启动应用程序

    6.2.2.5验证集群

    # rabbitmqctl   cluster_status

    Cluster status of node 'rabbit@rabbitmq-server1' ...

    [{nodes,[{disc,['rabbit@linux-host1']}, #默认是磁盘节点

             {ram,['rabbit@linux-host2']}]}]  #内存节点

    ...done.

    # rabbitmqctl   cluster_status #添加之后的集群状态

    Cluster status of node 'rabbit@linux-host2' ...

    [{nodes,[{disc,['rabbit@linux-host1']}, #默认的是磁盘节点

             {ram,['rabbit@linux-host2']}]}]  #自己被添加为内存节点

    ...done.

    6、更改为镜像模式:

    # rabbitmqctl set_policy  ha-all "#"  '{"ha-mode":"all"}' #"#"为任意0个或多个即为所有,也可以使用"^test"匹配开头,还可以使用其他正则匹配

    Setting policy "ha-all" for pattern "#" to "{"ha-mode":"all"}" with priority "0" ...

    ...done.

    6.3验证

    访问web界面:默认用户名为guest密码为guest

  • 相关阅读:
    scala之旅-核心语言特性【多参数列表(柯里化)】(十二)
    scala之旅-核心语言特性【嵌套函数】(十一)
    集合+队列+锁
    JVM + GC 一遍过
    java agent测试
    actuator
    大话设计模式
    leetcode刷题之mysql精彩集锦
    Redis怎么保证与Mysql缓存一致性
    springcloud
  • 原文地址:https://www.cnblogs.com/wangshuyang/p/8623805.html
Copyright © 2020-2023  润新知