以下步骤都经过3次验证:
rabbitmq是基于erlang的基础上的,所以首先得正确安装erlang,安装教程在我的上一篇博客中。
先说一下环境:
操作系统是Centos6.5.
msg-01
10.1.67.240
4核
32G
40G
msg-02
10.1.67.241
4核
32G
40G
msg-03
10.1.67.242
4核
32G
40G
现在可以先去官网下载了,我下载的是rabbitmq-server-3.4.2.tar.gz
1.tar zxf rabbitmq-server-3.4.2.tar.gz
2.cd rabbitmq-server-3.4.2
3.yum install xmlto
4.make
5.make TARGET_DIR=/opt/rabbitmq SBIN_DIR=/opt/rabbitmq/sbin MAN_DIR=/opt/rabbitmq/man DOC_INSTALL_DIR=/opt/rabbitmq/doc install
好了,安装完成其实步骤不多。
现在进入到/opt/rabbitmq/sbin的目录下,可以看到下面有五个文件,具体的作用可以去网上查资料。
激动的时刻到了..........
启动rabbitmq:
./rabbitmq-server start &
查看状态:
./rabbitmqctl status
如果一切正常,那么接下来可以开启web控制台了(以上都是完美情况,当然遇到错误google一下还是可以找到问题所在的,我安装了3次其实只有一次遇到问题,
在make install时报错,not found xmlto,我偷了一下懒,懒得找问题,就直接把文件夹全删了,重新弄了一次,没有出现问题了)
开启插件:
mkdir /etc/rabbitmq/
./ rabbitmq-plugins enable rabbitmq_management
注意上面的一步不能省略,不然会报错。
现在配置一下登录用户,当然你如果在安装的本机访问就不需要了,直接用户geust,密码geust。
./rabbitmqctl add_user tonyg changeit
./rabbitmqctl set_user_tags tonyg administrator
./rabbitmqctl add_vhost test
./rabbitmqctl set_permissions -p test tonyg "^tonyg-.*" ".*" ".*"
ok,现在你可以使用用户tonyg 密码changeit来登陆了。
当然,别忘了重启服务,才会生效。
./rabbitmqctl stop
现在msg-01机器已经配置好了,现在只需要重复在msg-02,msg-03上面安装就行了。
都按装好了?检查一下?
现在开始配置集群了............
首先进入到msg-01 root目录下,
cat .erlang.cookie
获取一个类是这样的字符串:XUXGMPFWLKCTTCNFFSSI
现在进入msg-02 root目录下
chmod 700 .erlang.cookie
vim .erlang.cookie(将刚刚的字符串替换原有的)
chmod 400 .erlang.cookie
在msg-03上重复这样就行了
保持三个机器上.erlang.cookie的一致性。(跟简单的方法就是直接冲msg-01上拷贝过啦覆盖就行)
到了这里其实就已经把房屋的框架都做好了。
接下来就是把msg-02,msg-03添加到msg-01的集群里面就行了。
很简单:
在msg-01中:
./rabbitmq-server start &
./rabbitmqctl stop_app
./rabbitmqctl reset
./rabbitmqctl start_app
在msg-02,msg-03中分别执行:
./rabbitmq-server start &
./rabbitmqctl stop_app
./rabbitmqctl reset
./rabbitmqctl join_cluster --ram rabbit@msg-01
./rabbitmqctl start_app
到此为止,你已经完成了集群的安装了。
./rabbitmqctl cluster_status(分别查看一下集群的状态吧)
[root@msg-03 sbin]# ./rabbitmqctl cluster_status
Cluster status of node 'rabbit@msg-03' ...
[{nodes,[{disc,['rabbit@msg-01']},{ram,['rabbit@msg-03','rabbit@msg-02']}]},
{running_nodes,['rabbit@msg-02','rabbit@msg-01','rabbit@msg-03']},
{cluster_name,<<"rabbit@msg-01">>},
{partitions,[]}]
[root@msg-03 sbin]# ls
补充说明,如果你想要对集群进行更深一步的配置
mkdir /etc/rabbitmq
cp /usr/local/rabbitmq/doc/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config
现在可以在rabbitmq.config里面配置了。。。具体怎么配置以后再聊............
新增一个用户 rabbitmqctl add_user Username Password
查看当前用户列表 rabbitmqctl list_users
设置用户角色的命令 rabbitmqctl set_user_tags User Tag
User为用户名, Tag为角色名(对应于上面的administrator,monitoring,policymaker,management,或其他自定义名称)。
设置用户权限 rabbitmqctl set_permissions -p VHostPath User ConfP WriteP ReadP
rabbitmqctl set_permissions -p / User '.*' '.*' '.*'