1.安装Erlang环境
下载erlang安装包,如otp_src_20.1.tar.gz
解包:tar -zvxf otp_src_20.1.tar.gz
进入目录:cd otp_src_20.1
检查编译环境:./configure --prefix=/home/erlang (如有报错,则需要安装依赖环境:
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel)
编译安装:make && make install
修改环境变量:vi /etc/profile
ERLANG_HOME=/home/erlang
export PATH=$PATH:$ERLANG_HOME/bin
export ERLANG_HOME
加载环境配置:source /etc/profile
2.安装RabbitMQ环境
下载RabbitMQ安装包,如:rabbitmq-server-generic-unix-3.7.3.tar.xz
解包:tar -vxf rabbitmq-server-generic-unix-3.7.3.tar.xz
重命名目录:mv rabbitmq_server-3.7.3/ rabbitmq
修改环境配置:vi /etc/profile
RABBITMQ_HOME=/home/rabbitmq
export PATH=$PATH:$RABBITMQ_HOME/sbin
export RABBITMQ_HOME
加载环境配置:source /etc/profile
启动RabbitMQ:rabbitmq-server -detached
查看rabbitmq的启动日志:/home/rabbitmq/var/log/rabbitmq/rabbit***.log
Starting RabbitMQ 3.7.3 on Erlang 20.1
Copyright (C) 2007-2018 Pivotal Software, Inc.
Licensed under the MPL. See http://www.rabbitmq.com/
2018-03-09 10:23:29.303 [info] <0.182.0>
node : rabbit@mq1
home dir : /root
config file(s) : (none)
cookie hash : BTbDyVSepeakA2vCQlwArw==
log(s) : /home/rabbitmq/var/log/rabbitmq/rabbit@mq1.log
: /home/rabbitmq/var/log/rabbitmq/rabbit@mq1_upgrade.log
database dir : /home/rabbitmq/var/lib/rabbitmq/mnesia/
rabbit@mq1
获取.erlang.cookie文件:由启动日志可以看到cookie的文件存放在/root文件夹下
cat /root/.erlang.cookie
暂停需要做为节点的服务:rabbitmqctl stop
将需要做为节点的服务器的cookie同步为主机的cookie文件:
scp -P56022 /root/.erlang.cookie 172.16.40.74:/root
修改host文件:vi /etc/hosts (host名称需与主机名相同)
xxxxx
mq1
xxxxx
mq2
xxxxx rmq1
xxxxx rmq2
加入rabbitmq节点:
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster
rabbit@mq1 (磁盘节点,集群必须最少要有一个)
rabbitmqctl join_cluster
rabbit@mq1 --ram (内存节点)
rabbitmqctl start_app
查看节点集群状态:rabbitmqctl cluster_status
Cluster status of node rabbit@mq1 ...
[{nodes,[{disc,[rabbit@mq1,rabbit@rmq1,rabbit@rmq2]},
{ram,[rabbit@mq2]}]},
{running_nodes,[rabbit@rmq2,rabbit@mq2,rabbit@rmq1,rabbit@mq1]},
{cluster_name,<<"rabbit@rmq1">>},
{partitions,[]},
{alarms,[{rabbit@rmq2,[]},
{rabbit@mq2,[]},
{rabbit@rmq1,[]},
{rabbit@mq1,[]}]}
开启每台节点服务器的web管理控件:rabbitmq-plugins enable rabbitmq_management
增加管理用户(一台执行,会同步到其他台):
rabbitmqctl add_user admin cqt1234
rabbitmqctl set_user_tags admin administrator