RabbitMQ安装流程及cluster简单集群搭建

来源:互联网 发布:东方雨虹js防水涂料 编辑:程序博客网 时间:2024/05/16 09:30
两台机器需要安装版本相同的erlang和RabbitMQ
1.安装配置yum
cd /etc/yum.repos.d/      会看到很多repo文件
vim CentOS-Base.repo     将此文件内容修改为下图内容 
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7


#released updates 
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7


#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/




2.安装erlang
1)添加Erlang Solutions key 支持
rpm --import http://binaries.erlang-solutions.com/debian/erlang_solutions.asc


wget http://binaries.erlang-solutions.com/rpm/centos/erlang_solutions.repomv erlang_solutions.repo /etc/yum.repos.d/  将solutions key 移动到该目录
2)由于安装erlang需要大量的依赖,(CentOS的原始库缺少某些依赖)先引入第三方库rpmfusion
先引入该第三方库所需的依赖:
yum install epel-release
3)开始安装rpmfusion:
rpm -ivh https://download1.rpmfusion.org/free/el/updates/6/i386/rpmfusion-free-release-6-1.noarch.rpm
4)开始安装erlang
yum install erlang
3.安装RabbitMQ
1)安装RabbitMQ之前需要安装socat
yum install socat
2)安装RabbitMQ
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server-3.6.5-1.noarch.rpm
4.安装完后开启服务
1.启动服务:
rabbitmq-server --detached
2.查看状态:
Rabbitmqctl status
3.检查端口5672是否打开
/sbin/iptables -I INPUT -p tcp --dport 5672 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart     
/etc/init.d/iptables status
4.启用维护插件
rabbitmq-plugins enable rabbitmq_management
5.由于RabbitMQ默认的guest帐号只能通过localhost访问,如果想进行远程访问,就需要创建一个新账号
rabbitmqctl add_user chanpay chanpay       第一个chanpay是帐号,第二个是密码
设置角色
rabbitmqctl set_user_tags chanpay administrator (monitoring policymaker management)
设置用户权限
rabbitmqctl  set_permissions -p ”/”chanpay '.*' '.*' '.*' 
补充:开启用户远程访问
Vim /etc/rabbitmq/rabbitmq.config


去掉loopback_user 前面的百分号和后面的逗号
5.集群安装
1)同步Erlang Cookie
查看某台机器的cookie
cat /var/lib/rabbitmq/.erlang.cookie
关闭其他机器上的rabbitMQ,将cookie复制到该机器
rabbitmqctl stop
echo cookie > /var/lib/rabbitmq/.erlang.cookie
Cookie同步之后启动rabbitMQ
rabbitmq-server -detached
如果提示PID FILE不能写入,可以关闭应用,直接以服务的方式启动
启动服务:
service rabbitmq-server start 
2)加入集群
将其中一个节点另一个节点作为Disk类型节点
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@_(机器名称)
rabbitmqctl start_app
查看集群状态
rabbitmqctl cluster_status
设置镜像队列策略
Rabbitmqctl set_policy ha-all “^” ‘{“ha-mode”:”all”}’


6.安装并配置HaProxy
yum install haproxy
vim /etc/haproxy/haproxy.cfg