1、erlang
先執行如下命令安裝依賴
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC-devel
yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget
然後去http://www.erlang.org/downloads下載源碼包到服務器上
tar -zxvf otp_src_20.2.tar.gz -C /usr/local/
解壓後執行
./otp_build autoconf
./configure
make && make install
全部執行完成後輸入erl命令驗證安裝
注意:每臺機器都要執行如上步驟
2、安裝rabbitmq
首先確認主機是否設置hostname,不能是localhost,否則無法建立集羣
到https://github.com/rabbitmq/rabbitmq-server/releases下載rabbitmq包
解壓文件
tar xvf rabbitmq-server-generic-unix-3.7.4.tar
mv rabbitmq_server-3.7.4/ rabbitmq
然後修改環境變量,增加
expor PATH=$PATH:/opt/rabbitmq/sbin
更新環境變量
source /etc/profile
啓動rabbitmq
rabbitmq-server -detached
增加用戶使後臺能夠訪問
mkdir /etc/rabbitmq
rabbitmq-plugins enable rabbitmq_management
rabbitmqctl add_user root root
rabbitmqctl set_permissions -p / root "." "." ".*"
rabbitmqctl set_user_tags root administrator
注意:每臺機器都要執行如上步驟
3、集羣配置
停止其中1臺機器
rabbitmqctl stop
複製存貨的那一臺機器運行rabbit用戶的根目錄下的.erlang.cookie文件,如/root/.erlang.cookie,把這個文件複製替換到停止的那臺機器對應用戶的同名文件,同時賦權
chmod 400 .erlang.cookie
啓動停止的節點,查看日誌,觀察cookie是否生效
rabbitmq-server -detached
查看節點狀態,此時應該只有1臺
rabbitmqctl cluster_status
然後在剛剛停止的節點上執行
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@dev01
rabbitmqctl start_app
此時再查看集羣狀態應該是
[root@dev02 ~]# rabbitmqctl cluster_status
Cluster status of node rabbit@dev02 ...
[{nodes,[{disc,[rabbit@dev01,rabbit@dev02]}]},
{running_nodes,[rabbit@dev01,rabbit@dev02]},
{cluster_name,<<"rabbit@dev01">>},
{partitions,[]},
{alarms,[{rabbit@dev01,[]},{rabbit@dev02,[]}]}]
在管理系統上應該也是如下圖