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,[]}]}]