链接在此!!!快快下载
1、先下载上面的链接的软件,tar -zxvf rabbit.install.tgz进行解压
解压后文件列表如下
2、然后执行./install进行安装,需要安装几台节点,就把压缩包拷贝几个节点,然后重述上述命令进行安装
3、节点1操作:以节点1 为集群节点进行演示,
- 关闭MQ服务 service rabbitmq-server stop
- 以集群模式启动 rabbitmq-server –detached
- 查看集群状态 rabbitmqctl cluster_status
- 创建一个用户,用于整个集群:rabbitmqctl add_user roboconf roboconf rabbitmqctl set_permissions roboconf ".*" ".*" ".*"
- 确保HA同步是自动的 rabbitmqctl set_policy ha-all "" '{"ha-mode":"all","ha-sync-mode":"automatic"}'
- 修改 /etc/hosts文件 增加((本地IP) (节点名称))(IP与rabbitMQ安装对应node名,有几个节点加几个)
- 如果不知道怎么修改节点名称的话,执行:hostnamectl set-hostname 节点名称
至此,节点1配置结束,
4、节点2~n操作:2~n节点的操作都一样,
- 编辑/var/lib/rabbitmq/.erlang.cookie并插入与节点Rabbit1相同的内容
-
可以这么操作(在节点1执行命令如下)scp/var/lib/rabbitmq/.erlang.cookie 节点2的IP:/var/lib/rabbitmq/.erlang.cookie
- 关闭MQ服务 service rabbitmq-server stop
-
以集群模式启动rabbitmq-server –detached -
然后关闭MQ rabbitmqctl stop_app
- 将节点2加入节点1的集群中 rabbitmqctl join_cluster [email protected]节点1
-
启动MQ rabbitmqctl start_app
- 查看集群状态 rabbitmqctl cluster_status
出现以下画面者,恭喜你,集群已经配置好,两个节点属于一个集群,下一步配置负载均衡HAProxy
5、选一台节点安装HAproxy
- 使用yum源安装haproxy,没有yum源的自己配去,yum install -y haproxy
- 修改配置文件/etc/haproxy/haproxy.cfg(因为修改的比较多,建议把之前的给删掉,然后新建一个配置文件,给400权限)
- 配置内容如下:(需要修改的我会标红)
global
# 指定日志记录路径,这个local2是需要在/etc/rsyslog.conf文件中指定的,指定了日志存储路径之后,需要重启rsyslog服务哦
#查看/etc/rsyslog.conf文件,看看有local几,下面就是local几
log 127.0.0.1 local7
# 指定haproxy的运行环境
chroot /var/lib/haproxy
# 指定进程的pid
pidfile /var/run/haproxy.pid
# 指定单个进程的最大并发连接数
maxconn 4000
# 指定允许haproxy的用户,groupadd haproxy : useradd -r -g haproxy haproxy
user haproxy
# 指定允许haproxy的组
group haproxy
# 指定haproxy以守护进程模式运行
daemon
# 设置后台运行2个haproxy进程,但是后台运行了3个进程
# nbproc 2
# 指定Unix socket通信(基本没用过)
# stats socket /var/lib/haproxy/stats
# 这里是默认的选项,如何在listen段,backend段,frontend段中将这些选项按需求重新制定
defaults
# 指定默认的模式
mode http
# 指定日志信息使用全局指定的日志存储路径,全局日志是存储在rsyslog服务中
log global
# 将log日志记录到rsyslog日志服务器中,指定日志级别为notice级别
log 172.19.4.109 local7 notice
# 日志格式可以不指定,有其默认的值
#log-format %T\ %t\ Some\ Text
# 指定压缩类型
compression algo gzip
# 指定需要压缩的资源类型
compression type text/html text/plain
option httplog
option dontlognull
option http-server-close
# 在后端服务器中可以记录客户端的源IP地址,在日志中加上%{X-Forwarded-For}i
option forwardfor except 127.0.0.1/8
# 如果后端服务器不提供服务,那么将会重新di
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
# 指定接受10000个并发
maxconn 10000
# haproxy统计页面配置段
listen stats
# 指定统计页面监听的端口
bind *:33559
# 指定统计页面运行的模式
mode http
# 指定开启统计页面功能
stats enable
# 如果不设置URI,默认是/haproxy?stats
stats uri /admin
# 指定登入是提示信息,\表示转义空白字符
stats realm HAProxy\ statistics
# 指定用户名和密码,在网页登录的时候用
stats auth admin:123456
# 指定统计页面自动刷新的时长
stats refresh 20
# 如果用户认证成功,统计页面可以被访问
stats admin if TRUE
#隐藏统计页面上HAProxy的版本信息
stats hide-version
listen rabbitmq
bind *:15672
option tcplog
mode tcp
timeout client 3h
timeout server 3h
balance roundrobin
# inter 2000 是健康状态检测的时间间隔,rise 2:2次请求成功认为服务器可用,fall 3:3次请求不成功认为服务器不可用
server rabbit-01 自己的节点IP:5672 check fall 3 rise 2
server rabbit-02 有几个节点写几个IP:5672 check fall 3 rise 2
- 配置结束后,haproxy -c -f /etc/haproxy/haproxy.cfg检查配置文件是否有错,有错的话,看日志自己解决,不行就百度
- 最后启动HA sudo /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -D -p /var/run/haproxy.pid
6、验证是否正确
- 登录地址,出现以下画面,输入用户名密码
出现以下画面者,配置成功,配置流程到此结束!!!