CentOS 6.4 安装 rabbitmq(3.6.15)
安装废了一番周折,中间需要装一个socat,网上各种过时的地址。
无奈去socat官网,结果提供编译安装,编译安装完yum install rabbitmq的时候仍然提示缺少需要的依赖,烦,好在折腾两个小时最后装上了,简述步骤如下:
需要的rpm:
socat-1.7.1.3-1.el6.rf.x86_64.rpm rabbitmq-server-3.6.15-1.el6.noarch.rpm erlang-20.2.2-1.el6.x86_64.rpm
注意:如果想装其他版本的,务必关注一下erlang和rabbitmq的对应关系,传送门(http://www.rabbitmq.com/which-erlang.html)
各自的下载原地址(这些rpm的地址随时可能过期,我有一个链接可以献给看官 链接:https://pan.baidu.com/s/1pMVT9KR 密码:5ff1):
socat的地址:
http://rpmfind.net/linux/dag/redhat/el6/en/x86_64/dag/RPMS/socat-1.7.1.3-1.el6.rf.x86_64.rpm
后两个从官网找到的:
https://bintray.com/rabbitmq/rpm/download_file?file_path=erlang%2F20%2Fel%2F6%2Fx86_64%2Ferlang-20.2.2-1.el6.x86_64.rpm
https://bintray.com/rabbitmq/rpm/download_file?file_path=rabbitmq-server%2Fv3.6.x%2Fel%2F6%2Fnoarch%2Frabbitmq-server-3.6.15-1.el6.noarch.rpm
也可以直接去erlang官网下载:
https://www.erlang-solutions.com/resources/download.html
下载完后,安装顺序如下:
erlang socat rabbitmq 命令均为: yum install xxxxx.rpm
注册为服务并启动,命令:
chkconfig rabbitmq-server on /sbin/service rabbitmq-server start
因为默认的guest用户只能在本地登陆,所以我们增加用户并设定角色(https://www.cnblogs.com/mingaixin/p/4134920.html):
rabbitmqctl add_user admin admin
rabbitmqctl set_user_tags admin administrator management
给用户增加vhost的访问权限(默认会有一个vhost 路径是 "/",如果不够用可以使用命令添加一个vhost: rabbitmqctl add_vhosts test_host,相关内容传送门)
#格式如下 rabbitmqctl set_permissions -p VHostPath User <conf> <write> <read> #实际命令 rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
其中,<conf> <write> <read>的位置分别用正则表达式来匹配特定的资源,具体写法本文暂不提供
启动管理后台:
rabbitmq-plugins enable rabbitmq_management /sbin/iptables -I INPUT -p tcp --dport 15672 -j ACCEPT
然后访问该机器的15672就能进入管理后台(http://ip:15672)了,密码账号均为admin
卸载rabbitmq:
yum list installed|grep rabbitmq yum remove [上面命令输出的结果] find / -name rabbitmq|xargs rm -rf
---------------------------------2018年4月19日追加-----------------------------------------------
其实只要配置了阿里的rpel源,只需要安装rabbitmq的rpm包即可,依赖关系会自动被解析。
配置阿里rpel源,传送门
默认安装路径:/usr/lib/rabbitmq/lib/rabbitmq_server-3.6.15
1、复制某一个节点的 /var/lib/rabbitmq/.erlang.cookie 到所有其他节点的相同位置,覆盖原文件
# chmod 777 /var/lib/rabbitmq/.erlang.cookie |
# chmod 400 /var/lib/rabbitmq/.erlang.cookie # chown rabbitmq /var/lib/rabbitmq/.erlang.cookie # chgrp rabbitmq /var/lib/rabbitmq/.erlang.cookie |
2、子节点加入集群(需要维护hosts,并且主机名和hosts一致):
rabbitmqctl join_cluster rabbit@fscp-master
3、集群开启高可用
rabbitmqctl set_policy ha-allqueue "^" '{"ha-mode":"all"}'
4、修改一个节点为RAM
rabbitmqctl stop_app
rabbitmqctl change_cluster_node_type ram
rabbitmqctl start_app