美文网首页
CentOS-7下安装rabbitMQ-3.7.3与集群搭建

CentOS-7下安装rabbitMQ-3.7.3与集群搭建

作者: 爱学习的蹭蹭 | 来源:发表于2019-06-16 06:29 被阅读0次

    1.前言

    1.1.编写目的

    本文简述了如何在CentOS中实现安装abbitmq-server v3.7.3。

    2.安装前的准备

    2.1.安装必备工作

    • 安装工具
    # yum install -y vim wget
    
    " 修改host
    # hostname
    # vim /etc/hosts
    
    " 在host中增加主机名解析,如:
    127.0.0.1 my-pc localhost
    
    • ==【!】特别注意,一定一定要先清除原系统中的rabbitmq残余!!,否则安装会出现各种问题。==
    # find / -name 'rabbitmq' | xargs rm -rf
    

    2.2.修改软件源

    # cd /etc/yum.repo.d/
    # mv CentOS-Base.repo CentOS-Base.repo.bak
    
    " 增加aliyun源
    # wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    

    增加erlang源

    # vim /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
    

    2.3.下载rabbitmq-server-3.7.3

    下载地址:https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.3

    3.执行安装

    3.1.安装rabbitmq-server-3.7.3

    # cd /path/to/Downloads
    
    # rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
    # yum install -y rabbitmq-server-3.7.3-1.el7.noarch.rpm
    

    【!】==注意,先关闭firewalld==

    " 解除firewall自动启动
    # systemctl disable firewalld
    
    " 关闭firewalld
    # systemctl disable firewalld
    

    3.2.rabbitMQ 相关命令

    " 开机启动
    # systemctl enable rabbitmq-server.service
    
    " 启动
    # systemctl start rabbitmq-server.service
    
    " 重启
    # systemctl restart rabbitmq-server.service
    
    " 关闭
    # systemctl stop rabbitmq-server.service
    
    

    3.3.开启web管理控制

    # rabbitmq-plugins enable rabbitmq_management
    

    3.4.web控制台

    • 访问地址:http://localhost:15672

    • ==【!】注意: 默认rabbitmq的guest为localhost访问==,要开启远程访问,需要做如下处理:

    # vim /etc/rabbitmq/rabbitmq.conf
    
    " 加入以下内容 
    loopback_users = none
    

    提示:

    3.4.查看端口

    # netstat -napt|grep 5672
    

    4. 集群与配置

    4.1.安装与准备

    • 在集群每个节点上按上述安装方法完成安装。
    • 在每个节点上做host节点解析。如:
    192.168.1.10 nodel_hostname
    192.168.1.11 node2_hostname
    192.168.1.12 node3_hostname
    

    【注意】:

    4.2.集群配置

    • 统一【.erlang.cookie】
    # cd /var/lib/rabbitmq
    
    " 复制该目录下的.erlang.cookie到其它节点
    " 注意保持权限【600】不变
    
    • 保持主节点rabbit启动正常运行。在其它节点上执行:
    " 查看rabbitmq状态
    $ rabbitmqctl status
    
    " 加入集群
    $ rabbitmq-server -detached
    $ rabbitmqctl stop_app 
    $ rabbitmqctl reset
    
    " 提示:若要删除节点时,跳过此句即可。
    $ rabbitmqctl join_cluster rabbit@node1_hostname
    
    $ rabbitmqctl start_app 
    
    " 查看节点集群状态
    $ rabbitmqctl cluster_status
    
    " 在节点上移除其它节点,如:
    $ rabbitmqctl forget_cluster_node rabbit@ode3_hostname
    

    如看如下类似信息,则表示加入集群成功:

    ...
    
    [{nodes,[{disc,[rabbit@hidden1,'rabbit@hidden2','rabbit@hidden3']}]},
     {running_nodes,[rabbit@hidden1,'rabbit@hidden2','rabbit@hidden3']},
     {cluster_name,<<"rabbit@hidden1">>},
     {partitions,[]}]
     
     ...
    
    • 登录web控制台,查看节群状态
    http://www.your-domain-or-ip.com:15672
    

    提示:

    • ==公网时,请删除了guest查看权限,修改guest密码。==
    • ==使用【5.1】节点的命令创建管理用户。==

    参考:

    5. 常用命令

    5.1.用户相关

    5.1.1.用户修改

    " 新增一个用户
    $ rabbitmqctl  add_user  Username  Password
    
    " 删除一个用户
    $ rabbitmqctl  delete_user  Username
    
    " 修改用户的密码
    $ rabbitmqctl  change_password  Username  Newpassword
    
    " 查看当前用户列表
    $ rabbitmqctl  list_users
    

    5.1.2.用户角色

    " 设置用户角色的命令,User为用户名,Tag为角色名:
    " - administrator
    " - monitoring
    " - policymaker
    " - management
    " - 或其他自定义名称
    $ rabbitmqctl  set_user_tags  User  Tag
    
    " 给同一用户设置多个角色,例如
    $ rabbitmqctl  set_user_tags  hncscwc  monitoring  policymaker
    

    【角色权限说明】:

    • 超级管理员(administrator)
      可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。

    • 监控者(monitoring)
      可登陆管理控制台(启用management plugin的情况下)
      同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)

    • 策略制定者(policymaker)
      可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。与administrator的对比,administrator能看到这些内容。

    • 普通管理者(management)
      仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。

    • 其他
      无法登陆管理控制台,通常就是普通的生产者和消费者。

    5.1.3.用户权限

    " 设置用户权限
    $ rabbitmqctl  set_permissions  -p  VHostPath  User  ConfP  WriteP  ReadP
    
    " 查看(指定hostpath)所有用户的权限信息
    $ rabbitmqctl  list_permissions  [-p  VHostPath]
    
    " 查看指定用户的权限信息
    $ rabbitmqctl  list_user_permissions  User
    
    " 清除用户的权限信息
    rabbitmqctl  clear_permissions  [-p VHostPath]  User
    

    参考:http://www.cnblogs.com/mingaixin/p/4134920.html

    6.常见问题

    6.1.RabbitMQ 3.7.4及以版本

    提示:==笔者亲测在CentOS 7上RabbitMQ 3.7.4,RabbitMQ 3.7.5无法安装成功。==

    6.2.cookie权限问题

    报错: [error] Error when reading /var/lib/rabbitmq/.erlang.cookie...

    解决:

    # chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
    

    7.参考

    此文章由以前技术老大撰写的一篇文章,在此借鉴一下,推荐Docker安装会更简单

    相关文章

      网友评论

          本文标题:CentOS-7下安装rabbitMQ-3.7.3与集群搭建

          本文链接:https://www.haomeiwen.com/subject/zvhbfctx.html