使用docker 搭建rabbitmq 集群

栏目: 后端 · 发布时间: 5年前

内容简介:之前几篇文章简要的介绍了一下rabbitmq的使用场景和特性,但是对rabbitmq的集群和网络分区这块没有提及到。本文主要介绍一下rabbitmq 集群的搭建过程,包括相应的命令使用,关于rabbitmq的网络分区,后面再总结。本篇文章要点:docker 镜像仓库:存储docker 镜像的地方,可以与maven的仓库做类比。

之前几篇文章简要的介绍了一下rabbitmq的使用场景和特性,但是对rabbitmq的集群和网络分区这块没有提及到。本文主要介绍一下rabbitmq 集群的搭建过程,包括相应的命令使用,关于rabbitmq的网络分区,后面再总结。

本篇文章要点:

  • docker 使用简单介绍
  • 使用 docker 搭建rabbitmq 集群

docker 使用简单介绍:

  • 问:什么是docker?
  • 答: docker 是容器化技术的一种实现,它是一个轻量级、便携式、与外界隔离的容器,也是一个可以在容器中很方便地构建、传输、运行应用的引擎。和传统的虚拟化技术不同的是,Docker 引擎并不虚拟出一台虚拟机,而是直接使用宿主机的内核和硬件,直接在宿主机上运行容器内应用。
使用docker 搭建rabbitmq 集群
  • docker 主要用来解决什么问题?

    docker 主要通过将程序和运行环境打包到一起,解决部署的环境依赖问题,真正做到跨平台的分发与使用。

  • docker 常用概念介绍:

    docker 容器: docker 容器从形态上看是运行在虚拟机上的一个进程,该进程加入了资源的隔离和限制。

    docker 镜像:相比容器而言,docker镜像是一个相对静态的概念,可以看做是容器对应的文件系统。

    容器和镜像时可以相互转换的:

使用docker 搭建rabbitmq 集群

docker 镜像仓库:存储docker 镜像的地方,可以与maven的仓库做类比。

  • docker 的常见操作:

    docker info : 查看docker 运行状态以及版本相关信息的概念,是整个docker daemon 守护进程运行状况的缩影,包括容器个数,镜像个数,daemon 版本,使用的存储驱动等信息。 docker pull :从docker 镜像仓库拉取镜像

    docker push: 提交镜像到镜像仓库 (和git的操作命令很类似)

    docker ps :查看容器(运行的docker进程)

    docker run :运行docker 镜像

    docker start/stop: 启停docker 容器 docker build :构建Docker镜像 docker tag:给镜像打标签 docker exec :在docker 容器类执行命令

    关于每个命令的相关参数和选项有很多的资料对这块做介绍,这里就不啰嗦了。

    当然针对docker 还有很多知识,比如dockerfile 的相关指令,docker 网络类型,存储驱动类型,docker compose ,docker swarm 等等偏运维的知识点特别多,后续在对docker 的实践总结中再细说。

    docker 搭建rabbitmq 集群:

    • docker 安装运行rabbitmq;
    • 加入rabbitmq节点到集群

docker 安装运行rabbitmq:

docker run -d --hostname rabbit1 --name myrabbit1 -p 15672:15672 -p 5672:5672 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' rabbitmq

docker run -d --hostname rabbit2 --name myrabbit2 -p 5673:5672 --link myrabbit1:rabbit1 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' rabbitmq

docker run -d --hostname rabbit3 --name myrabbit3 -p 5674:5672 --link myrabbit1:rabbit1 --link myrabbit2:rabbit2 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' rabbitmq
复制代码

注意:RABBITMQ_ERLANG_COOKIE 集群中不同节点的erlang cookie值要相同

加入rabbitmq 到集群:

设置节点1:
 docker exec -it myrabbit1 bash rabbitmqctl stop_app 
 rabbitmqctl reset
 rabbitmqctl start_app
 
 设置节点2:
 docker exec -it myrabbit2 bash 
 rabbitmqctl stop_app 
 rabbitmqctl reset 
 rabbitmqctl join_cluster --ram rabbit@rabbit1 
 rabbitmqctl start_app
 
 设置节点3:
 docker exec -it myrabbit2 bash 
 rabbitmqctl stop_app 
 rabbitmqctl reset 
 rabbitmqctl join_cluster --ram rabbit@rabbit1 
 rabbitmqctl start_app
复制代码

设置好之后,使用http://物理机ip:15672 进行访问了,默认账号密码是guest/guest 启动了3个节点,1个磁盘节点和2个内存节点。

##总结 本文只是简单的介绍了一下通过docker搭建一个简单的集群的相关步骤和命令。关于rabbitmq网络分区的相关机制,后续文章再进一步介绍。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

推荐系统

推荐系统

[奥地利] Dietmar Jannach、Markus Zanker、Alexander Felfernig、Gerhard Friedrich / 蒋 凡 / 人民邮电出版社 / 2013-6-25 / 59.00元

编辑推荐: 通过对本书的学习,读者不仅可以全面系统地了解该领域的基础原理,还能试验如何搭建一套真正的推荐系统。 —— 百度主任架构师、百度技术委员会主席 廖若雪 本书比较全面地介绍了推荐系统涉及的相关知识点,很适合对于推荐系统感兴趣的相关人员作为入门教程,目前能够系统全面介绍相关技术的中文书籍还显得匮乏,相信这本译著对于缓解这种情况大有裨益。 ——新浪微博数据挖掘技术专家 ......一起来看看 《推荐系统》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

SHA 加密
SHA 加密

SHA 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具