首页 > 运维 > Docker > Centos7搭建RabbitMQ集群
2019
11-27

Centos7搭建RabbitMQ集群

#注意:本人是用docker来做的,基本都大同小异,有差异的就是docker镜像系统都是最小安装,里面很多依赖包都没有。

思路:先装好一个容器(centos7),然后把整个配置好的容器docker打包提交成镜像,然后再以这个配置好的镜像再启动2例容器,然后配置这三个容器,达到集群效果,其实和开了多个虚拟机是一样的。就不用每台机器都配置一下了,懒

废话不说,开始

1.启动这个容器

2.安装相关依赖(由于docker镜像centos系统都是很小的,很多软件和插件都没有)

安装这些依赖或软件前请 yum update一下,否则后面有你受的(各种低版本版本不被识别,编译erlang的时候气死你)

ssh安装成功,这时候你就可以用xshell连接这个容器服务器了

2.关闭防火墙,如果你一定要开着防火墙,请把rabbitmq所依赖的这几个端口【 5672|25672|15672 】和ssh远程连接端口【22】打开

3.安装依赖环境(安装前请先执行yum update 否则后面有你受的)

4.安装erlang

【错误区】

这里在检查环境的时候,很多时候会报

配置下环境变量 vim /etc/profile

source /etc/profile 刷新使环境变量生效

erlang安装成功

复制.erlang.cookie到其它集群机器上(注意,只有安装了rabbitmq才会生成erlang.cookie,所以这一步放到后面操作,因为目前我们就一台机器,另外因为我的镜像配置完后,其他容器依赖这个镜像启动,所以他们的cookie都一样,所以我也不用复制)

5.安装rabbitmq-server

安装完成 启动rabbitmq

看到 5672 25672 说明已经启动了

设置RabbitMQ开机启动

设置开机启动(个人感觉网上那个rabbitmq-server个脚本好像写的有问题,配置后并不能让其正常启动,个人采用下列方式配置开机启动)

到此单机配置rabbitMQ就配置完成,接下来提交这个容器为新的镜像(提交打包镜像不属于本节内容), 然后以这个新镜像,启动三个容器,开始集群配置

三个容器已正常启动,进入容器检查rabbitMQ是否启动,如果没启动手动启动下

1.配置host文件

2.下来配置 RabbitMQ添加集群:

查看集群是否成功

创建用户

访问客户端界面(ip:15672)

到此已经成功配置集群 对于RabbitMQ如何在开发语言中建立连接并使用 推荐看这个大神的文章 请点击这里跳转 写的太好了

个人目前应用场景:每天上游公司会推送一批百度关键词排名查询的信息,大约有100多万条,这个肯定不能直接一下插入100W条到数据库,mysql会死掉,目前解决办法是用rabbitMQ做缓冲,先入队列,然后再从队列取出来入库。

关于RabbitMQ持久化

这块不知道理解的对不对,有其他看法欢迎留言指出

然后使用 rabbitmqctl list_queues #列出队列

如果你是持久化添加,那么重启之后数据依然在

如果你是非持久化添加的队列,那么重启之后你会丢失这个队列

关于队列持久化,可以参考这篇文章理解 点击跳转,写的很棒。

补充#

关于RabbitMQ配置文件

如果不配置配置文件也好像没什么事情,但是日志会报

/etc/rabbitmq/rabbitmq.config(not found)

所以还是加上吧

找到你的编译目录,在目录下有个文件 rabbitmq.config.example 复制到 /etc/rabbitmq 下 更改名称为 rabbitmq.config 然后重新启动rabbitmq即可

然后这个not found 就不会有了

最后编辑:
作者:shooter
这个作者貌似有点懒,什么都没有留下。