环境:centos7.6版本两台,安装erlang版本23.2,安装rabbitmq版本为3.9.4
下载erlang地址:https://packages.erlang-solutions.com/erlang/rpm/centos/7/x86_64/esl-erlang_23.2-1centos7_amd64.rpm
下载Rabbitmq地址:https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.4/rabbitmq-server-3.9.4-1.el8.noarch.rpm
cd /opt/data/
mkdir rabbitMQ
把erlang安装包放在rabbitMQ目录下
赋予其执行权限
cd /opt/data/rabbitMQ
chmod -R +x esl-erlang_23.2-1_centos_7_amd64.rpm
安装openssl依赖,安装离线文件中的openssl-libs-1.0.2k-19.el7.x86_64.rpm包
下载openssl地址:http://rpmfind.net/linux/centos/7.9.2009/os/x86_64/Packages/openssl-libs-1.0.2k-19.el7.x86_64.rpm
openssl放到/opt/data/rabbitMQ目录下
cd /opt/data/rabbitMQ
执行下面安装依赖
rpm -ivh openssl-libs-1.0.2k-19.el7.x86_64.rpm --force
Erlang环境安装
rpm -ivh esl-erlang_23.2-1_centos_7_amd64.rpm --force --nodeps
erl 查看是否安装成功,会出现版本号
halt(). 退出erlang
赋予RabbitMq执行权限
cd /opt/data/rabbitMQ
chmod -R +x rabbitmq-server-3.9.4-1.el8.noarch.rpm
curl -L https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey \ > -O packagecloud-rabbitmq-key.asc -s
gpg gpgkey
安装RabbitMQ
rpm -ivh rabbitmq-server-3.9.4-1.el8.noarch.rpm
启动RabbitMq服务
systemctl start rabbitmq-server
rabbitmqctl add_user admin admin 添加管理员账号密码admin
分配用户标签
rabbitmqctl set_user_tags admin administrator
创建和赋角色完成后查看并确认
rabbitmqctl list_users
查看rabbitmq的运行状态
ps -ef | grep rabbitmq
rabbitmqctl status
开启web管理接口
rabbitmq-plugins enable rabbitmq_management
#添加开机启动RabbitMQ服务
chkconfig rabbitmq-server on
然后通过浏览器访问
http://40.4.6.49:15672
admin admin
输入用户名和密码访问web管理界面了。
配置hosts文件
hostname 查看本机名
vi /etc/hosts
配置hosts文件内容(两台台机器上都需要配置,内容一样就可以,前面是IP,后面是各个主机的主机名)
40.4.6.45 wc-wuh-13458.novalocal
40.4.6.46 wc-wuh-13459.novalocal
40.4.6.45 wc-wuh-13458
40.4.6.46 wc-wuh-13459
修改完成后保证两台主机能够相互ping通,如下图:
ping -c 4 wc-wuh-13458.novalocal
ping -c 4 wc-wuh-13459.novalocal
拷贝cookie文件,并重启子节点
方式一
使用scp的方式将wc-wuh-13458.novalocal节点的.erlang.cookie的值复制到wc-wuh-13459.novalocal节点中,在wc-wuh-13459.novalocal服务器运行命令如下:
scp /var/lib/rabbitmq/.erlang.cookie root@40.4.6.45:/var/lib/rabbitmq/.erlang.cookie
方式二
把主节点服务器得/var/lib/rabbitmq/.erlang.cookie 复制到此节点服务器得/var/lib/rabbitmq/
查看.erlang.cookie中的值,保证两台服务器的cookie值一样
cat /var/lib/rabbitmq/.erlang.cookie
systemctl restart rabbitmq-server 重启服务使erlang.cookie生效
rabbitmqctl cluster_status 查看集群状态
在子节点服务器执行
# 1.rabbitmqctl stop是停止应用和集群节点,rabbitmqctl stop_app是只停应用,不停集群节点
rabbitmqctl stop_app
rabbitmqctl reset
# 2.添加集群节点
rabbitmqctl join_cluster rabbit@wc-wuh-13458
# 3.再启动应用
rabbitmqctl start_app
常用命令
rabbitmqctl stop 关闭rabbitmq命令
hostname 查看主机名
systemctl stop firewalld 关闭防火墙
systemctl restart rabbitmq-server 重启服务
ping -c 4 XX ping服务器XX