zoukankan      html  css  js  c++  java
  • CenterOS7上搭建RabbitMQ集群

    1 保证多个主机之间能够互相访问

    修改host ,

    vi /etc/hosts

    例如修改成下面的内容:

    192.168.10.157 rabbitmq-1
    
    192.168.10.159 rabbitmq-2
    
    192.168.10.161 rabbitmq-3.

    修改后,测试各个主机是否能够互相ping通

    2 关闭防火墙,或者添加以下端口

    systemctl stop firewalld

    或者添加端口 

      firewall-cmd --permanent --zone=public --add-port=4369/tcp  
      firewall-cmd --permanent --zone=public --add-port=5672/tcp
      firewall-cmd --permanent --zone=public --add-port=25672/tcp
      firewall-cmd --permanent --zone=public --add-port=5671-5672/tcp
      firewall-cmd --permanent --zone=public --add-port=15672/tcp
      firewall-cmd --permanent --zone=public --add-port=61613-61614/tcp
      firewall-cmd --permanent --zone=public --add-port=1883/tcp
      firewall-cmd --permanent --zone=public --add-port=8883/tcp  

    添加后重启防火墙生效 systemctl reload firewalld.service

    3 安装Erlang (RabbitMq是用Erlang编写的)

    3.1 新建 /etc/yum.repos.d/rabbitmq-erlang.repo 文件并添加一下内容

    [rabbitmq-erlang]
    name=rabbitmq-erlang
    baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/20/el/7
    gpgcheck=1
    gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
    repo_gpgcheck=0
    enabled=1

    3.2 执行命令 yum install erlang ,安装的过程中提示yes/no 选择yes 3.3 检查是否安装成功,输入命令 erl ,如果有返回版本号之类的信息就说明安装成功 连续 按两次 Ctrl +C 退出 Erlang命令交互环境

    4 安装RabbitMQ

    4.1 新建 /etc/yum.repos.d/rabbitmq.repo 文件并添加一下内容

    [bintray-rabbitmq-server]
    name=bintray-rabbitmq-rpm
    baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.7.x/el/7/
    gpgcheck=0
    repo_gpgcheck=0
    enabled=1

    4.2 下载安装包

    mkdir /usr/rabbitmq_pkg
    cd /usr/rabbitmq_pkg
    wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm

    4.3 安装 yum install rabbitmq-server-3.6.10-1.el7.noarch.rpm

    5 设置各个主机的Erlang Cookie相同

    输入命令cat /var/lib/rabbitmq/.erlang.cookie查看节点的Cookie 一般安装后各个节点的的Cookie 是不相同的,需要设置成一样的才行 用scp命令快速复制, 如 scp /var/lib/rabbitmq/.erlang.cookie root@192.168.5.239:/var/lib/rabbitmq/.erlang.cookie 将当前主机的cookie 复制到239主机上

    6 启动RabbitMq服务

    启动服务 service rabbitmq-server start 查看服务是否启动 service rabbitmq-server status 设置服务随系统自动启动 chkconfig rabbitmq-server on 如果安装前,没有设置/etc/hosts ,现在设置也行最好提前设置,免得修改配置或有其它影响 ,设置后需要重启生效 service rabbitmq-server restart

    7 设置集群

    各个主机rabbitmq都启动后 ,分别运行 rabbitmqctl status 看返回内容的第一行 ,Status of node 后面的值 ,如Status of node 'rabbit@rabbitmq-1'  表明了当前的Rabbit节点的名称  在要设置为子节点的主机上运行命令: rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl join_cluster rabbit@rabbitmq-1 //注意 rabbit@rabbitmq-1 为主节点名称 rabbitmqctl start_app  运行 rabbitmqctl cluster_status 检查当前节点的状态  如果需要更改节点类型 ,输入下面的命令 rabbitmqctl stop_app rabbitmqctl change_cluster_node_type ram 设置为内存节点 (注意集群中至少需要一个磁盘节点) rabbitmqctl change_cluster_node_type disc 设置为磁盘节点 (注意集群中至少需要一个磁盘节点) rabbitmqctl start_app 

    8 设置访问权限编辑每个主机的rabbitmq配置

    运行命令: cp /usr/share/doc/rabbitmq-server- 3.6.10/rabbitmq.config.example/etc/rabbitmq/rabbitmq.config;

    vim /etc/rabbitmq/rabbitmq.config修改内容,查找loopback_users ,将所在行修改为 %% {loopback_users, []} , 保存并退出 , 使用命令 service rabbitmq-server restart重启服务

    9 添加用户

    rabbitmqctl add_user root 123456 // root 为用户名, 123456为密码 rabbitmqctl set_user_tags root administrator rabbitmqctl set_permissions -p / root ".*" ".*" ".*" service rabbitmq-server restart

    10 开启管理功能

    开启主节点的web管理功能 rabbitmq-plugins enable rabbitmq_management; 检查已开启的插件 rabbitmq-plugins list;

    浏览器访问 http://192.168.xxx.xxx:15672/#/ 输入用户名root ,密码123456登录查看

  • 相关阅读:
    JS判断对象是否为空
    让我感动的一首歌
    获取字符串字节长度跟截取字符串字节长度
    centos7安装mysql
    python 基础
    python + 爬虫 + fiddler + 夜神模拟器 爬取app(1)
    selenium
    adb自动化农药金币
    python 引流
    Python 并行分布式框架 Celery
  • 原文地址:https://www.cnblogs.com/francisXu/p/10571467.html
Copyright © 2011-2022 走看看