2019年11月29日 星期五

vCD100,安裝 RabbitMQ (CentOS7.1)

RabbitMQ
是vCD做 Multi Cell必須的元件
RabbitMQ
被用來當作訊息的代理
一些控制指令的傳遞都靠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囉

沒有留言:

張貼留言