RabbitMQ
是vCD做 Multi Cell必須的元件
被用來當作訊息的代理
一些控制指令的傳遞都靠RabbitMQ來完成
你可以把他想像成一個郵局這
架構上
我預計用2台VM來做RabbitMQ的Cluster和同步queue
前面再用NSX來做SLB VIP
在RabbitMQ的部分
我的底層OS資訊如下
先安裝好一台,然後再Clone出一台
開始安裝吧~
先編輯一下/etc/hosts檔案
以免未來自己嚇自己
我的Lab環境RabbitMQ IP分別為65和66
Domain為vmlab1.net
hostname為 rabbitmq-1和rabbitmq-2
可以用以下指令直接寫入 /etc/hosts
echo "192.168.11.66 rabbitmq-2 rabbitmq-2.vmlab1.net" >> /etc/hosts
echo "192.168.11.65 rabbitmq-1 rabbitmq-1.vmlab1.net" >> /etc/hosts
切換到 tmp底下
我們等會把下載的套件都放到tmp底下
cd /tmp
因為RabbitMQ是用Erlang語言編寫
所以在安裝RabbitMQ 前必須要先有Erlang的環境
先下載erlang套件
wget https://github.com/rabbitmq/erlang-rpm/releases/download/v22.1.6/erlang-22.1.6-1.el7.x86_64.rpm
以及RabbitMQ套件
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.1/rabbitmq-server-3.8.1-1.el7.noarch.rpm
查看一下
是不是都下載好了
ls -al
開始安裝吧
yum install erlang-22.1.6-1.el7.x86_64.rpm
因為我的這台VM
是剛安裝佈署出來的
第一次連上internet時,會去update
若遇到正在OS正在更新,那就kill他吧
ps aux | grep yum
kill -9 xxx
再執行一次
yum install erlang-22.1.6-1.el7.x86_64.rpm
接著
繼續安裝
yum install rabbitmq-server-3.8.1-1.el7.noarch.rpm
啟動RabbitMQ服務
systemctl status rabbitmq-server | grep "Active"
systemctl restart rabbitmq-server
systemctl status rabbitmq-server | grep "Active"
設定開機自動啟動
systemctl enable rabbitmq-server
啟用RabbitMQ的Web 介面
rabbitmq-plugins enable rabbitmq_management
將 rabbitmq的目錄 給予權限
chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/
為 Web介面,建個 user
rabbitmqctl add_user admin 1qaz@WSX#EDC123
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
我不想去找他用了哪些port
直接停用 Firewall Policy 吧~
systemctl status firewalld | grep "Active"
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld | grep "Active"
CentOS7預設有開啟 selinux要允許 RabbitMQ
setsebool -P nis_enabled 1
用Browser開URL
用剛剛建的admin進行登入
http://XXXXXX:15672/
為何我的Lab中的RabbitMQ會是192.168.43呢
因為我先把VM接到手機的4GWifi上
出internet去下載 RabbitMQ 所需要的套件
這一切都設定完成後,會再把這個VM接回到 VM Network網路上
這時IP就不會是 192.168.43囉
沒有留言:
張貼留言