RabbitMQ 安装+双主集群配置笔记
1.下载安装 Erlang-TOP20.1:
PS: RabbitMQ是用Erlang语言编写的, 因此需要安装erlang环境依赖。本次安装rabbitMq版本为3.7.16 对应erlang的版本为TOP19.3 ~ TOP20.3.x。
查看RabbitMQ对应依赖的Erlang的版本 https://www.rabbitmq.com/which-erlang.html
#更新软件包和存储库
yum -y update
#安装依赖环境
yum install make gcc gcc-c++ build-essential openssl openssl-devel unixODBC unixODBC-devel kernel-devel m4 ncurses-devel
cd /home
wget http://www.erlang.org/download/otp_src_22.0.tar.gz
tar -zvxf otp_src_22.0.tar.gz
cd otp_src_22.0
#检查编译环境
./configure --prefix=/home/erlang
#编译安装
make && make install
#修改环境变量:vi /etc/profile
ERLANG_HOME=/home/erlang
export PATH=$PATH:$ERLANG_HOME/bin
export ERLANG_HOME
#加载环境配置:
source /etc/profile
#查看erlang版本
erl -version
#退出erl交互命令(如果不小心输入:erl ,输入:halt(). 退出)
》 halt().
PS:安装完erlang后 安装包和解压文件就可以删除了
rm -rf opt_src_20*
2.下载安装 rabbitMq-v3.7.16
github 下载地址: https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.16
#切换到home安装目录
cd /home
#下载到本地
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.16/rabbitmq-server-generic-unix-3.7.16.tar.xz
#解压
tar -vxf rabbitmq-server-generic-unix-3.7.16.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.7.16.tar
#重命名解压文件
mv rabbitmq_server-3.7.16/ rabbitmq
#修改环境配置:vi /etc/profile
RABBITMQ_HOME=/home/rabbitmq
export PATH=$PATH:$RABBITMQ_HOME/sbin
export RABBITMQ_HOME
#加载环境配置:
source /etc/profile
#启动RabbitMQ:
rabbitmq-server -detached
#开启rabbitmq服务的web管理控件
rabbitmq-plugins enable rabbitmq_management
#添加账号并设置初始账号密码
rabbitmqctl add_user admin admin@123456
#设置账号为管理员
rabbitmqctl set_user_tags admin administrator
#访问登录页面
http://127.0.0.1:15672
3.配置rabbitMQ集群(例:testa01 - 127.0.0.57、testa02 - 127.0.0.58)
#停止rabbitMQ服务
rabbitmqctl stop
#将erlang的cookie配置为一致(在57执行命令替换58目标设备的cookie文件)
scp -P22 /root/.erlang.cookie 127.0.0.58:/root
#修改hostname(改完hostname后断开SSH连接,重新连接便可看到修改的结果)
hostnamectl set-hostname testa01
hostnamectl set-hostname testa02
#添加hosts配置
vim /etc/hosts
127.0.0.57 testa01
127.0.0.58 testa02
#或添加:
echo 127.0.0.57 testa01>>/etc/hosts
echo 127.0.0.58 testa02>>/etc/hosts
#启动RabbitMQ:
rabbitmq-server -detached
#查看rabbitmq的运行状态
rabbitmqctl status
#查看rabbitmq的集群节点运行状态
rabbitmqctl cluster_status
#暂停app运行
rabbitmqctl stop_app
#重置rabbitmq配置
rabbitmqctl reset
#添加集群节点
#127.0.0.58添加以下节点
rabbitmqctl join_cluster rabbit@testa01
#127.0.0.57添加以下节点
rabbitmqctl join_cluster rabbit@testa02
#启动app运行
rabbitmqctl start_app
#查看rabbitmq的集群节点运行状态是否添加成功
rabbitmqctl cluster_status
#配置为镜像高可用集群模式
rabbitmqctl set_policy ha-all “^” ‘{“ha-mode”:“all”}’
#查看镜像模式策略
rabbitmqctl list_policies
4.RabbitMQ 服务操作命令
way1 使用这个假如关闭窗口就会退出
#需要开起来,有些会使用后台运行的rabbitmq-service -detached,但是这个我在关闭的时候使用way2方式关闭的时候不能关闭,所以很不方便。
rabbitmq-server start
#启动RabbitMQ(启动并挂起窗口):
rabbitmq-server -detached
#停止rabbitmq
rabbitmq-server stop
#查看rabbitmq的状态
rabbitmq-server status
way2 推荐 也可以使用下面的命令
#需要开起来
service rabbitmq-server start
#停止rabbitmq
service rabbitmq-server stop
#查看rabbitmq的状态
service rabbitmq-server status
#查看rabbitmq的运行状态
rabbitmqctl status
#查看rabbitmq的集群节点运行状态
rabbitmqctl cluster_status
#停止rabbitmq
rabbitmqctl stop
#重置rabbitmq配置
rabbitmqctl reset
#暂停app运行
rabbitmqctl stop_app
#添加集群节点
rabbitmqctl join_cluster rabbit@testa01
#启动app运行
rabbitmqctl start_app
#配置为镜像高可用集群模式
rabbitmqctl set_policy ha-all “^” ‘{“ha-mode”:“all”}’ #表示同步所以的队列消息
rabbitmqctl set_policy -p /test ha-allqueue “^rqmessage” ‘{“ha-mode”:“all”}’ #表示同步以rqmessage开头的消息
#查看镜像模式策略
rabbitmqctl list_policies
5.卸载Erlang和RabbitMQ
rabbitmqctl stop
rabbitmq-server stop
yum list | grep rabbitmq
yum -y remove rabbitmq-server.noarch
yum list | grep erlang
yum -y remove erlang-*
yum remove erlang.x86_64
rm -rf /usr/lib64/erlang
rm -rf /var/lib/rabbitmq
rm -rf /home/erlang
|