美文网首页
Linux(Centos7)上安装RabbitMq

Linux(Centos7)上安装RabbitMq

作者: 死海以东 | 来源:发表于2019-12-24 17:07 被阅读0次

    单机部署:

    1、安装erlang环境:

    最简单的方法,上传rpm包或下载

    # wget https://github.com/rabbitmq/erlang-rpm/releases/download/v21.3.8.11/erlang-21.3.8.11-1.el7.x86_64.rpm
    # yum -y localinstall erlang-21.3.8.11-1.el7.x86_64.rpm
    
    2、安装RabbitMq:

    最简单的方法,上传rpm包或下载包

    # wget https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.7.x/el/7/noarch/rabbitmq-server-3.7.7-1.el7.noarch.rpm
    # yum -y localinstall rabbitmq-server-3.7.7-1.el7.noarch.rpm
    
    3、添加开机启动:
    # systemctl daemon-reload
    # systemctl start rabbitmq-server
    # systemctl enable rabbitmq-server
    
    4、查看启动状态和端口:
    # systemctl status rabbitmq-server 或 rabbitmqctl status
    
    看到是running即为启动成功。
    # ss -atunlp |grep 5672
    
    成功启动会启动三个端口,分别是5672、15672、25672
    5、新建一个用户和密码(用于登录web,更新之后默认的guest用户已经不能登录了):
    5.1 创建用户和密码
    # rabbitmqctl add_user rabbit1 rabbit1
    
    # 设置创建的用户为管理员
    # rabbitmqctl set_user_tags rabbit1 administrator
    
    # 查看用户
    # rabbitmqctl list_users
    
    # 查看用户权限
    # rabbitmqctl list_user_permissions rabbit1
    
    6、开启RabbitMq的web访问界面:
    # rabbitmq-plugins enable rabbitmq_management
    

    集群部署:

    环境准备:(相互解析,且均单机部署完成)

    • 192.168.47.145 zabbix
    • 192.168.47.147 zabbix1
    • 192.168.47.129 zabbix2
    1、创建好数据存放目录和日志存放目录(每台都要弄):
    1.1 数据存放目录
    # mkdir -p /opt/rabbitmq/data
    
    1.2 日志存放目录
    # mkdir -p /opt/rabbitmq/logs
    
    1.3 授权
    # chmod 777 -R /opt/rabbitmq
    
    1.4 更改属主与属组
    # chown rabbitmq.rabbitmq -R /opt/rabbitmq
    
    1.5 创建配置文件
    # vim /etc/rabbitmq/rabbitmq-env.conf
    RABBITMQ_MNESIA_BASE=/opt/rabbitmq/data 
    RABBITMQ_LOG_BASE=/opt/rabbitmq/logs
    
    1.6 重启服务
    # systemctl restart rabbitmq-server
    
    2、拷贝cookie:

    拷贝其中一台rabbitmq的cookie到其他节点。被拷贝的rabbitmq为master,在这里将rabbitmq1做为master RabbitMq的集群是依附于erlang的集群来工作的,所以必须先构建起erlang的集群景象。Erlang的集群中各节点是经由 过程一个magic cookie来实现的,这个cookie存放在/var/lib/rabbitmq/.erlang.cookie中,文件是400的权 限。所以必须保证各节点cookie一致,不然节点之间就无法通信。 (官方在介绍集群的文档中提到过.erlang.cookie 一般会存在这两个地址:第一个是home/.erlang.cookie;第二个地 方就是/var/lib/rabbitmq/.erlang.cookie。如果我们使用解压缩方式安装部署的rabbitmq,那么这个文件会在{home} 目录下,就是$home/.erlang.cookie。如果我们使用rpm等安装包方式进行安装的,那么这个文件会在/var/lib/ rabbitmq目录下。)

    # scp /var/lib/rabbitmq/.erlang.cookie zabbix1:/var/lib/rabbitmq/.erlang.cookie
    
    # scp /var/lib/rabbitmq/.erlang.cookie zabbix2:/var/lib/rabbitmq/.erlang.cookie
    
    3、重启服务:
    # systemctl restart rabbitmq-server
    
    4、将节点加入集群:
    4.1 停止节点,切记不是停止服务
    # rabbitmqctl stop_app 
    
    4.2 如果有数据需要重置一下
    # rabbitmqctl reset 
    
    4.3 添加到了哪台节点,@后面的是节点的主机名(建议不要设置太长的主机名,否则解析不完整会导致出错)
    # rabbitmqctl join_cluster rabbit@zabbix
    
    4.4 启动节点
    # rabbitmqctl start_app 
    
    4.5 在每台机器上查看集群状态
    # rabbitmqctl cluster_status
    

    每台机器显示出三台节点,表示已经添加成功!

    1)默认rabbitmq启动后是磁盘节点,在这个cluster命令下,mq02和mq03是内存节点,mq01是磁盘节点。

    2)如果要使mq02、mq03都是磁盘节点,去掉--ram参数即可。

    3)如果想要更改节点类型,可以使用命令rabbitmqctl change_cluster_node_type disc(ram),前提是必须停掉 rabbit应用 在RabbitMQ集群集群中,必须至少有一个磁盘节点,否则队列元数据无法写入到集群中,当磁盘节点宕掉时,集群 将无法写入新的队列元数据信息。

    相关文章

      网友评论

          本文标题:Linux(Centos7)上安装RabbitMq

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