美文网首页
部署RabbitMQ

部署RabbitMQ

作者: 轻飘飘D | 来源:发表于2020-12-19 18:27 被阅读0次

    1.修改网卡信息(因vm从模板中复制而来)

    [root@xag138 ~]# cd /etc/sysconfig/network-scripts/
    
    [root@xag138 network-scripts]# cat ifcfg-ens33 
    ...
    IPADDR="192.168.40.101"
    ...
    
    #重啟網卡
    [root@xag138 network-scripts]# service network restart
    

    2.禁用防火墙

    #关闭firewall:停止firewall
    systemctl stop firewalld.service
    systemctl stop iptables.service  (如有)
    #禁止firewall开机启动
    systemctl disable firewalld.service
    
    
    

    3.安裝基本工具

    [root@XAG138 ~]# yum -y install nano vim wget curl net-tools lsof  zip unzip
    

    4.配置主机名

    [root@xag138 ~]# cat /etc/hostname
    xag101
    
    [root@xag138 java]# cat /etc/sysconfig/network
    # Created by anaconda
    NETWORKING=yes
    HOSTNAME=xag101
    
    vim /etc/hosts
    #增加如下
    192.168.40.101  xag101
    
    #重启os
    reboot
    

    5.安装jdk1.8

    [root@xag101 ~]# java -version
    -bash: java: command not found
    [root@xag101 ~]#  rpm -qa | grep java
    #存在则卸载,命令: rpm -e --nodeps 包名
    
    #安装jdk
    [root@xag101 ~]# mkdir /u01/java -p
    [root@xag101 ~]# cd /u01/java/
    
    [root@xag101 java]# ls
    jdk-8u271-linux-x64.tar.gz
    
    [root@xag101 java]# tar -zxvf jdk-8u271-linux-x64.tar.gz
    
    #设置环境变量
    [root@xag101 java]# vim /etc/profile
    
    在profile中添加如下内容:
    #set java environment
    JAVA_HOME=/u01/java/jdk1.8.0_271
    JRE_HOME=/u01/java/jdk1.8.0_271/jre
    CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
    PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
    export JAVA_HOME JRE_HOME CLASS_PATH PATH
    
    #让修改生效:
    [root@xag101 java]# source /etc/profile
    #输入java -version查看一下jdk版本信息:
    [root@xag101 java]# java -version
    
    
    1. 安装依赖包
    yum -y install make gcc gcc-c++ m4 ncurses-devel openssl-devel unixODBC-devel
    
    

    7.安装erlang

    [root@xag101 ~]# cd /usr/local/src
    [root@xag101 src]# pwd
    /usr/local/src
    
    #下载erlang安装包
    wget http://erlang.org/download/otp_src_23.2.tar.gz
    
    #解压缩erlang安装包
    tar xzf otp_src_23.2.tar.gz
    
    #创建一个文件夹
    mkdir /usr/local/erlang
    
    #编译并安装erlang
    cd otp_src_23.2
    ./configure --prefix=/usr/local/erlang --without-javac
    
    make && make install
    

    8.修改profile配置文件

    #运行以下命令打开profile配置文件
    vim /etc/profile
    
    #在文件末尾处添加如下内容
    export PATH=$PATH:/usr/local/erlang/bin
    
    #使环境变量生效
    source /etc/profile
    
    #检查安装结果
    erl -version
    

    9.下载RabbitMQ安装包

    wget  https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.9/rabbitmq-server-3.8.9-1.el7.noarch.rpm
    
    #导入签名密钥
    rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
    
    #安装RabbitMQ Server
    yum install rabbitmq-server-3.8.9-1.el7.noarch.rpm
    ...
    Error: Package: rabbitmq-server-3.8.9-1.el7.noarch (/rabbitmq-server-3.8.9-1.el7.noarch)
               Requires: erlang >= 21.3
    
    
    ...
    
    
    1. Zero-dependency Erlang RPM for RabbitMQ
    # In /etc/yum.repos.d/rabbitmq_erlang.repo
    [rabbitmq_erlang]
    name=rabbitmq_erlang
    baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch
    repo_gpgcheck=1
    gpgcheck=1
    enabled=1
    # PackageCloud's repository key and RabbitMQ package signing key
    gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
           https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
    sslverify=1
    sslcacert=/etc/pki/tls/certs/ca-bundle.crt
    metadata_expire=300
    
    [rabbitmq_erlang-source]
    name=rabbitmq_erlang-source
    baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/SRPMS
    repo_gpgcheck=1
    gpgcheck=0
    enabled=1
    # PackageCloud's repository key and RabbitMQ package signing key
    gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
           https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
    sslverify=1
    sslcacert=/etc/pki/tls/certs/ca-bundle.crt
    metadata_expire=300
    

    10.安装RabbitMQ Server

    yum install erlang
    
    [root@xag101 src]# which erl
    /usr/bin/erl
    
    
    yum install rabbitmq-server-3.8.9-1.el7.noarch.rpm
    
    [root@xag101 src]# which rabbitmq-server
    /usr/sbin/rabbitmq-server
    
    [root@xag101 src]# service rabbitmq-server status
    Redirecting to /bin/systemctl status rabbitmq-server.service
    ● rabbitmq-server.service - RabbitMQ broker
       Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; disabled; vendor preset: disabled)
       Active: inactive (dead)
    
    

    11.配置RabbitMQ

    #允许RabbitMQ开机自启动
    systemctl enable rabbitmq-server
    
    #启动RabbitMQ
    systemctl start rabbitmq-server
    
    #为保证数据安全,建议您删除默认用户,RabbitMQ默认的账号用户名和密码都是guest
     rabbitmqctl delete_user guest
    
    #创建管理员用户
    rabbitmqctl add_user xag xag123
    #将创建的新用户设置为管理员
    rabbitmqctl set_user_tags xag administrator
    #赋予新创建的用户所有权限
    rabbitmqctl set_permissions -p / xag ".*" ".*" ".*"
    #启用RabbitMQ的web管理界面
    rabbitmq-plugins enable rabbitmq_management
    

    12.使用浏览器访问http://192.168.40.101:15672

    13.集群环境

    IP地址 主机名 操作系统 防火墙和SELinux 用途
    ..40.102 xag102 CentOS7.4(64位) 关闭 磁盘节点
    ..40.103 xag103 CentOS7.4(64位) 关闭 内存节点
    ..40.104 xag104 CentOS7.4(64位) 关闭 内存节点

    14.配置hosts文件(xag102,xag103,xag104)

    [root@xag102 ~]# cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.40.102  xag102
    192.168.40.103  xag103
    
    [root@xag102 ~]# cat  /etc/sysconfig/network
    # Created by anaconda
    NETWORKING=yes
    HOSTNAME=xag102
    
    [root@xag102 ~]# cat /etc/hostname
    xag102
    

    15.拷贝erlang.cookie (必须保证各节点cookie一致,不然节点之间就无法通信)

    [root@xag102 ~]# cat /var/lib/rabbitmq/.erlang.cookie 
    GYFVDVKVKFHQCOESGPYU
    
    用scp的方式将xag102节点的.erlang.cookie的值复制到其他两个节点中。
    
    scp /var/lib/rabbitmq/.erlang.cookie root@xag103:/var/lib/rabbitmq/.erlang.cookie
    

    16.启动RabbitMQ ( 所有节点)

    systemctl start rabbitmq-server
    

    17.将xag103作为内存节点加入xag102节点集群中

    #xag103 上
    
    rabbitmqctl stop_app    //停掉rabbit应用
    
    rabbitmqctl join_cluster --ram rabbit@xag102  //加入到磁盘节点
    
    rabbitmqctl start_app  //启动rabbit应用
    
    #查看集群状态
    [root@xag103 ~]# rabbitmqctl cluster_status
    Cluster status of node rabbit@xag103 ...
    Basics
    
    Cluster name: rabbit@xag102
    
    Disk Nodes
    
    rabbit@xag102
    
    RAM Nodes
    
    rabbit@xag103
    
    Running Nodes
    
    rabbit@xag102
    rabbit@xag103
    
    Versions
    
    rabbit@xag102: RabbitMQ 3.8.9 on Erlang 23.1.5
    rabbit@xag103: RabbitMQ 3.8.9 on Erlang 23.1.5
    
    Maintenance status
    
    Node: rabbit@xag102, status: not under maintenance
    Node: rabbit@xag103, status: not under maintenance
    
    #创建管理员用户
    rabbitmqctl add_user xag2 xag123
    #将创建的新用户设置为管理员
    rabbitmqctl set_user_tags xag2 administrator
    #赋予新创建的用户所有权限
    rabbitmqctl set_permissions -p / xag2 ".*" ".*" ".*"
    
    #为保证数据安全,建议您删除默认用户,RabbitMQ默认的账号用户名和密码都是guest
     rabbitmqctl delete_user guest
    
    使用浏览器访问 http://192.168.40.102:15672  查看集群状态 (xag2 登录)
    
    image.png

    https://github.com/rabbitmq/erlang-rpm // 这个网页上写的很清楚,安装rabbitmq 之前的erlang的安装方式
    https://github.com/rabbitmq/rabbitmq-server/releases // 想要什么版本,已经最低的erlang版本要求
    http://www.rabbitmq.com/which-erlang.html // 对应的版本关系

    相关文章

      网友评论

          本文标题:部署RabbitMQ

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