Docker安装Rabbitmq实现容器集群主从节点

# 设置yum源

yum install -y yum-utils device-mapper-persistent-data lvm2 
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 
yum makecache fast

# 安装Docker-CE

yum -y install docker-ce

#设置开机自启动

systemctl enable docker 
systemctl restart docker

#验证

docker run hello-world

#首先我们现在在服务器上安装主Rabbitmq容器主节点rabbitmq-master

#指定rabbitmq版本、这边与开发确认后获取最新版本

docker pull rabbitmq

#期望容器中的配置文件、数据、日志再容器异常关闭或主动删除后保留,则需要配置挂载

#容器对应配置文件路径都是从https://hub.docker.com/_/rabbitmq上对应的官网操作中确认过的

mkdir -p /data/rabbitmq-master/{conf,data,logs}

#这边我用到了官方的配置文件,通过配置文件添加web管理端插件,

echo "[rabbitmq_management]." > /data/rabbitmq-master/conf/enabled_plugins 
cat > /data/rabbitmq-master/conf/rabbitmq.conf << EOF
loopback_users.guest = false 
listeners.tcp.default = 5672 
hipe_compile = false management.listener.port = 15672 
management.listener.ssl = false 
EOF

#运行容器、映射到宿主机,挂载Volume

docker run \
--name rabbitmq-master \ 
--hostname rabbit1 \ 
-p 5671:5671 \ -p 5672:5672 \ 
-p 15672:15672 \ -p 25672:25672 \ 
-v /data/rabbitmq-master/conf/:/etc/rabbitmq/ \ 
-e RABBITMQ_ERLANG_COOKIE='weiwei.rabbitcookie' \ 
-d rabbitmq

#原本想在宿主机上收集日志的,添加了下列参数,发现虽然可以启动但是有报错

-v /data/rabbitmq-master/data/:/var/lib/rabbitmq/ \

#-v /data/rabbitmq-masterq/logs/:/var/log/rabbitmq/log/ \

#报错2019-04-11 12:11:13.765 [error] <0.109.0> Failed to open crash log file /var/log/rabbitmq/log/crash.log with error: permission denied

#故按配置默认Logs: <stdout>标准输出,

#取消了-v /data/rabbitmq/logs/:/var/log/rabbitmq/log/ 参数

########################################################################

# 以上是主节点A的配置,接下来需要注意的是,宿主机上的端口5671,5672,15672,25672已#

#经监听了rabbitmq-master的默认端口,故这边需要修改rabbitmq-slave节点在宿主机上的监#

#听节点、配置文件、数据存放路径 #

########################################################################

#新建rabbitmq-slave配置文件、数据存放路径

mkdir -p /data/rabbitmq-slave/{conf,data,logs}

#这边我用到了官方的配置文件,通过配置文件添加web管理端插件,容器中

echo "[rabbitmq_management]." > /data/rabbitmq-slave/conf/enabled_plugins
cat > /data/rabbitmq-slave/conf/rabbitmq.conf << EOF 
loopback_users.guest = false 
listeners.tcp.default = 5672 
hipe_compile = false management.listener.port = 15672 
management.listener.ssl = false 
EOF

#运行容器、映射到宿主机,挂载Volume

docker run \
--hostname rabbit2 \ 
--name rabbitmq-slave \ 
-p 5673:5671 \ 
-p 5674:5672 \ 
-p 15673:15672 \ 
-p 25673:25672 \ 
--link rabbitmq-master:rabbit1 \ 
-v /data/rabbitmq-master/conf/:/etc/rabbitmq/ \ 
-e RABBITMQ_ERLANG_COOKIE='weiwei.rabbitcookie' \ 
-d rabbitmq

#进入rabbitmq-slave容器

参数“--ram”表示设置为内存节点,忽略次参数默认为磁盘节点。当然也可以不加

docker exec -it $(docker ps -qn 1) bash
rabbitmqctl stop_app
rabbitmqctl join_cluster --ram rabbit@rabbit1 
rabbitmqctl start_app

#记得登上去改密码或者按需求创建用户以及权限

#访问默认管理界面宿主机IP:15672 用户密码guest/guest

#可以看到两个节点都存在了

 

CSDN编辑窗口好麻烦,一点都不人性化

下面是的分享的有道云笔记

http://note.youdao.com/noteshare?id=4b2f944087b051056104b9c3c23ad356&sub=4FF19ADE7706433AAD998159A9AD6A5E

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大锅霍皮久

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值