rabbitmq集群搭建

简介:rabbitmq是一个分布式的消息中间件

一.erlang语言安装

  • 用root用户建立文件存放和解压位置
    Cd ../      (个人习惯,习惯放在和etc同级下创建)  
    Mkdir erlang
    Cd erlang
    
  • 上传文件到/erlang目录下
    对于rpm的包,解压时会将环境变量等都解压和配置到相应位置
    
  • openssl版本需要1.01e,已为1.01e的无需安装
    rpm -ivh openssl-1.0.1e-57.el6.x86_64.rpm --force --nodeps 
    
  • 查看openssl是否安装成功
    openssl version
    
  • 安装解压版erlang
    rpm -ivh erlang-17.4-1.el6.x86_64.rpm 
    
  • 查看是否安装成功
    erl               
    

二.MQ安装

  • 用rabbitmq用户建立文件存放和解压位置(rabbitmq为用户)

    Cd /hoem/rabbitmq/                                    
    Mkdir rabbitmq
    Cd rabbitmq
    
  • xshell上传文件到/home/rabbitmq/rabbitmq/目录下

  • 解压rabbitmq文件包

    xz -d rabbitmq-server-generic-unix-3.6.1.tar.xz
    tar -xvf rabbitmq-server-generic-unix-3.6.1.tar
    
  • 配置rabbitmq的传输数据端口号和名称

    Vim /home/rabbitmq/rabbitmq/rabbitmq_server-3.6.1/etc/rabbitmq/
    Touch rabbitmq-env.conf
    Vim rabbitmq-env.conf
    增加内容:
    NODE_PORT=5672
    NODENAME=jiedian131
    
  • 配置页面访问端口

    Vim /home/rabbitmq/rabbitmq/rabbitmq_server-3.6.1/etc/rabbitmq/
    touch rabbitmq.config
    Vim rabbitmq.config
    加入类容
    [ {rabbitmq_management, [{listener, [{port, 15672}]}]} ].
    
  • 启动MQ

    Cd /home/rabbitmq/rabbitmq/rabbitmq_server-3.6.1/sbin
    ./rabbitmq-server -detached 
    
  • 查看状态mq是否启动

    ps -ef | grep rabbitmq
    
  • 查看生成的通讯文件是否生成(rabbitmq为用户)

    cd /home/rabbitmq/
    ll -a 
    cat .erlang.cookie
    
  • 生成插件

    ./rabbitmq-plugins enable rabbitmq_management
    
  • 查看插件生成是否成功

    cd /home/rabbitmq/rabbitmq/rabbitmq_server-3.6.1/etc/rabbitmq/
    ll -a
    查看enabled_plugins文件是否生成成功
    
  • 建立用户和分配权限

    ./rabbitmqctl add_user admin admin
    ./rabbitmqctl set_user_tags admin administrator
    ./rabbitmqctl set_permissions -p /admin ".*" ".*" ".*"
    

三.访问MQ

  • 查看帮助:
    firewall-cmd --help    开放防火墙端口(centos7)
    
  • 查看状态:
    systemctl status firewalld
    
  • 启动:
    systemctl start firewalld
    
  • 关闭:
    systemctl stop firewalld
    
  • 查看所有打开的端口:
    firewall-cmd --zone=public --list-ports
    
  • 添加(5672.15672.25672)
    firewall-cmd --zone=public --add-port=5672/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
    
  • 重新载入
    firewall-cmd --reload
    
  • 查看
    firewall-cmd --zone= public --query-port=5672/tcp
    
  • 删除
    firewall-cmd --zone= public --remove-port=5672/tcp --permanent
    
  • 登陆浏览器查看是否安装成功
    iP:15672 进入控制台
    

四.MQ集群搭建

  • root用户配置hosts文件
    vim /etc/hosts
    变动内容
    134服务器
    192.168.111.135 zhuji132
    192.168.111.134 zhuji131
    135服务器
    192.168.111.135 zhuji132
    192.168.111.134 zhuji131
    
  • 配置电脑主机名称(从启动生效+即使生效=永久生效)
    vim/etc/sysconfig/network
    增加以下内容(这个配置需要重启生效)
    NETWORKING=yes
    HOSTNAME=zhuji131
    即使生效(设置之后重新连接下)
    Hostname zhuji131
    
  • 切换到rabbitmq用户,杀掉rabbitmq服务进程
    Ps -ef|grep rabbitmq
    Kill -9 61622
    
  • 配置.erlang.cookie文件相同(该为隐藏文件:ll -a查看)
    Cd /home/rabbitmq/
    Chmod -R 700 .erlang.cookie
    Vim .erlang.cookie
    将从节点的内容复制过来(将两台机这个权限赋予400)
    Chmod -R 400 .erlang.cookie
    
  • 清空原有rabbitmq日志和配置
    Cd /home/rabbitmq/rabbitmq/rabbitmq_server-3.6.1/var/lib/rabbitmq/mnesia/
    Rm -rf *
    Cd /home/rabbitmq/rabbitmq/rabbitmq_server-3.6.1/var/log/rabbitmq/
    Rm -rf *
    
  • 启动mq
    Cd /home/rabbitmq/rabbitmq/rabbitmq_server-3.6.1/sbin
    ./rabbitmq-server -detached
    ./rabbitmqctl start_app
    
  • 将分节点加入主节点,进入分节点主机
    Cd /home/rabbitmq/rabbitmq/rabbitmq_server-3.6.1/sbin
    ./rabbitmq-server
    ./rabbitmqctl start_app
    ./rabbitmqctl stop_app
    ./rabbitmqctl join_cluster jiedian_131@zhuji_131
    

五.MQ单机多实例

  • 建立一个文件夹
    mkdir rabbitmqbak
    
  • 将文件安装好的rabbitmq复制到rabbitmqbak目录下
    cp -r rabbtmq rabbitmqbak 
    
  • 配置页面访问端口(不能让ip从冲突)
    vim rabbitmq.config
    修改类容
    [ {rabbitmq_management, [{listener, [{port, 15674}]}]} ].
    
  • 配置数据传输端口和端口名称(不能让ip从冲突)
    vim rabbitmq-env.conf
    修改内容
    NODE_PORT=5674
    NODENAME=jiedian3
    
  • 启动所有服务(进程可以查看端口,配置,日志情况)
    ./rabbitmq-server -detached
    
  • 将子节点加入主节点
    主节点:./rabbitmqctl start_app (必须保证节点开启)
    字节点:./rabbitmqctl stop_app (必须保证节点关闭)
    子节点:./rabbitmqctl join_cluster jiedian1@rabbitmq
    

六.开启镜像模式

  • 开启镜像集群模式(主节点执行)只启动了/这个vhost镜像
    ./rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
    
  • 控制台配置

十.haproxy负载

安装

  • 将haproxy-1.8.12.tar.gz包上传服务器。(需要gcc+安装环境)

  • 解压

    tar -zxvf haproxy-1.8.12.tar.gz
    cd haproxy-1.8.12
    
  • 修改配置文件

    make TARGET=linux2628 ARCH=x86_64 PREFIX=/usr/local/haproxy
    make install PREFIX=/usr/local/haproxy
    (#参数说明:
    #TARGET=linux26 #内核版本,使用uname -r查看内核,如:2.6.18-371.el5,此时该参数就为linux26 ;kernel 大于2.6.28的用:TARGET=linux2628
    ARCH=x86_64 #系统位数
    PREFIX=/usr/local/haprpxy #/usr/local/haprpxy为haprpxy安装路径)
    
  • 将haproxy.cfg配置文件上传至/usr/local/haproxy/目录下

     修改haproxy.cfg中的mq地址相关配置:
    
  • 启动:

    /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg
    
  • 可能出现错误

    用root权限修改主机启动文件为maxconn的2倍
    ulimit-n 3000 
    
  • 访问:

    访问地址:http://ip:1080/stats 检查是否配置成功,用户/密码:admin/admin
    
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值