安装
rabbitmq 依赖 erlang , 所以需要先安装 erlang.
rabbitmq 3.6 版本以上 依赖 erlang-n18...等以上, 所以目前尽量使用3.5之前版本, 只需 erlang-n14...安装wget(如果未安装)
yum -y install wget安装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安装rabbitmq
1) wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.5.3/rabbitmq-server-3.5.3-1.noarch.rpm2) 执行
yum install -y rabbitmq-server-3.5.3-1.noarch.rpm
(在文件所在目录)创建配置文件
1) vim /etc/rabbitmq/rabbitmq-env.config。 增加内容NODENAME=rabbit@rabbit1
启动和关闭服务
1)/etc/init.d/rabbitmq-server start/stop/restart
2)service rabbitmq-server start/stop/restart
安装management插件
1)rabbitmq-plugins enable rabbitmq_management
(需要重启)用户管理
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
日志查看
遇到问题在 /var/log/rabbitmq/ 下查看日志设置开机自启动
chkconfig rabbitmq-server on
集群配置
(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