1. 安装erlang
参考
https://github.com/rabbitmq/erlang-rpm
在 /etc/yum.repos.d/rabbitmq_erlang.repo添加下列内容
# In /etc/yum.repos.d/rabbitmq_erlang.repo
[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
[rabbitmq_erlang-source]
name=rabbitmq_erlang-source
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
保存后退出使用yum install erlang
进行erlang的安装
2.安装rabbitmq
从官网下载rabbitmq的rpm包,然后放到指定目录,切换到该目录后执行下列命令
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
yum install rabbitmq-server-3.7.14-1.el7.noarch.rpm
3.相关设置
https://github.com/rabbitmq/erlang-rpm
启动、停止、重启
service rabbitmq-server start
service rabbitmq-server stop
service rabbitmq-server restart
开机启动
chkconfig rabbitmq-server on
查看状态
rabbitmqctl status
设置配置文件
cd /etc/rabbitmq
cp /usr/share/doc/rabbitmq-server-3.4.1/rabbitmq.config.example /etc/rabbitmq/
mv rabbitmq.config.example rabbitmq.config
开启远程访问--注意防火墙是否打开
vi /etc/rabbitmq/rabbitmq.config
{loopback-users,[]}取消注释并去掉后面的逗号
开启web界面管理工具
rabbitmq-plugins enable rabbitmq_management
service rabbitmq-server restart
查看服务器状态
rabbitmqctl status
Windows上开启管理工具方式
切换到rabbitmq的安装目录
如:cd C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.15\sbin
然后输入并回车 rabbitmq-plugins.bat enable rabbitmq_management
web界面访问地址:http://localhost:15672/
默认登陆用户名密码:guest guest
4.erlang的卸载
1、yum list | grep erlang
使用此命令查询出erlang在Linux系统中安装包的名字
2、yum remove esl-erlang.x86_64
5.开启防火墙
firewall-cmd --zone=public --permanent --add-port=4369/tcp
firewall-cmd --zone=public --permanent --add-port=25672/tcp
firewall-cmd --zone=public --permanent --add-port=5671-5672/tcp
firewall-cmd --zone=public --permanent --add-port=15672/tcp
firewall-cmd --zone=public --permanent --add-port=61613-61614/tcp
firewall-cmd --zone=public --permanent --add-port=1883/tcp
firewall-cmd --zone=public --permanent --add-port=8883/tcp
firewall-cmd --reload
6.集群搭建
将某个结点加入集群,需要在该结点上运行如下命令
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@zoo1_8
rabbitmqctl start_app
查看当前集群状态,只需在集群中的任何一个结点上运行如下命令
rabbitmqctl cluster_status
7.将某个结点从集群中移除
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app
8.HAProxy配置
global
log 127.0.0.1 local0 info
maxconn 4096
stats socket /tmp/haproxy.socket uid haproxy mode 770 level admin
daemon
defaults
log global
mode tcp
option tcplog
option dontlognull
retries 3
option redispatch
maxconn 2000
timeout connect 5s
timeout client 120s
timeout server 120s
listen rabbitmq_local_cluster
bind 127.0.0.1:5670
mode tcp
balance roundrobin
server zoo1-8 10.211.55.8:5672 check inter 5000 rise 2 fall 3
#备用服务器配置,只有当所有的非备用服务器不可用时才使用该备用服务器
#server rabbiit_b 127.0.0.1:5676 backup check inter 5000 rise 2 fall 3
server zoo2-10 10.211.55.10:5672 check inter 5000 rise 2 fall 3
server zoo3-11 10.211.55.11:5672 check inter 5000 rise 2 fall 3
listen private_monitoring
bind 0.0.0.0:8100
mode http
option httplog
stats enable
stats uri /stats
stats refresh 5s
访问地址:
http://10.211.55.8:8100/stats
出问题就两个步骤 重启后重装,一定可以的
参考 https://www.rabbitmq.com/install-rpm.html
使用注意事项:https://www.cloudamqp.com/blog/2018-01-19-part4-rabbitmq-13-common-errors.html