• centos7安装rabbitmq(干货)


    1. Centos安装rabbitmq

    1.1. 优化建议

    rabbitmq配置文件参数进行优化

    1.2. 安装erlang

    1.2.1. 安装依赖:

    yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel

    1.2.2. 下载安装包

    erlang官网:https://www.erlang.org/downloads

    由于下载的很慢,本地有一个已下载好的安装包,直接上传

    wget http://erlang.org/download/otp_src_22.0.tar.gz

    1.2.3. xftp上传安装包至/root目录下

    1.2.4. 解压

    tar -zxvf otp_src_22.0.tar.gz

    1.2.5. 移动并进入目录

    mv otp_src_22.0 /usr/local/

    cd /usr/local/otp_src_22.0/

    mkdir -p /usr/local/erlang

    1.2.6. 配置安装路径

    ./configure --prefix=/usr/local/erlang

    1.2.7. 安装

    make

    make install

    ll /usr/local/erlang/bin      #查看是否安装成功

    1.2.8. 添加环境变量

    echo 'export PATH=$PATH:/usr/local/erlang/bin' >> /etc/profile

    使生效:

    source /etc/profile

    1.2.9. 检测环境变量是否可用

    erl

    输入 halt(). 退出

    1.3. 安装rabbitmq

    1.3.1. 下载rabbitmq

    rabbitmq下载地址:

    https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.15

    wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.15/rabbitmq-server-generic-unix-3.7.15.tar.xz

    1.3.2. Xftp上传安装包至服务器/root

    1.3.3. 安装解压插件并解压

    yum install -y xz

    /bin/xz -d rabbitmq-server-generic-unix-3.7.15.tar.xz     #第一次解压

    tar -xvf rabbitmq-server-generic-unix-3.7.15.tar         #第二次解压

    tar -xvf rabbitmq-server-3.8.19.tar.xz

    1.3.4. 移动

    mv rabbitmq_server-3.7.15/ /usr/local/rabbitmq

    1.3.5. 配置环境变量

    echo 'export PATH=$PATH:/usr/local/rabbitmq/sbin' >> /etc/profile

    使生效

    source /etc/profile

    1.3.6. 创建配置目录

    mkdir /etc/rabbitmq

    1.3.7. 相关启动命令

    启动:

    rabbitmq-server -detached

    停止:

    rabbitmqctl stop

    状态:

    rabbitmqctl status

    1.3.8. Web管理

    开启web插件:

    rabbitmq-plugins enable rabbitmq_management

    浏览器访问:http://ip:15672/

    默认账号密码:guest guest(这个账号只允许本机访问)

    1.3.9. 用户管理

    查看所有用户:

    rabbitmqctl list_users

    添加一个用户:

    rabbitmqctl add_user zhangbo 123456

    rabbitmqctl add_user cepo1113 Rabbitmq#0902@Cepo

    配置权限:

    rabbitmqctl set_permissions -p "/" cepo1113 ".*" ".*" ".*"

    查看用户权限:

    rabbitmqctl list_user_permissions cepo1113

    设置tag

    rabbitmqctl set_user_tags cepo1113 administrator

    删除用户(安全起见,删除默认用户):

    rabbitmqctl delete_user guest

    添加普通用户

    rabbitmqctl add_user test1  Rabbitmq#0902@Cepo

    添加vhosts

    rabbitmqctl add_vhost /test1

    配置权限

    rabbitmqctl set_permissions -p /test1 test1 '.*' '.*' '.*'

    查看用户权限

    rabbitmqctl list_permissions --vhost /test1

    添加policy

    rabbitmqctl set_policy --vhost /test1 --priority 1 --apply-to all test1 "^" '{"ha-mode":"all"}'

    1.4. rabbitmq集群部署

    1.4.1. 修改服务器hostname

    vim /etc/hostname

    第一台叫mq01,第二台叫mq02,第三台叫mq03

    1.4.2. 修改dns文件

    vim /etc/hosts

    三台都需要做操作

    10.20.1.2 mq01

    10.20.1.3 mq02

    10.20.1.3 mq03

    添加 /etc/rabbitmq/rabbitmq-env.conf  文件

    vim /etc/rabbitmq/rabbitmq-env.conf

    三台分别是

    NODENAME=rabbit@mq01

    NODENAME=rabbit@mq02

    NODENAME=rabbit@mq03

    1.4.3. 杀死每个节点的mq

    ps -ef | grep 5672

    kill -9 pid     

    1.4.4. 查看.erlang.cookie

    cd /root

    ls -al

    1.4.5. 将主节点的.erlang.cookie传输到其他节点

    scp /root/.erlang.cookie root@10.20.1.3:/root/

    scp /root/.erlang.cookie root@10.20.1.4:/root/

    1.4.6. 开启rabbitmq服务

    三台mq01mq02mq03都开启服务

    rabbitmq-server -detached

    1.4.7. 从节点执行命令

    mq02 mq03 作为内存节点与 mq01 磁盘节点连接起来,在mq02  mq03 执行以下命令

    rabbitmqctl stop_app #停掉rabbitmq应用

    rabbitmqctl join_cluster rabbit@mq01 --ram #加入到磁盘节点

    rabbitmqctl start_app #启动rabbitmq应用

    rabbitmqctl cluster_status      #查看集群状态

    1.4.8. 设置自启动脚本

    编辑脚本

    vim /usr/local/rabbitmq/sbin/start_rabbitmq.sh

    内容如下:

    #!/bin/bash

    export PATH=$PATH:/usr/local/erlang/bin

    export HOME=/root/

    /usr/local/rabbitmq/sbin/rabbitmq-server -detached

    给脚本赋可执行权限

    chmod +x /usr/local/rabbitmq/sbin/start_rabbitmq.sh

    设置脚本自启动:

    vim /etc/rc.d/rc.local

    在最后边添加

    /usr/local/rabbitmq/sbin/start_rabbitmq.sh

    rc.local赋权

    chmod +x /etc/rc.d/rc.local

    1.4.9. 检验服务是否自启动

    三台服务器:reboot

    1.4.10. 浏览器配置

    访问http://ip:15672

    使用zhangbo/123456用户登录

    按照下述图片配置

    1.4.11. 内存磁盘模式变更

    rabbitmqctl stop_app

    bbitmqctl change_cluster_node_type ram

    rabbitmqctl change_cluster_node_type ram

    rabbitmqctl start_app

    rabbitmqctl cluster_status

    2. 优化配置相关

    优化配置命令相关:

    ulimit -n 65535

    -------------------------------------------------------------------------------------------

    vim /etc/security/limits.conf

    修改(添加内容)文件如下:

    * soft noproc 10240

    * hard noproc 10240

    * soft nofile 65535

    * hard nofile 65535

    -------------------------------------------------------------------------------------------

    vim /etc/sysctl.conf

    内容如下:

    net.ipv6.conf.all.disable_ipv6 = 1

    net.ipv6.conf.default.disable_ipv6 = 1

    net.ipv6.conf.lo.disable_ipv6 = 1

    vm.swappiness = 0

    net.ipv4.neigh.default.gc_stale_time=120

    net.ipv4.conf.all.rp_filter=0

    net.ipv4.conf.default.rp_filter=0

    net.ipv4.conf.default.arp_announce = 2

    net.ipv4.conf.lo.arp_announce=2

    net.ipv4.conf.all.arp_announce=2

    net.ipv4.tcp_max_tw_buckets = 5000

    net.ipv4.tcp_syncookies = 1

    net.ipv4.tcp_synack_retries = 2

    kernel.sysrq=1

    net.core.somaxconn = 60000

    net.core.rmem_default = 262144

    net.core.wmem_default = 262144

    net.core.rmem_max = 16777216

    net.core.wmem_max = 16777216

    net.ipv4.tcp_rmem = 4096 4096 16777216

    net.ipv4.tcp_wmem = 4096 4096 16777216

    net.ipv4.tcp_mem = 786432 2097152 3145728

    net.core.netdev_max_backlog = 20000

    net.ipv4.tcp_fin_timeout = 15

    net.ipv4.tcp_max_syn_backlog = 16384

    net.ipv4.tcp_tw_reuse = 1

    net.ipv4.tcp_tw_recycle = 1

    net.ipv4.tcp_max_orphans = 131072

    vm.overcommit_memory = 1

    net.core.somaxconn = 2048

    使上述配置生效:

    sysctl -p

    ---------------------------------------------------------------------------

    vim /etc/default/grub

    内容如下:

    GRUB_TIMEOUT=5

    GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"

    GRUB_DEFAULT=saved

    GRUB_DISABLE_SUBMENU=true

    GRUB_TERMINAL_OUTPUT="console"

    GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"

    GRUB_DISABLE_RECOVERY="true"

    -------------------------------------------------------------------------------------

    vim /etc/pam.d/login

    内容如下:

    #%PAM-1.0

    auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so

    auth       substack     system-auth

    auth       include      postlogin

    account    required     pam_nologin.so

    account    include      system-auth

    password   include      system-auth

    # pam_selinux.so close should be the first session rule

    session    required     pam_selinux.so close

    session    required     pam_loginuid.so

    session    optional     pam_console.so

    # pam_selinux.so open should only be followed by sessions to be executed in the user context

    session    required     pam_selinux.so open

    session    required     pam_namespace.so

    session    optional     pam_keyinit.so force revoke

    session    include      system-auth

    session    include      postlogin

    -session   optional     pam_ck_connector.so

    session    required     pam_limits.so

    ----------------------------------------------------------------------------------

    ulimit -n

    ------------------------------------------------------------------------------------

    ulimit -a

    展示效果如下:

    core file size          (blocks, -c) 0

    data seg size           (kbytes, -d) unlimited

    scheduling priority             (-e) 0

    file size               (blocks, -f) unlimited

    pending signals                 (-i) 63443

    max locked memory       (kbytes, -l) 64

    max memory size         (kbytes, -m) unlimited

    open files                      (-n) 65535

    pipe size            (512 bytes, -p) 8

    POSIX message queues     (bytes, -q) 819200

    real-time priority              (-r) 0

    stack size              (kbytes, -s) 8192

    cpu time               (seconds, -t) unlimited

    max user processes              (-u) 63443

    virtual memory          (kbytes, -v) unlimited

    file locks                      (-x) unlimited

  • 相关阅读:
    在Windows环境中使用版本管理工具Git [转]
    poj3630 Phone List **
    UVa10382 Watering Grass **
    软件项目计划书格式 [转]
    POI2001 Ants and the ladybug ***
    RMQ+1/1算法 [转]
    poj3264 Balanced Lineup *
    Windows Server 2003 出现的Service Unavailable怎么办?
    单车环佛山一环
    天凉了,大家多穿衣服
  • 原文地址:https://www.cnblogs.com/longchengruoxi/p/15686944.html
Copyright © 2020-2023  润新知