安装前准备:
1、Linux服务器3台
192.168.7.121
192.168.7.122
192.168.7.123
2、RabbitMQ 3.8.9 tar安装包
下载地址:http://www.rabbitmq.com/install-generic-unix.html
3、Erlang 23.1 安装包
下载地址:http://www.erlang.org/downloads
4、WxWidgets 安装包
下载地址:http://www.wxwidgets.org/downloads
安装RabbitMQ
1、安装依赖
syum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel xmlto
2、Erlang安装
进入安装目录进行配置
./configure --prefix=/usr/local/erlang --without-javac
遇错误解决:
1、ODBC library - link check failed
yum install unixODBC-devel
2、wx : wxWidgets not found, wx will NOT be usable
下载wxWidgets安装包,安装依赖环境
yum -y install gtk2-devel binutils-devel
执行
./configure && make && sudo make install
安装
make && make install
3、配置Erlang环境变量
vim /etc/profile
添加Erlang安装路径
source /etc/profile
4、RabbitMQ安装
下载后解压至指定目录,配置RabbitMQ环境变量
vim /etc/profile
添加RabbitMQ安装路径
source /etc/profile
5、RabbitMQ操作
启动/后台启动
rabbitmq-server start / rabbitmq-server start &
开启web管理端
rabbitmq-plugins enable rabbitmq_management
停止
rabbitmqctl stop_app
启动
rabbitmqctl start_app
查看用户
rabbitmqctl list_users
添加用户
rabbitmqctl add_user 用户名 密码
分配角色
rabbitmqctl set_user_tags 用户名 角色
角色授权
rabbitmqctl set_permissions -p / 用户名 ".*" ".*" ".*"
删除角色
rabbitmqctl delete_user 用户名
6、浏览器访问管理端
http://192.168.7.121:15672
配置集群实现高可用及负载均衡
1、修改主机名
vim /etc/hosts
2、修改RabbitMQ节点名称
vim rabbitmq安装目录/sbin/rabbitmq-env
末尾添加 NODENAME=节点名称
3、重新启动RabbitMQ
rabbitmq-server start &
4、配置集群
在其他节点机器执行
1、停止rabbitmq服务
rabbitmqctl stop_app
2、清空节点状态
rabbitmqctl reset
3、node2和node1构成集群,node2必须能通过node1的主机名ping通
rabbitmqctl join_cluster rabbit@node1(rabbitmq节点名称)
4、开启rabbitmq服务
rabbitmqctl start_app
查看机器状态
rabbitmqctl cluster_status
移除节点
1、停止要移除的节点服务
rabbitmqctl stop_app
2、移除节点3
rabbitmqctl -n rabbit@node1(当前节点名称) forget_cluster_node rabbit@node3(被移除节点名称)
3、重新启动节点
rabbitmqctl start_app
如果启动不了,删除已有mnesia信息
更改节点类型(默认加入的为磁盘节点)
rabbitmqctl join_cluster rabbit@node1(节点名称) --ram
更改集群节点类型
1、停止rabbitmq服务
rabbitmqctl stop_app
2、更改节点为内存节点
rabbitmqctl change_cluster_node_type ram
3、开启rabbitmq服务
rabbitmqctl start_app
配置集群负载均衡
使用HAProxy实现
1、安装HAProxy (可独立部署)
yum install haproxy
2、配置HAProxy
vim /etc/haproxy/haproxy.cfg
末尾添加
#绑定配置
listen rabbitmq_cluster
# 客户端连接连接IP地址和端口号,用于客户端连接
bind 0.0.0.0:5672
# 配置TCP模式
mode tcp
#加权轮询负载均衡算法
balance roundrobin
#RabbitMQ集群节点配置
server rabbitmq_node1 197.168.7.121:5672 check inter 5000 rise 2 fall 3 weight 1
server rabbitmq_node2 197.168.7.122:5672 check inter 5000 rise 2 fall 3 weight 1
server rabbitmq_node3 197.168.7.123:5672 check inter 5000 rise 2 fall 3 weight 1
# server rabbitmq_node1:定义HAProxy内RabbitMQ服务的标识
# 197.168.7.121:5672:标识了后端RabbitMQ的服务地址
# check inter 5000:表示每隔多少毫秒检查RabbitMQ服务是否可用,示例参数值为5000
# rise 2:表示RabbitMQ服务在发生故障之后,需要多少次健康检查才能被再次确认可用
# fall 2:表示需要经历多少次失败的健康检查之后,HAProxy才会停止使用此RabbitMQ服务
# weight 1:表示权重比例,值越低,会优先进行数据分配
#haproxy监控页面地址
listen monitor
# 监控页面访问IP地址和端口号
bind 0.0.0.0:8100
# 配置HTTP模式
mode http
option httplog
stats enable
# 访问路径
stats uri /stats
# 自动刷新时间
stats refresh 5s
3、启动HAProxy
haproxy -f /etc/haproxy/haproxy.cfg
4、浏览器访问
http://ip:port/stats
客户端使用
1、配置了HAProxy代理
填写代理服务器IP和端口
2、无代理
多个IP:端口,以,分隔