rabbitmq部署 从单节点到集群,到镜像

想搭建镜像,也需要从单节点一步步往下,按顺序执行,应该不会有什么问题

准备工作:
1、设置主机名(根据自己主机的情况设置,主机名不能有.)
  

    hostnamectl set-hostname node01   ### 节点01
    hostnamectl set-hostname node02   ### 节点02

    hostnamectl --pretty
    hostnamectl --static
    hostnamectl --transient


2、相关软件

otp_src_22.1.tar.gz            (erlang)
rabbitmq-server-3.8.1-1.el7.noarch.rpm
csdn下载
https://download.csdn.net/download/qq_38263123/12011605
百度云链接:https://pan.baidu.com/s/1K5gHF_9T9TI1LeJ2xuOfNw 
提取码:7rwu 

\单节点部署:
1、安装依赖软件(安装前可检查是否已存在,存在则无需安装)
    

rpm -qa | grep gcc   ### 查看gcc是否存在
yum install gcc gcc-c++ autoconf ncurses-devel openssl-devel socat net-tools  ### 联网的情况下安装,否则需要下载相关软件进行安装

2、安装erlang

tar -xvf otp_src_22.1.tar.gz
cd otp_src_22.1
./configure
make && make install

3、设置环境变量

vi /etc/profile
export ERLANG_HOME=/usr/local/lib/erlang
export PATH=$PATH:$ERLANG_HOME/bin

source /etc/profile  ### 环境变量生效
erl   ## 测试erlang

4、安装rabbitmq
    

rpm -ivh --nodeps rabbitmq-server-3.8.1-1.el7.noarch.rpm 

5、在节点上启动rabbit

    systemctl start rabbitmq-server.service

6、启动RabbitMQWeb管理插件
  

  rabbitmq-plugins enable rabbitmq_management
    可通过浏览器访问http://192.168.153.2:15672或者http://192.168.153.3:15672

集群创建
1、设置各节点hosts文件(注意ip和主机名匹配)

  vi /etc/hosts
  192.168.153.2 node01
  192.168.153.3 node02


   
2、将node01中的/var/lib/rabbitmq/.erlang.cookie文件拷贝到node02,重启各基点rabbit服务
  

 scp [email protected]:/var/lib/rabbitmq/.erlang.cookie /var/lib/rabbitmq/.erlang.cookie
 systemctl restart rabbitmq-server.service  ### 重启服务

 


网上方法:
在复制的时候需要临时修改cookie文件的权限:
chmod 777 /var/lib/rabbitmq/.erlang.cookie
拷贝完毕后再把权限修改回来:
chmod 400 /var/lib/rabbitmq/.erlang.cookie

个人实际好像没有操作这一步?最后也成功了,不知道为什么要这样


  

3、将node02添加到集群

    (1)rabbitmqctl stop_app

如果报错,权限问题:
    02:51:59.717 [error] Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces
    
解决方法:
chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie


    (2)rabbitmqctl join_cluster --ram rabbit@node01
    (3)rabbitmqctl start_app


3、设置镜像策略(选择任一节点操作即可)
  

  rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'


rabbitmq集群节点操作
节点恢复过程中把数据删掉很重要,恢复一单结点,再清数据
节点增加:

1. rabbitmq-server -detached   --- .erlang.cooike的权限,400 属主rabbitmq
2. rabbitmqctl stop_app
3. rabbitmqctl join_cluster --ram rabbit@node01  ### 添加内存节点
4. rabbitmqctl start_app
5. rabbitmqctl  cluster_status


 
节点删除

1.  rabbitmq-server -detached
以上为基础,正常运行的mq节点直接进行2、3两步;4可省略或更改为rabbitmqctl stop
2. rabbitmqctl stop_app
3. rabbitmqctl reset 
4. rabbitmqctl start_app


 
硬删除:
直接删掉集群中的某个节点:

rabbitmqctl forget_cluster_node   node_name


rabbitmqctl list_vhosts


创建用户、资源以及分配操作权限

配置——>进入容器:docker container exec -it myrabbit /bin/bash

新增用户:rabbitmqctl add_user xxx(账号) xxx(密码)

查看用户:rabbitmqctl list_users

设置管理员:rabbitmqctl set_user_tags xxx(账号) administrator(权限)

添加虚拟环境:rabbitmqctl add_vhost xxx(名称)

查看:rabbitmqctl list_vhosts

设置权限:给这个用户所有权限:rabbitmqctl set_permissions -p xxx(账号) xxx(密码) ".*" ".*" ".*"

到这里 搭建完集群,建好账号,设置好权限,相信集群已经完成搭建了:

那么如何使用python+RabbitMQ 呢?

官方文档:

https://www.rabbitmq.com/getstarted.html

RabbitMQ 支持(以下是官方入门"第一课"文档链接,照着来就能跑起来)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章