zoukankan      html  css  js  c++  java
  • CentOS7使用yum安装 RabbitMQ 单机安装配置

    CentOS7.x安装rabbitMQ

    1.添加erlang 源至yum存储库

    rpm -Uvh https://download.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

    2.安装erlang,遇到提示时,输入y命令

    yum install erlang

    3.导入RabbitMQ源,如果有依赖安装

     yum install socat -y

    rpm -Uvh https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.8/rabbitmq-server-3.6.8-1.el7.noarch.rpm

    4.安装RabbitMQ公共库秘钥

    rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc

    5.启动RabbitMQ服务

    service rabbitmq-server start

    6.查看RabbitMQ服务状态

    service rabbitmq-server status

    CentOS RabbitMQ rpm 安装方法:

    系统环境:CentOS6
    IP地址:10.100.62.41

    1.erlang安装:

    erlang下载地址:
    http://www.rabbitmq.com/releases/erlang/
    
    [root@v05-apppre-rabbitmq ~]# cd /opt/ytd_src/
    
    [root@v05-apppre-rabbitmq ytd_src]# wget http://www.rabbitmq.com/releases/erlang/erlang-18.2-1.el6.x86_64.rpm
    --2017-10-30 07:30:33--  http://www.rabbitmq.com/releases/erlang/erlang-18.2-1.el6.x86_64.rpm
    正在解析主机 www.rabbitmq.com (www.rabbitmq.com)... 104.20.62.197, 104.20.63.197, 2400:cb00:2048:1::6814:3fc5, ...
    正在连接 www.rabbitmq.com (www.rabbitmq.com)|104.20.62.197|:80... 已连接。
    已发出 HTTP 请求,正在等待回应... 200 OK
    长度:18354700 (18M) [application/x-redhat-package-manager]
    正在保存至: “erlang-18.2-1.el6.x86_64.rpm”
    
    100%[===============================================================================>] 18,354,700   134KB/s 用时 3m 41s 
    
    2017-10-30 07:34:16 (81.0 KB/s) - 已保存 “erlang-18.2-1.el6.x86_64.rpm” [18354700/18354700])
    
    [root@v05-apppre-rabbitmq ytd_src]# ll
    总用量 17928
    -rw-r--r-- 1 root root 18354700 1月   3 2016 erlang-18.2-1.el6.x86_64.rpm
    
    [root@v05-apppre-rabbitmq ytd_src]# rpm -ivh erlang-18.2-1.el6.x86_64.rpm 
    准备中...                          ################################# [100%]
    正在升级/安装...
       1:erlang-18.2-1.el6                ################################# [100%]
    [root@v05-apppre-rabbitmq ytd_src]# 
    
    erlang版本地址:
    wget –no-cache http://www.convirture.com/repos/definitions/rhel/6.x/convirt.repo -O /etc/yum.repos.d/convirt.repo
    yum makecache
    yum install socat
    

    2.rabbitMQ安装:

    下载地址:https://dl.bintray.com/rabbitmq/rabbitmq-server-rpm/
    
    [root@v05-apppre-rabbitmq ytd_src]# wget https://dl.bintray.com/rabbitmq/rabbitmq-server-rpm/rabbitmq-server-3.6.12-1.el6.noarch.rpm
    --2017-10-30 07:42:07--  https://dl.bintray.com/rabbitmq/rabbitmq-server-rpm/rabbitmq-server-3.6.12-1.el6.noarch.rpm
    正在解析主机 dl.bintray.com (dl.bintray.com)... 35.161.20.85, 52.34.155.241
    正在连接 dl.bintray.com (dl.bintray.com)|35.161.20.85|:443... 已连接。
    ......
    已发出 HTTP 请求,正在等待回应... 200 OK
    长度:4964260 (4.7M) [application/x-rpm]
    正在保存至: “rabbitmq-server-3.6.12-1.el6.noarch.rpm”
    
    100%[===============================================================================>] 4,964,260   1.54MB/s 用时 3.1s   
    
    2017-10-30 07:42:14 (1.54 MB/s) - 已保存 “rabbitmq-server-3.6.12-1.el6.noarch.rpm” [4964260/4964260])
    [root@v05-apppre-rabbitmq ytd_src]# ll
    总用量 22776
    -rw-r--r-- 1 root root 18354700 1月   3 2016 erlang-18.2-1.el6.x86_64.rpm
    -rw-r--r-- 1 root root  4964260 9月  21 03:34 rabbitmq-server-3.6.12-1.el6.noarch.rpm
    
    [root@v05-apppre-rabbitmq ytd_src]# rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
    [root@v05-apppre-rabbitmq ytd_src]# rpm -ivh rabbitmq-server-3.6.12-1.el6.noarch.rpm
    错误:依赖检测失败:
            socat 被 rabbitmq-server-3.6.12-1.el6.noarch 需要
            
            
    解决报错:
    
    [root@v05-apppre-rabbitmq ytd_src]# wget –no-cache http://www.convirture.com/repos/definitions/rhel/6.x/convirt.repo -O /etc/yum.repos.d/convirt.repo
    [root@v05-apppre-rabbitmq ytd_src]# yum makecache -y
    [root@v05-apppre-rabbitmq ytd_src]# yum install socat -y
    
    [root@v05-apppre-rabbitmq ytd_src]# rpm -ivh rabbitmq-server-3.6.12-1.el6.noarch.rpm 
    准备中...                          ################################# [100%]
    正在升级/安装...
       1:rabbitmq-server-3.6.12-1.el6     ################################# [100%]
    

    3.安装管理插件:

    [root@v05-apppre-rabbitmq ytd_src]# rabbitmq-plugins enable rabbitmq_management
    

    4.启动服务:

    [root@v05-apppre-rabbitmq ytd_src]# service rabbitmq-server start
    Starting rabbitmq-server (via systemctl):                  [  确定  ]
    

    5.浏览器访问:

    http://10.100.62.41:15672
    

    用系统默认的guest账号  结果登录失败  可能权限的问题吧,果断创建一个用户.

    添加用户:
    [root@v05-apppre-rabbitmq ytd_src]# rabbitmqctl add_user admin 123456
    Creating user "admin"
    [root@v05-apppre-rabbitmq ytd_src]# rabbitmqctl set_user_tags admin administrator
    Setting tags for user "admin" to [administrator]
    [root@v05-apppre-rabbitmq ytd_src]#
    

    6.重启服务:

    [root@v05-apppre-rabbitmq ytd_src]# service rabbitmq-server restart
    

    至此MQ单机版就已经安装完成了.

    解决/etc/rabbitmq/rabbitmq.config (not found)问题:

    Config file	/etc/rabbitmq/rabbitmq.config  (not found)
    Database directory	/var/lib/rabbitmq/mnesia/rabbit@localhost
    Log file	/var/log/rabbitmq/rabbit@localhost.log
    SASL log file	/var/log/rabbitmq/rabbit@localhost-sasl.log
    
    新建一个文件:/etc/rabbitmq/rabbitmq.config,输入一下配置内容:
    
    [{rabbit, [{loopback_users, []}]}].

    由于机器有限,就打算在测试环境给搭建个单机集群版的MQ。

    单机集群版配置:

    查看第一个节点的状态,(就是默认的单机版状态)

    [root@v05-apppre-rabbitmq ~]# rabbitmqctl status
    Status of node 'rabbit@v05-apppre-rabbitmq'
    [{pid,1957},
     {running_applications,
    
    我们看到默认启动的是rabbit@v05-apppre-rabbitmq 
    

    1.启动第一个节点(即是单机MQ)

    RABBITMQ_NODE_PORT=5672 RABBITMQ_NODENAME=rabbit@v05-apppre-rabbitmq rabbitmq-server
    #由于这个MQ前面已经启动,在这里再启动时可能会报已经启动的错误,暂且不理.
    

    2.启动第二个节点:

    RABBITMQ_NODE_PORT=5673 RABBITMQ_SERVER_START_ARGS="-rabbitmq_management listener [{port,15673}] -rabbitmq_stomp tcp_listeners [61614] -rabbitmq_mqtt  tcp_listeners [1884]" RABBITMQ_NODENAME=rabbit-01@v05-apppre-rabbitmq rabbitmq-server -detached
    
    [root@v05-apppre-rabbitmq ~]# rabbitmqctl status -n rabbit-01@v05-apppre-rabbitmq
    Status of node 'rabbit-01@v05-apppre-rabbitmq'
    [{pid,17574},
    ......
    

    3.启动第三个节点:

    RABBITMQ_NODE_PORT=5674 RABBITMQ_SERVER_START_ARGS="-rabbitmq_management listener [{port,15674}] -rabbitmq_stomp tcp_listeners [61615] -rabbitmq_mqtt  tcp_listeners [18845]" RABBITMQ_NODENAME=rabbit-02@v05-apppre-rabbitmq rabbitmq-server -detached
    
    [root@v05-apppre-rabbitmq ~]# rabbitmqctl status -n rabbit-02@v05-apppre-rabbitmq                                        Status of node 'rabbit-02@v05-apppre-rabbitmq'
    [{pid,19076},
    ......
    

    集群操作:

    节点二(rabbit-01@v05-apppre-rabbitmq)添加到集群:

    停止第二个节点的应用程序:
    [root@v05-apppre-rabbitmq ~]# rabbitmqctl -n rabbit-01@v05-apppre-rabbitmq stop_app
    Stopping rabbit application on node 'rabbit-01@v05-apppre-rabbitmq'
    
    重新设置第二个节点的元数据和状态为清空状态
    [root@v05-apppre-rabbitmq ~]# rabbitmqctl -n rabbit-01@v05-apppre-rabbitmq reset
    Resetting node 'rabbit-01@v05-apppre-rabbitmq'
    [root@v05-apppre-rabbitmq ~]# 
    
    将rabbit-01@v05-apppre-rabbitmq节点加入rabbit@v05-apppre-rabbitmq集群节点中
    
    [root@v05-apppre-rabbitmq ~]# rabbitmqctl -n rabbit-01@v05-apppre-rabbitmq join_cluster rabbit@v05-apppre-rabbitmq   
    Clustering node 'rabbit-01@v05-apppre-rabbitmq' with 'rabbit@v05-apppre-rabbitmq'
    [root@v05-apppre-rabbitmq ~]# 
    重新启动rabbit-01@v05-apppre-rabbitmq节点
    [root@v05-apppre-rabbitmq ~]# rabbitmqctl -n rabbit-01@v05-apppre-rabbitmq start_app
    Starting node 'rabbit-01@v05-apppre-rabbitmq'
    

    节点三添加到集群:

    [root@v05-apppre-rabbitmq ~]# rabbitmqctl -n rabbit-02@v05-apppre-rabbitmq stop_app 
    Stopping rabbit application on node 'rabbit-02@v05-apppre-rabbitmq'
    [root@v05-apppre-rabbitmq ~]# rabbitmqctl -n rabbit-02@v05-apppre-rabbitmq reset 
    Resetting node 'rabbit-02@v05-apppre-rabbitmq'
    [root@v05-apppre-rabbitmq ~]# rabbitmqctl -n rabbit-02@v05-apppre-rabbitmq join_cluster rabbit@v05-apppre-rabbitmq 
    Clustering node 'rabbit-02@v05-apppre-rabbitmq' with 'rabbit@v05-apppre-rabbitmq'
    [root@v05-apppre-rabbitmq ~]# 
    [root@v05-apppre-rabbitmq ~]# rabbitmqctl -n rabbit-02@v05-apppre-rabbitmq start_app 
    Starting node 'rabbit-02@v05-apppre-rabbitmq'
    [root@v05-apppre-rabbitmq ~]# 
    

    查看集群状态:

    [root@v05-apppre-rabbitmq ~]# rabbitmqctl cluster_status -n rabbit@v05-apppre-rabbitmq   
    Cluster status of node 'rabbit@v05-apppre-rabbitmq'
    [{nodes,[{disc,['rabbit-01@v05-apppre-rabbitmq',
                    'rabbit-02@v05-apppre-rabbitmq',
                    'rabbit@v05-apppre-rabbitmq']}]},
     {running_nodes,['rabbit-02@v05-apppre-rabbitmq',
                     'rabbit-01@v05-apppre-rabbitmq',
                     'rabbit@v05-apppre-rabbitmq']},
     {cluster_name,<<"rabbit@v05-apppre-rabbitmq">>},
     {partitions,[]},
     {alarms,[{'rabbit-02@v05-apppre-rabbitmq',[]},
              {'rabbit-01@v05-apppre-rabbitmq',[]},
              {'rabbit@v05-apppre-rabbitmq',[]}]}]
    [root@v05-apppre-rabbitmq ~]# 
    

    参考文档:http://www.cnblogs.com/wanglan/p/7662471.html

            http://blog.csdn.net/Java_HuiLong/article/details/73718714

            https://github.com/rabbitmq/erlang-rpm

                       http://www.rabbitmq.com/download.html

         https://www.cnblogs.com/kevingrace/p/7693042.html

  • 相关阅读:
    Django rest_framework之序列化(serializers)
    异常处理
    Django之ModelForm通过ajax用户登录验证
    Django之ModelForm用户登录注册
    Django之Model操作
    Jenkins+Maven+SVN+Nexus 搭建持续集成环境
    nginx rewrite域名跳转访问XML接口
    python自动发布应用脚本
    Django基础
    Web安全概述
  • 原文地址:https://www.cnblogs.com/saneri/p/7755537.html
Copyright © 2011-2022 走看看