环境准备:至少三台虚拟主机,操作系统为Centos6.5 X64位,CPU至少1核,内存2G,磁盘10G以上,配置好网络yum源,关闭iptables,关闭seliunx
- 安装Erlang环境
1,下载erlang源代码
wget http://erlang.org/download/otp_src_19.1.tar.gz
2,安装依赖相关库文件
yum install ncurses ncurses-base ncurses-devel ncurses-libs ncurses-static ncurses-term ocaml-curses ocaml-curses-devel openssl-devel zlib-devel gcc gcc- c++ -y
3, 编译安装Erlang
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
4, 配置环境变量(/etc/profile.d/erlang.sh)
ERLANG_HOME=/opt/erlang/19.1
PATH=$ERLANG_HOME/bin:$PATH
export ERLANG_HOME
export PATH
source /etc/profile.d/erlang.sh
5, 验证Erlang环境正确与否
执行命令:erl
- 安装RabbitMQ3.6.6
三台虚拟主机同时安装
1, 下载RabbitMQ源代码
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 # tar解压
2, 启动、关闭rabbitmq-server
[root@node1 ]# cd /usr/local/src/rabbitmq_server-3.6.6/sbin
./rabbitmq-server -detached
./rabbitmq-plugins enable rabbitmq_management #开启插件管理页面 打开端口15672
./rabbitmqctl stop #关闭服务
3, 创建用户
./rabbitmqctl add_user admin password # 创建admin 账号
./rabbitmqctl set_user_tags admin administrator # 设置admin账号为管理员权限
./rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*" # 设置admin 权限为所有权限(write,read)
./rabbitmqctl list_user_permissions admin # admin权限列表
4,WEB登陆
- 集群搭建
- 服务器hosts文件修改(vim /etc/hosts)
10.38.1.166 node1
10.38.1.177 node2
10.38.1.180 node3
2, 修改/etc/sysconfig/network
HOSTNAME=node1 #node1服务器
HOSTNAME=node2 #node2服务器
HOSTNAME=node3 #node3服务器
3, 设置 Erlang Cookie
Erlang Cookie 文件:/root/.erlang.cookie (注意编译安装的是这个文件)
[root@node1 ~]# chmod 777 /root/.erlang.cookie
[root@node1 ~]# scp -r /root/.erlang.cookie root@node2:/root/.erlang.cookie
[root@node1 ~]# scp -r /root/.erlang.cookie root@node3:/root/.erlang.cookie
[root@node1 ~]# chmod 400 /root/.erlang.cookie
[root@node1 ~]# chown rabbitmq.rabbitmq /root/.erlang.cookie
4, 设置好erlang.cookie之后,使用detached后台启动rabbitmq-server
启动: ./rabbitmq-server -detached
查看各节点状态:./rabbitmqctl cluster_status
5, 把node2、node3分别加入到集群node1中, rabbitmqctl stop_app ---仅关闭应用,节点不被关闭
- node2
./rabbitmqctl stop_app
./rabbitmqctl join_cluster --ram rabbit@node1
./rabbitmqctl start_app
- node3
./rabbitmqctl stop_app
./rabbitmqctl join_cluster --ram rabbit@node1
./rabbitmqctl start_app
6, 查看集群情况
./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,[]}]}]
7,然后分别进入各个节点,查看集群情况
http://10.38.1.166:15672/#/