erlang rabbitmq-server安裝c++
yum -y install xsltproc fop tk unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel服務器
yum –y install erlangcookie
yum –y install rabbitmq-serverapp
服務器集羣信息,確保節點之間主機名能夠相互解析。3d
172.16.230.166 masterunix
172.16.230.167 slave1server
172.16.230.168 slave2blog
172.16.230.16六、16七、168 啓動rabbitmq進程rabbitmq
/etc/init.d/rabbitmq-server start進程
Rabbitmq的集羣是依賴於erlang的集羣來工做的,因此必須先構建起erlang的集羣環境。Erlang的集羣中各節點是經過一個magic cookie來實現的,這個cookie存放在$HOME/.Erlang.cookie 中,文件是400的權限。因此必須保證各節點cookie保持一致,不然節點之間就沒法通訊。
[root@master ~]# cd /var/lib/rabbitmq/
[root@master ~]# tar -zcvf erlang.cookie.tar.gz .erlang.cookie
[root@master ~]#scp erlang.cookie.tar.gz 172.16.230.167:/var/lib/rabbitmq/
[root@master ~]#scp erlang.cookie.tar.gz 172.16.230.168:/var/lib/rabbitmq/
[root@slave1 ~]# cd /var/lib/rabbitmq/; tar –zxvf erlang.cookie.tar.gz
[root@slave2 ~]# cd /var/lib/rabbitmq/; tar –zxvf erlang.cookie.tar.gz
前期準備工做已經完成,下面就來開始rabbitmq集羣的配置,有了erliang的集羣環境,rabbitmq集羣環境構建起來很簡單,只須要把其餘節點添加到一臺節點中便可,這裏採用將slave1 添加到master中 ,slave2添加到slave1上的方法。
集羣中有兩種節點:
1 內存節點:只保存狀態到內存(一個例外的狀況是:持久的queue的持久內容將被保存到disk)
2 磁盤節點:保存狀態到內存和磁盤。
[root@master ~]# rabbitmq-server –detached
[root@slave1 ~]# rabbitmq-server –detached
[root@slave2 ~]# rabbitmq-server –detached
[root@master ~]# rabbitmqctl cluster_status
[root@slave1 ~]# rabbitmqctl cluster_status
[root@slave2 ~]# rabbitmqctl cluster_status
[root@slave1 ~]# rabbitmqctl stop_app #關閉本機集羣節點
[root@slave1 ~]# rabbitmqctl reset #從新設置
[root@slave1 ~]# rabbitmqctl join_cluster –ram rabbit@master
[root@slave1 ~]# rabbitmqctl stop_app
查看集羣狀態
[root@master ~]# rabbitmqctl cluster_status
[root@slave1 ~]# rabbitmqctl cluster_status
Slave2 加入到slave1
[root@slave2~]# rabbitmqctl stop_app #關閉本機集羣節點
[root@slave2 ~]# rabbitmqctl reset #從新設置
[root@slave2 ~]# rabbitmqctl join_cluster –ram rabbit@master
[root@slave2~]# rabbitmqctl stop_app
查看集羣狀態
[root@master ~]# rabbitmqctl cluster_status
[root@slave1 ~]# rabbitmqctl cluster_status
[root@slave2 ~]# rabbitmqctl cluster_status
[root@master~]# rabbitmqctl stop_app #關閉本機集羣節點
[root@ master ~]# rabbitmqctl reset #從新設置
izhhhi[root@ master ~]# rabbitmqctl start_app