美文网首页
2019-05-12

2019-05-12

作者: 小六的昵称已被使用 | 来源:发表于2019-05-12 09:49 被阅读0次

    环境

    注意:主机名不能有符号

    第一步:安装宿主环境Erlang

    Erlang Version 要求:https://www.rabbitmq.com/which-erlang.html#intro

    Erlang官网:http://www.erlang.org/

    Erlang下载:http://www.erlang.org/downloads

    RabbitMQ提供Erlang安装源:https://github.com/rabbitmq/erlang-rpm

    cat <<EOF >/etc/yum.repos.d/rabbitmq-erlang.repo
    [rabbitmq-erlang]
    name=rabbitmq-erlang
    baseurl=https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/21/el/7
    gpgcheck=1
    gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
    repo_gpgcheck=0
    enabled=1
    EOF
    
    yum install -y erlang
    

    第二步:安装RabbitMQ

    RabbitMQ 3.7.13下载:https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.13

    1.下载RPM包并安装

    yum install -y wget
    wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.13/rabbitmq-server-3.7.13-1.el7.noarch.rpm
    yum install -y rabbitmq-server-3.7.13-1.el7.noarch.rpm
    

    2.然后运行RabbitMQ实例

    rabbitmq-server -detached
    

    3.打开管理界面插件

    ## 1.打开管理界面插件
    rabbitmq-plugins enable rabbitmq_management
    
    ## 2.添加账号:
    rabbitmqctl add_user admin xiaoliu
    
    ## 3.添加 权限tag
    rabbitmqctl set_user_tags admin administrator
    

    第三步:配置集群

    1.配置erlang.cookie(保证两个节点的此文件内容一致)

    这个文件是erlang用来发现和互连的基础。我们需要做的很简单,将两个节点中的.erlang.cookie设置成一样的。这是erlang的约定,一样的cookie hash key他认为是合法和正确的连接。

    cat /var/lib/rabbitmq/.erlang.cookie
    
    vim /var/lib/rabbitmq/.erlang.cookie
    

    2.配置hosts

    Erlang会使用hosts文件里的配置去发现节点

    echo '192.168.20.31 mqcluster01' >> /etc/hosts
    echo '192.168.20.32 mqcluster02' >> /etc/hosts
    echo '192.168.20.33 mqcluster03' >> /etc/hosts
    echo '192.168.20.34 mqcluster04' >> /etc/hosts
    cat /etc/hosts
    

    3.选择节点centos181001加入到节点centos181002

    rabbitmqctl stop_app
    rabbitmqctl reset
    rabbitmqctl join_cluster rabbit@mqcluster01
    ## 指定新加入节点为RAM类型
    ## rabbitmqctl join_cluster rabbit@centos181002 --ram
    rabbitmqctl start_app
    

    4.将centos181001更改为 RAM 类型

    在RabbitMQ集群中的节点只有两种类型:内存节点/磁盘节点,单节点系统只运行磁盘类型的节点。而在集群中,可以选择配置部分节点为内存节点。

    内存节点将所有的队列,交换器,绑定关系,用户,权限,和vhost的元数据信息保存在内存中。而磁盘节点将这些信息保存在磁盘中,但是内存节点的性能更高,为了保证集群的高可用性,必须保证集群中有两个以上的磁盘节点,来保证当有一个磁盘节点崩溃了,集群还能对外提供访问服务。

    rabbitmqctl stop_app
    rabbitmqctl change_cluster_node_type ram
    rabbitmqctl start_app
    

    附录:端口说明

    15672   是管理界面用的
    25672   是集群之间使用的端口
    4369    是erlang进程epmd用来做node连接的
    5672    AMQP端口
    

    附录:常用命令:

    #### 查看节点信息
    rabbitmqctl status
    
    ## 查看集群信息
    rabbitmqctl cluster_status
    
    #### 用户相关操作
    ## 查看已有用户及用户角色
    rabbitmqctl list_users
    ## 修改密码
    rabbitmqctl change_password userName newPassword
    ## 删除用户
    rabbitmqctl delete_user username
    
    ## 服务器启动与关闭
    ## 启动
    rabbitmq-server -detached
    ## 关闭
    rabbitmqctl stop
    ## 若单机有多个实例,则在rabbitmqctlh后加–n 指定名称
    

    参考:https://www.cnblogs.com/wangiqngpei557/p/6158094.html

    相关文章

      网友评论

          本文标题:2019-05-12

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