1、安裝Erlang環境java
一、下載erlang源代碼node
wget http://erlang.org/download/otp_src_19.1.tar.gz
二、安裝依賴相關庫文件服務器
yum install ncurses ncurses-base ncurses-devel ncurses-libs ncurses-static ncurses-term ocaml-curses ocaml-curses-devel openssl-devel zlib-devel -y
三、編譯安裝Erlangcookie
tar zxf otp_src_19.1.tar.gz cd otp_src_19.1 ./configure --prefix=/opt/erlang/19.1 --with-ssl -enable-threads -enable-smmp-support -enable-kernel-poll --enable-hipe --without-javac make && make install
四、配置環境變量(/etc/profile.d/erlang.sh)app
ERLANG_HOME=/opt/erlang/19.1 PATH=$ERLANG_HOME/bin:$PATH export ERLANG_HOME export PATH
source /etc/profile.d/erlang.shspa
五、驗證Erlang環境正確與否插件
執行命令:erl3d
2、安裝RabbitMQ3.6.6
unix
一、下載RabbitMQ源代碼code
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-generic-unix-3.6.6.tar.xz
xz -d rabbitmq-server-generic-unix-3.6.6.tar.xz
tar xf rabbitmq-server-generic-unix-3.6.6.tar
二、啓動、關閉rabbitmq-server
./rabbitmq-server -detached
./rabbitmq-plugins enable rabbitmq_management #開啓插件管理頁面 打開端口15672
./rabbitmqctl stop #關閉服務
三、建立用戶
./rabbitmqctl add_user admin password ./rabbitmqctl set_user_tags mquser administrator ./rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*" rabbitmqctl list_user_permissions admin
四、WEB登錄
http://*.*.*.*:15672
3、集羣搭建
一、服務器選擇
hostname IP
node1 192.168.1.100 node2 192.168.1.101 node3 192.168.1.102
二、在三臺服務器上分別修改配置
(1) 修改/etc/hosts
192.168.1.100 node1 192.168.1.101 node2 192.168.1.102 node3
(2) 修改/etc/sysconfig/network
HOSTNAME=node1 #node1服務器 HOSTNAME=node2 #node2服務器 HOSTNAME=node3 #node3服務器
(3) 設置hostname
hostname node1 #node1服務器 hostname node2 #node2服務器 hostname node3 #node3服務器
三、修改erlang.cookie,使三臺服務器保持一致
經過遠程複製文件(scp)或者直接複製內容均是能夠的
四、設置好erlang.cookie以後,使用detached後臺啓動rabbitmq-server
啓動 : ./rabbitmq-server -detached
查看各節點狀態:./rabbitmqctl cluster_status
五、把node二、node3分別加入到集羣node1中
rabbitmqctl stop_app ---僅關閉應用,節點不被關閉
(1) node2
./rabbitmqctl stop_app ./rabbitmqctl join_cluster --ram rabbit@node1 ./rabbitmqctl start_app
(2) node3
./rabbitmqctl stop_app ./rabbitmqctl join_cluster --ram rabbit@node1 ./rabbitmqctl start_app
六、查看集羣狀況
./rabbitmqctl cluster_status
[{nodes,[{disc,[rabbit@node1]},{ram,[rabbit@node3,rabbit@node2]}]}, {running_nodes,[rabbit@node3,rabbit@node2,rabbit@node1]}, {cluster_name,<<"rabbit@node1">>}, {partitions,[]}, {alarms,[{rabbit@node3,[]},{rabbit@node2,[]},{rabbit@node1,[]}]}]