安装

  1. rabbitmq 依赖 erlang , 所以需要先安装 erlang.
    rabbitmq 3.6 版本以上 依赖 erlang-n18...等以上, 所以目前尽量使用3.5之前版本, 只需 erlang-n14...

  2. 安装wget(如果未安装)
    yum -y install wget

  3. 安装Erlang
    wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
    rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
    yum install erlang

  4. 安装rabbitmq
    1) wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.5.3/rabbitmq-server-3.5.3-1.noarch.rpm

    2) 执行 yum install -y rabbitmq-server-3.5.3-1.noarch.rpm (在文件所在目录)

  5. 创建配置文件
    1) vim /etc/rabbitmq/rabbitmq-env.config。 增加内容NODENAME=rabbit@rabbit1

  1. 启动和关闭服务
    1) /etc/init.d/rabbitmq-server start/stop/restart
    2) service rabbitmq-server start/stop/restart

  2. 安装management插件
    1) rabbitmq-plugins enable rabbitmq_management (需要重启)

  3. 用户管理
    1) 由于默认 guest 用户只能在 localhost 下登陆,所以需要创建用户
    2) rabbitmqctl list_users (查看所以用户)
    3) rabbitmqctl add_user username1 password1 (创建用户,设置用户名和密码)
    4) rabbitmqctl set_user_tags username1 administrator (设置用户角色 administrator , monitoring, management)
    5) 用户权限
    用户权限指的是用户对exchange,queue的操作权限,包括配置权限,读写权限。配置权限会影响到exchange,queue的声明和删除。读写权限影响到从queue里取消息,向exchange发送消息以及queue和exchange的绑定(bind)操作。

    例如: 将queue绑定到某exchange上,需要具有queue的可写权限,以及exchange的可读权限;向exchange发送消息需要具有exchange的可写权限;从queue里取数据需要具有queue的可读权限。详细请参考官方文档中"How permissions work"部分。 相关命令为:

    (1) 新建 VHost

    rabbitmqctl add_vhost vbam

    (2) 设置用户权限

    rabbitmqctl set_permissions -p VHostPath User ConfP WriteP ReadP
    //例如 rabbitmqctl set_permissions -p vbam admin '.*' '.*' '.*'

    (3) 查看(指定hostpath)所有用户的权限信息

    rabbitmqctl list_permissions [-p VHostPath]

    (4) 查看指定用户的权限信息

    rabbitmqctl list_user_permissions User

    (5) 清除用户的权限信息

    rabbitmqctl clear_permissions [-p VHostPath] User

  4. 日志查看
    遇到问题在 /var/log/rabbitmq/ 下查看日志

  5. 设置开机自启动
    chkconfig rabbitmq-server on

  6. 集群配置

(1)关闭防火墙:service iptables stop

(2)配置hosts: //例如

192.168.192.104 zk1 rabbit1

192.168.192.105 zk2 rabbit2

192.168.192.106 zk3 rabbit3

(3)启动所有rabbitmq节点,加入其它节点(node0上,即rabbit1)

sudo rabbitmqctl stop_app

sudo rabbitmqctl join_cluster rabbit@rabbit2

sudo rabbitmqctl start_app

results matching ""

    No results matching ""