搭建配置rabbitmq集群过程

由于公司很早就搭建了mq的环境,测试环境单节点单实例,最近频繁出问题,包括落盘文件过多导致磁盘爆满等,所以决定将中间件服务器做成集群模式,为保证迁移后顺畅使用,都是使用的跟之前一样的老版本。



安装erlang环境

tar -xvf otp_src_17.3.tar.gz

mkdir /usr/local/erlang

make && make install

ln -s /usr/local/erlang/bin/erl /usr/local/bin/erl


ERLANG_HOME=/usr/local/erlang

PATH=$ERLANG_HOME/bin:$PATH

export ERLANG_HOME

export PATH



安装编译环境

yum install perl

yum install ncurses-devel

yum -y install gcc gcc-c++

yum -y install xmlto

yum install nc zip unzip


安装rabbitmq

tar -zxvf rabbitmq-server-3.1.5.tar.gz

make

make install TARGET_DIR=/server/rabbitmq SBIN_DIR=/server/rabbitmq/sbin MAN_DIR=/server/rabbitmq/man

mkdir /etc/rabbitmq

./rabbitmq-plugins enable rabbitmq_management



组成集群

同步三台的.erlang.cookie,在/root下

分别启动三台 /server/rabbitmq/sbin/rabbitmq-server  --detached

加入集群,hosts文件中的name要与主机名保持一致

rabbitmqctl stop_app 

rabbitmqctl reset 

rabbitmqctl join_cluster rabbit@public1

rabbitmqctl start_app 

另外一台同上,加入public1

查看状态

rabbitmqctl cluster_status

至此集群搭建完成,没有配置文件,一切按系统默认的方式运转,这里我需要修改落盘文件的存储位置到一个大一点的硬盘,新增配置文件


vim /etc/rabbitmq/rabbitmq-env.conf

内容:

RABBITMQ_MNESIA_BASE=/server/rabbitmq/data/mnesia

RABBITMQ_LOG_BASE=/server/rabbitmq/data/logs


将启动命令写到/etc/rc.local后发现开机不能自启,查看日志提示节点拒绝连接,分析启动命令后发现开机自启--/home后边没有指定cookie文件的位置,但手动执行会自动指定,不知道是什么原因,需探究一下Linux开机自启的原理,暂时忽略掉这个问题,修改rc.local为


su - root -c "source /etc/profile && /server/rabbitmq/sbin/rabbitmq-server --detached &"


至此彻底完成














猜你喜欢

转载自blog.51cto.com/14054734/2312324