1、erlang
先执行如下命令安装依赖
代码语言:javascript复制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下载源码包到服务器上
代码语言:javascript复制tar -zxvf otp_src_20.2.tar.gz -C /usr/local/
解压后执行
代码语言:javascript复制./otp_build autoconf
./configure
make && make install
全部执行完成后输入erl命令验证安装
注意:每台机器都要执行如上步骤
2、安装rabbitmq
首先确认主机是否设置hostname,不能是localhost,否则无法建立集群
到https://github.com/rabbitmq/rabbitmq-server/releases下载rabbitmq包
解压文件
代码语言:javascript复制tar xvf rabbitmq-server-generic-unix-3.7.4.tar
mv rabbitmq_server-3.7.4/ rabbitmq
然后修改环境变量,增加
代码语言:javascript复制expor PATH=$PATH:/opt/rabbitmq/sbin
更新环境变量
代码语言:javascript复制source /etc/profile
启动rabbitmq
代码语言:javascript复制rabbitmq-server -detached
增加用户使后台能够访问
代码语言:javascript复制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台机器
代码语言:javascript复制rabbitmqctl stop
复制存货的那一台机器运行rabbit用户的根目录下的.erlang.cookie文件,如/root/.erlang.cookie,把这个文件复制替换到停止的那台机器对应用户的同名文件,同时赋权
代码语言:javascript复制chmod 400 .erlang.cookie
启动停止的节点,查看日志,观察cookie是否生效
代码语言:javascript复制rabbitmq-server -detached
查看节点状态,此时应该只有1台
代码语言:javascript复制rabbitmqctl cluster_status
然后在刚刚停止的节点上执行
代码语言:javascript复制rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@dev01
rabbitmqctl start_app
此时再查看集群状态应该是
代码语言:javascript复制[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,[]}]}]
在管理系统上应该也是如下图