zoukankan      html  css  js  c++  java
  • RabbitMQ (简单集群部署操作)

    RabbitMQ 集群部署

    前期准备

    第一步:三台linux系统(centos7.3)

    主机名(hostname) 网卡ip
    node1 192.168.137.138
    node2 192.168.137.139
    node3 192.168.137.140
    ##所有node操作:域名解析ip
    
    # vim /etc/hosts
    ...
    192.168.137.139  node2
    192.168.137.140  node3
    192.168.137.138  node1
    ...
    
    ##ndoe1 操作:无密钥登陆其他主机
    
    [root@node1 ~]# ssh-keygen
    
    [root@node1 ~]# ssh-copy-id node2
    [root@node1 ~]# ssh-copy-id node3
    

    布置RabbitMQ集群

    第一步:下载安装

    ##所有node安装rabbtimq和erlang软件包
    
    yum install -y erlang rabbitmq-server.noarch
    systemctl start rabbitmq-server.service
    systemctl status rabbitmq-server.service
    systemctl enable rabbitmq-server.service
    
    

    第二步:检查(可选)

    ##所有node操作
    
    #检查端口:RabbitMQ 端口号为5672
    ss -ntl |grep 5672
    
    #主配置文件目录
    /etc/rabbitmq/rabbitmq.config
    

    第三步:添加一个openstack的用户,并设密码为RABBIT_PASS。并设置权限和成为管理员

    ##node1操作
    
    rabbitmqctl add_user openstack RABBIT_PASS
    rabbitmqctl set_permissions openstack ".*" ".*" ".*"
    rabbitmqctl set_user_tags openstack administrator
     
    

    第四步:编辑rabbitmq变量文件

    ##node1:操作
    
    vim /etc/rabbitmq/rabbitmq-env.conf
    ...
    RABBITMQ_NODE_PORT=5672
    ulimit -S -n 4096
    RABBITMQ_SERVER_ERL_ARGS="+K true +A30 +P 1048576 -kernel inet_default_connect_options [{nodelay,true},{raw,6,18,<<5000:64/native>>}] -kernel inet_default_listen_options [{raw,6,18,<<5000:64/native>>}]"
    RABBITMQ_NODE_IP_ADDRESS=172.16.254.60
    ...
    

    第五步:将rabbittmq变量文件拷贝到其他两节点,之后并修改相应节点的ip

    ##node1操作
    
    scp /etc/rabbitmq/rabbitmq-env.conf node2:/etc/rabbitmq/
    scp /etc/rabbitmq/rabbitmq-env.conf node3:/etc/rabbitmq/
    
    ##将ip修改为相应节点的ip
    
    

    第六步:开启rabbitmq的web管理页面

    ##所有node操作
    
    ##查看rabbitmq插件
    /usr/lib/rabbitmq/bin/rabbitmq-plugins list
    
    
    ##开启rabbitmq的web管理页面
    /usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management mochiweb webmachine rabbitmq_web_dispatch amqp_client rabbitmq_management_agent
    ##或者:
    rabbitmq-plugins enable rabbitmq_management
    
    
    systemctl restart rabbitmq-server.service
    systemctl status rabbitmq-server.service
    

    第七步:node1发送erlang.cookie到其他节点配置集群

    rabbitmqctl status
    scp /var/lib/rabbitmq/.erlang.cookie node2:/var/lib/rabbitmq/.erlang.cookie
    scp /var/lib/rabbitmq/.erlang.cookie node3:/var/lib/rabbitmq/.erlang.cookie
    

    第八步:node2和node3停止应用,并以ram的方式加入node1节点,之后重启应用

    systemctl restart rabbitmq-server.service
    rabbitmqctl stop_app
    rabbitmqctl join_cluster --ram rabbit@node1
    rabbitmqctl start_app
    

    第九步:检查集群的状态

    # rabbitmqctl cluster_status
    

    第十步:登陆

    192.168.137.138:15672
    


    其他命令操作

    修改guest密码为admin(默认用户为:guest 密码为:guest)

    rabbitmqctl change_password guest admin
    

    添加管理员:

    rabbitmqctl add_user mqadmin mqadmin
    rabbitmqctl set_user_tags mqadmin administrator
    rabbitmqctl set_permissions -p / mqadmin ".*" ".*" ".*"
    

    更改节点类型(内存型或磁盘型)

    rabbitmqctl stop_app
    rabbitmqctl change_cluster_node_type disc 或 rabbitmqctl change_cluster_node_type ram
    rabbitmqctl start_app
    

    从集群移除节点(或者重置节点)

    rabbitmqctl stop_app
    rabbitmqctl reset
    rabbitmqctl start_app
    rabbitmqctl cluster_status
    

    从某个节点移除集群中其他节点

    rabbitmqctl forget_cluster_node rabbit@node3
    rabbitmqctl reset
    rabbitmqctl start_app
    rabbitmqctl cluster_status
    

    rabbitmqctl命令官方文档:

    https://www.rabbitmq.com/rabbitmqctl.8.html

  • 相关阅读:
    SharePoint 2010 User Profile Sync Service自动停止
    如何区别多个svchost.exe?
    Log Parser分析IIS log的一个简单例子
    Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.
    Windows中右键点击文件夹, 结果找不到共享选项卡, 怎么办?
    介绍SOS中的SaveModule命令
    SharePoint中Draft版本的文档不会收到document added的Alert Email
    和我一起学Windows Workflow Foundation(1)创建和调试一个WF实例
    门户网站
    C#基础—— check、lock、using语句归纳
  • 原文地址:https://www.cnblogs.com/du-z/p/11254203.html
Copyright © 2011-2022 走看看