rabbitmq集群搭建(三节点)
一、rabbitMQ 单例搭建
1、安装socat
yum -y install socat
- 安装erlang
rpm -ivh erlang-21.3-1.el7.centos.x86_64.rpm
3、安装rabbitMQ
rpm -ivh rabbitmq-server-3.8.8-1.el6.noarch.rpm
注意:下载Erlang与RabbitMQ(二者版本要相互对应)
注:如果安装erlang rabbitmq失败执行以下红色命令
wget http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm
wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
rpm –import rabbitmq-signing-key-public.asc
rpm -Uvh erlang-19.0.4-1.el7.centos.x86_64.rpm rabbitmq-server-3.6.10-1.el7.noarch.rpm
启动: 只能root用户启动
方式1:
systemctl start rabbitmq-server
方式2:
/sbin/service rabbitmq-server start
关闭:
方式1:
rabbitmqctl stop
方式2:
/sbin/service rabbitmq-server stop
查看状态:
rabbitmqctl status
二、rabbitMQ集群搭建
节点:IP1、IP2、IP3
1、使IP2和IP3的cookie与IP1保持一致
IP1: (cookie是个隐藏文件,进入/var/lib/rabbitmq/下用ls -al查看) chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie chmod 600 /var/lib/rabbitmq/.erlang.cookie #设置权限IP2和IP3都需要设置 将IP1的内容拷贝到IP2、IP3该文件中 |
2、IP1、IP2、IP3设置hosts
vi /etc/hosts
配置 IP1、IP2、IP3的主机名
IP1 主机名01
IP2 主机名02
IP3 主机名03
- 配置集群
在IP1服务器上
#rabbit_node_one: 使用默认端口 RABBITMQ_NODE_PORT=5672 RABBITMQ_NODENAME=rabbit_node_one rabbitmq-server -detached |
在IP2服务器上
#rabbit_node_two RABBITMQ_NODE_PORT=5673 RABBITMQ_SERVER_START_ARGS=”-rabbitmq_management listener [{port,15673}] -rabbitmq_stomp tcp_listeners [61614] -rabbitmq_mqtt tcp_listeners [1884]” RABBITMQ_NODENAME=rabbit_node_two rabbitmq-server -detached |
在IP3服务器上
#rabbit_node_three RABBITMQ_NODE_PORT=5674 RABBITMQ_SERVER_START_ARGS=”-rabbitmq_management listener [{port,15674}] -rabbitmq_stomp tcp_listeners [61615] -rabbitmq_mqtt tcp_listeners [1885]” RABBITMQ_NODENAME=rabbit_node_three rabbitmq-server -detached |
三台服务器都启动成功后
在IP2服务器上
#配置rabbit_node_two 为持久化节点 从节点 rabbitmqctl -n rabbit_node_two stop_app rabbitmqctl -n rabbit_node_two reset rabbitmqctl -n rabbit_node_two join_cluster rabbit_node_one@”服务器名” (注意: 服务器名为上面配置的主机名,不是ip,,需要配置hosts)
如果加不到第一个节点,看端口是否通,如果端口通的话,看/var/log/rabbitmq下的日志 egg:cannot read rabbitmq-plugins enabled_plugins 解决方法:cd /etc/rabbitmq 下执行命令:chmod a+r enabled_plugins rabbitmqctl -n rabbit_node_two start_app |
在IP3服务器上
#rabbit_node_three 为内存节点 从节点 rabbitmqctl -n rabbit_node_three stop_app rabbitmqctl -n rabbit_node_three reset rabbitmqctl -n rabbit_node_three join_cluster rabbit_node_one@”服务器名” –ram (注意: 服务器名为上面配置的主机名,不是ip,,需要配置hosts) rabbitmqctl -n rabbit_node_three start_app |
4、验证集群
#查询集群状态 rabbitmqctl cluster_status -n rabbit_node_one rabbitmqctl -n rabbit_node_one cluster_status(集群状态查看) |
出现如下信息说明成功:
{nodes,[{disc,[‘rabbit@rabbitmq01’]},{ram,[‘rabbit@rabbitmq02 ‘]}
5、设置rabbitmq用户信息
rabbitmqctl -n rabbit_node_one add_user jtop 123456 rabbitmqctl -n rabbit_node_one set_user_tags jtop administrator rabbitmqctl -n rabbit_node_one set_permissions -p / jtop “.*” “.*” “.*”
|
- 相关插件(每个节点需要分别执行)
# 管理台开启 rabbitmq-plugins enable rabbitmq_management -n rabbit_node_one # 管理台关闭 rabbitmq-plugins disable rabbitmq_management -n rabbit_node_one
# trac日志开启 rabbitmq-plugins enable rabbitmq_tracing -n rabbit_node_one # trac日志关闭 rabbitmq-plugins disable rabbitmq_tracing -n rabbit_node_one |
7、节点操作
删除所有节点
1. rabbitmq-server -detached
2. rabbitmqctl stop_app
3. rabbitmqctl reset
4. rabbitmqctl start_app |
删除某一个节点
rabbitmqctl forget_cluster_node node_name
|
8、停止操作
注意:重启rabbit集群的操作为:按顺序停止节点:节点3-节点2-节点1
启动时按顺序启动节点:节点1-节点2-节点3
需分别到对应的服务器上进行执行
rabbitmqctl -n rabbit_node_three stop rabbitmqctl -n rabbit_node_two stop rabbitmqctl -n rabbit_node_one stop |
9、添加镜像
rabbitmqctl set_policy ha-all “^” ‘{“ha-mode”:”all”}’ -n rabbit_node_one
|
Admin
Rabbitmq7760
Active
15672
10.131.100.69
10.131.100.70
10.131.100.71
Redis: 9001_9006 passwd:redisCluster7760
Zookeeper: 2181
27371
root/Ea4h6qjv
免责声明: 本文来自梵星网创作者,不代表梵星网的观点和立场。 本网页内容均来自网络采集,如果侵犯了您的权益请与我司联系。
暂无评论内容