rabbitmq集群部署
- rabbitmq集群部署
rabbitmq集群部署
#修改主機名
hostnamectl set-hostname rabbitmq1
hostnamectl set-hostname rabbitmq2
hostnamectl set-hostname rabbitmq3
#安裝相關依賴環境
yum -y install ncurses-devel
#安裝erlang環境
cd /data/soft
wget http://erlang.org/download/otp_src_22.0.tar.gz
tar xvf otp_src_22.0.tar.gz
mv otp_src_22.0 /usr/local/erlang
#進行編譯安裝
cd /usr/local/erlang
./configure --prefix=/usr/local/erlang --without-javac
make && make install
#加入環境變數
echo 'export PATH=$PATH:/user/local/erlang/bin' >> /etc/profile
ln -s /usr/local/erlang/bin/erl /usr/local/bin/erl
#下載rabbitmq3.7.15版本
cd /data/soft
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.15/rabbitmq-server-generic-unix-3.7.15.tar.xz
#配置防火墻
firewall-cmd --zone=public --add-port=5672/tcp --permanent
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --zone=public --add-port=25672/tcp --permanent
firewall-cmd --zone=public --add-port=4369/tcp --permanent
firewall-cmd --reload
#配置服務器hosts
echo '192.168.116.80 rabbitmq1 192.168.116.90 rabbitmq2 192.168.116.100 rabbitmq3' >> /etc/hosts
#安裝RabbitMQ
cd /data/soft
xz -d rabbitmq-server-generic-unix-3.7.15.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.7.15.tar &> /dev/null
mv rabbitmq_server-3.7.15/ /data/rabbitmq
echo 'export PATH=/data/rabbitmq/sbin:$PATH' >> /etc/profile
source /etc/profile
#啟用MQ后臺管理方式
rabbitmq-plugins enable rabbitmq_management
#運行rabbitmq
rabbitmq-server
#創建RabbitMQ組態檔并修改
cd /data/rabbitmq/etc/rabbitmq
touch rabbitmq-env.conf
vim rabbitmq-env.conf
NODENAME=rabbit@rabbitmq1
MNESIA_BASE=/data/rabbitmq/mnesia
LOG_BASE=/data/rabbitmq/log
#將rabbitmq.conf檔案也放在/data/rabbitmq/etc/rabbitmq 該目錄下
#添加RabbitMQ用戶 組態檔添加并修改過后,需要重啟RabbitMQ后并創建用戶(自帶的默認用戶不允許本機之外的機器登錄),先用kill命令殺掉所有RabbitMQ的行程,然后啟動mq(以守護行程啟動)
rabbitmq-server -detached
rabbitmqctl add_user admin hanweb
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
rabbitmqctl set_user_tags admin administrator
#查看所有用戶
rabbitmqctl list_users
#添加RabbitMQ至集群
cd
chmod 400 .erlang.cookie
#確保各個節點的cookie檔案使用的是同一個值,可以讀取node1節點的cookie值,然后將其復制到rabbitmq2和rabbitmq3節點中,
scp .erlang.cookie 192.168.116.90:~
scp .erlang.cookie 192.168.116.100:~
#在rabbit@rabbitmq2執行命令添加磁盤節點
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@rabbitmq1
rabbitmqctl start_app
#在rabbit@rabbitmq3執行命令添加記憶體節點
rabbitmqctl stop_app
rabbitmqctl join_cluster --ram rabbit@rabbitmq1
rabbitmqctl start_app
#集群創建成功后查看狀態
rabbitmqctl cluster_status
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/323369.html
標籤:其他
上一篇:一個困擾程式員很多年的問題:微服務領域SpringCloud這么火,為何還要學習SpringCloud Alibaba?
