rabbitmq集群安装

 

 

rabbitmq与kafka的区别:
吞吐量较低:Kafka和RabbitMQ都可以。
吞吐量高:Kafka。
可靠性高:RabbitMQ

一、环境介绍:
centos7系统,二台服务器:172.20.224.37,172.20.224.39
二、安装包获取:
# wget http://www.rabbitmq.com/releases/erlang/erlang-18.3-1.el7.centos.x86_64.rpm
# wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.1/rabbitmq-server-3.6.1-1.noarch.rpm
# wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc

更高版本的自行去官网获取:http://www.rabbitmq.com/install-rpm.html
三、安装
# rpm --import rabbitmq-signing-key-public.asc
# rpm -Uvh erlang-18.3-1.el7.centos.x86_64.rpm rabbitmq-server-3.6.1-1.noarch.rpm

注: 如果是RedHat6,erlang下载地址为 http://www.rabbitmq.com/releases/erlang/erlang-18.3-1.el6.x86_64.rpm

四、参数调整
调整系统限制:/etc/sysctl
fs.file-max = 100000
执行sysctl -p生效
调整用户限制:/etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
重连或重启系统生效
修改/etc/hosts配置文件 (每个节点)
172.20.224.37 learn01
172.20.224.38 learn02
172.20.224.39 learn03

修改hostname:hostnamectl set-hostname learn01
五、设置服务自启,并启动服务
# chkconfig rabbitmq-server on
# service rabbitmq-server start
六、启动web插件:
rabbitmq-plugins enable rabbitmq_management
七、创建用户:
添加用户(用户名admin,密码admin)
rabbitmqctl add_user admin admin
设置用户角色(设置admin用户为管理员角色)
# rabbitmqctl set_user_tags admin administrator
设置用户权限(设置admin用户配置、写、读的权限)
# rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
删除用户(删除guest用户)
# rabbitmqctl delete_user guest
注意:rabbitmq从3.3.0开始禁止使用guest/guest权限通过除localhost外的访问。
八、设置erlang
找到erlang cookie文件的位置,官方在介绍集群的文档中提到过.erlang.cookie一般会存在这两个地址:第一个是$home/.erlang.cookie;第二个地方就是/var/lib/rabbitmq/.erlang.cookie。如果我们使用解压缩方式安装部署的rabbitmq,那么这个文件会在${home}目录下,也就是$home/.erlang.cookie。如果我们使用rpm等安装包方式进行安装的,那么这个文件会在/var/lib/rabbitmq目录下。
可以直接scp将整个文件拷贝:scp /root/.erlang.cookie [email protected]:/root/
九、加入集群
rabbitmq-server启动时,会一起启动节点和应用,它预先设置RabbitMQ应用为standalone模式。要将一个节点加入到现有的集群中,你需要停止这个应用,并将节点设置为原始状态。如果使用./rabbitmqctl stop,应用和节点都将被关闭。所以使用rabbitmqctl stop_app仅仅关闭应用。
在learn03节点执行:
rabbitmqctl stop_app
rabbitmqctl join_cluster [email protected]
rabbitmqctl start_app

十、查看集群状态

rabbitmqctl cluster_status

 

=============================================================================

安装过程中遇到的问题:
1、启动rabbit失败:

查看日志:显示上一次升级正在进行或已失败,则手动删除生成的文件,重新启动即可。

解决办法:删除生成的[email protected]文件:rm -rf /var/lib/rabbitmq/mnesia/[email protected]*