环境 centos 7.4
172.16.91.217
172.16.91.218
安装包版本
http://www.erlang.org/download/otp_src_18.3.tar.gz
otp_src_18.3.tar.gz
http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.1/rabbitmq-server-generic-unix-3.6.1.tar.xz
rabbitmq-server-generic-unix-3.6.1.tar
两台机器 同时执行
安装 erlang环境
安装所需要依赖
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl openssl-devel xmlto zip unzip
把 安装 包 上传 到 /usr/local/src/
cd /usr/local/src/
tar -xzvf otp_src_18.3.tar.gz
mv otp_src_18.3 /usr/local/
cd /usr/local/otp_src_18.3/
./configure --prefix=/usr/local/erlang
make && make install
配置 erlang 环境变量
vim /etc/profile //在底部添加以下内容
#set erlang environment
ERL_HOME=/usr/local/erlang
PATH=$ERL_HOME/bin:$PATH
export ERL_HOME PATH
source /etc/profile //生效
在控制 台输入 erl 命令, 如果 进入 erlang 的shell 则证明安装成功
安装rabbitmq
cd /usr/local/src/
xz -d rabbitmq-server-generic-unix-3.6.1.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.6.1.tar
mv rabbitmq_server-3.6.1/ rabbitmq
mv rabbitmq /usr/local/
配置 rabbitmq 环境变量
vim /etc/profile
#set rabbitmq environment
export PATH=$PATH:/usr/local/rabbitmq/sbin
source /etc/profile
启动服务:
rabbitmq-server -detached //启动rabbitmq,-detached代表后台守护进程方式启动。
查看 状态
rabbitmqctl status
rabbitmq 集群操作
这里是 使用 rabbitmqctl 配置 rabbitmq 集群
操作 是 先 确保 ,所有 rabbitmq 都关闭
1 cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.91.217 217-centos
172.16.91.218 218-centos
首先 要保证 两个 域名 能够互通
2 编辑 rabbitmq 的 cookie文件,以确保 各个 节点 的cookie 文件使用
的是用一个值
vim $HOME/.erlang.cookie
把主节点 的 cookie 值 复制到从节点
3 然后启动 所有 rabbitmq
rabbitmq-server -detached
4 然后 在 从 节点上 执行 以下命令,逐个的加入主节点,成为一个集群
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@217-centos
rabbitmqctl start_app
5 然后 查看 集群 信息
[root@217-centos bin]# rabbitmqctl cluster_status
Cluster status of node 'rabbit@217-centos' ...
[{nodes,[{disc,['rabbit@217-centos','rabbit@218-centos']}]},
{running_nodes,['rabbit@217-centos']},
{cluster_name,<<"rabbit@217-centos">>},
{partitions,[]},
{alarms,[{'rabbit@217-centos',[]}]}]
错误排查:
当执行 rabbitmqctl join_cluster rabbit@217-centos
出现 Autentication failed异常
因为 我 把 217-centos 错误
写成 217_centos,造成两个主机互不相通