rabbit 集群配置

默认集群配置方法

  • 按顺序安装erlangrabbitmq
  • 安装过程中需要注意,如果rabbitmq检测到和erlang的依赖关系有问题,可先用--nodeps安装上
  • 修改/etc/hosts
    所有节点必须都加入,保证相互之间可以解析到,地址用局域网地址

    172.16.25.172 rabbit1 rabbit1
    172.16.25.171 rabbit2 rabbit2
  • hostname修改

    hostname 主机名
  • /etc/sysconfig/network中的hostname修改
  • /var/lib/rabbitmq/.erlang.cookie
    保证各节点之间的cookie一致,注意权限为400, 用户名和组为rabbitmq:rabbitmq
  • 各节点启动rabbitmq

    rabbitmq-server -detached
  • 查看状态

    rabbitmqctl status
  • rabbit2加入rabbit1
    rabbit2上执行

    rabbitmqctl stop_app
    rabbitmqctl join_cluster --ram rabbit@rabbit1
    rabbitmqctl start_app

    其中--ram是作为内存节点加入,若作为磁盘节点,不加ram即可。
    rabbit1启动时默认是作为磁盘节点。
  • 查看集群状态

    rabbitmqctl cluster_status

镜像集群配置方法

  • 配置策略

    rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'

其他操作

  • 开机启动

    chkconfig --level 35 rabbitmq-server on
  • 安装web管理插件

    rabbitmq-plugins enable rabbitmq_management
  • 增加用户

    rabbitmqctl add_user user_admin passwd_admin
  • 赋予用户权限

    rabbitmqctl set_user_tags user_admin administrator
  • 删除用户

    delete_user
  • 列出用户

    list_users

测试流程

https://github.com/alanxz/rabbitmq-c
编译好rabbitmq-c之后


./amqp_listen localhost 5672 amq.direct test
./amqp_sendstring localhost 5672 amq.direct test "hello world"

所有加入集群的节点,都可以收到第一个节点发送的消息。

你可能感兴趣的:(rabbit 集群配置)