你好,游客 登录 注册 搜索
背景:
阅读新闻

CentOS 7下RabbitMQ集群安装配置

[日期:2017-10-17] 来源:Linux社区  作者:netonline [字体: ]

本文涉及rabbitmq的基本安装,基本的集群配置。

一.环境

1. 操作系统

CentOS-7-x86_64-Everything-1511

2. 版本

haproxu版本:1.7.7

erlang版本:20.0

rabbitmq版本:rabbitmq-server-3.6.10

https://bintray.com/rabbitmq/rabbitmq-server-rpm/download_file?file_path=rabbitmq-server-3.6.10-1.el7.noarch.rpm

3. 拓扑

  1. 采用VMware ESXi虚拟出的4台服务器1台haproxy,3台rabbitmq-server,地址172.16.3.230/231/232/233;
  2. haproxy的预安装配置请参考:http://www.chineselinuxuniversity.net/Linux/2017-10/147553.htm

二.RabbitMQ安装配置(单机)

以节点rmq-node1为例,rmq-node2/3适当调整。

1. 安装erlang

RabbbitMQ基与erlang开发,首先安装erlang,这里采用yum方式。

1)更新EPEL源

#yum官方源无erlang;
#安装EPEL:http://fedoraproject.org/wiki/EPEL/FAQ#howtouse
[root@rmq-node1 ~]# rpm -Uvh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
[root@rmq-node1 ~]# yum install foo

2)添加erlang解决方案库

 
#如果不添加erlang解决方案,yum安装的erlang版本会比较老;
#解决方案添加及安装请见(根据OS选择):https://www.erlang-solutions.com/resources/download.html
[root@rmq-node1 ~]# wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
[root@rmq-node1 ~]# rpm -Uvh erlang-solutions-1.0-1.noarch.rpm

#需要安装验证签名的公钥;
[root@rmq-node1 ~]# rpm --import https://packages.erlang-solutions.com/rpm/erlang_solutions.asc
 

3)安装erlang

#下载速度会比较慢
[root@rmq-node1 ~]# yum install erlang -y

2. 安装RabbitMQ

1)下载RabbitMQ

[root@rmq-node1 ~]# wget https://bintray.com/rabbitmq/rabbitmq-server-rpm/download_file?file_path=rabbitmq-server-3.6.10-1.el7.noarch.rpm
[root@rmq-node1 ~]# mv download_file\?file_path\=rabbitmq-server-3.6.10-1.el7.noarch.rpm rabbitmq-server-3.6.10-1.el7.noarch.rpm

2)导入认证签名

3)安装

#yum安装使用已下载的rpm包本地安装,但可能会涉及到取依赖包,同样需要导入认证签名;
#下载安装请见:http://www.rabbitmq.com/install-rpm.html
[root@rmq-node1 ~]# yum install rabbitmq-server-3.6.10-1.el7.noarch.rpm -y

3. 启动

1)设置开机启动

[root@rmq-node1 ~]# systemctl enable rabbitmq-server

2)启动

[root@rmq-node1 ~]# systemctl start rabbitmq-server

4. 验证

1)查看状态

[root@rmq-node1 ~]# systemctl status rabbitmq-server

2)查看日志

#日志中给出了rabbitmq启动的重要信息,如node名,$home目录,cookie hash值,日志文件,数据存储目录等;
#给出的信息会指出无配置文件(如下图),默认安装没有此文件
[root@rmq-node1 ~]# cat /var/log/rabbitmq/rabbit@rmq-node1.log

5. rabbitmq.conf

#手工建目录,将配置样例文件拷贝到配置目录并改名
[root@rmq-node1 ~]# mkdir -p /etc/rabbitmq
[root@rmq-node1 ~]# cp /usr/share/doc/rabbitmq-server-3.6.10/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config

#配置重启生效
[root@rmq-node1 ~]# systemctl restart rabbitmq-server

#另外还可以建环境配置文件:/etc/rabbitmq/rabbitmq-env.conf

6. 安装web管理插件

#management plugin默认就在RabbitMQ的发布版本中,enable即可
#服务重启,配置生效
[root@rmq-node1 ~]# rabbitmq-plugins enable rabbitmq_management

7. 设置iptables

#tcp4369端口用于集群邻居发现;
#tcp5671,5672端口用于AMQP 0.9.1 and 1.0 clients使用;
#tcp15672端口用于http api与rabbitadmin访问,后者仅限在management plugin开启时;
#tcp25672端口用于erlang分布式节点/工具通信
[root@rmq-node1 ~]# vim /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 4369 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5671 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5672 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 15672 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 25672 -j ACCEPT

[root@rmq-node1 ~]# service iptables restart

8. Management plugin登录账

1)guest账号

#rabbit默认只有guest账号,但为了安全,guest账号只能从localhost登录,如果需要guest账号可以远程登录,可以设置rabbitmq.conf文件:
#根据说明,取消第64行参数的注释与句末的符号;建议不开启guest账号的远程登录;
#服务重启,配置生效。
[root@rmq-node1 ~]# vim /etc/rabbitmq/rabbitmq.config

2)CLI创建登录账号

#“rabbitmqctl add_user”添加账号,并设置密码
[root@rmq-node1 ~]# rabbitmqctl add_user admin admin@123

#”rabbitmqctl set_user_tags”设置账号的状态
[root@rmq-node1 ~]# rabbitmqctl set_user_tags admin administrator

#“rabbitmqctl set_permissions”设置账号的权限
[root@rmq-node1 ~]# rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

#“rabbitmqctl list_users”列出账号
[root@rmq-node1 ~]# rabbitmqctl list_users

9. Management plugin登录验证

浏览器访问:http://172.16.3.231:15672

1)guest账号登录

2)CLI创建的账号登录

更多详情见请继续阅读下一页的精彩内容http://www.chineselinuxuniversity.net/Linux/2017-10/147707p2.htm

linux
相关资讯       RabbitMQ集群 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款