zoukankan      html  css  js  c++  java
  • RabbmitMQ集群搭建流程

    参考资料

    1.rabbmitMQ集群搭建
    http://my.oschina.net/guol/blog/186445
    http://blog.ftofficer.com/2010/03/translation-rabbitmq-python-rabbits-and-warrens/
    http://www.360doc.com/content/14/0912/09/15077656_408834747.shtml
    http://www.cnblogs.com/lzzhang/p/4786468.html
    http://wenku.baidu.com/link?url=esD2eJeldjww93lErRm4Ui5AFJ34cNFBxX73jpXTzkzJjo9BACzxI8jeko_genwKDwRpGLJbHv_X2Tw9LBN2rmM4H6bZs5h622FrxZkq1vu
    http://www.cnblogs.com/flat_peach/archive/2013/04/07/3004008.html
    2.zookeeper集群搭建
    http://www.cnblogs.com/xiaoxutongxue/p/3554242.html
    3.nginx安装教程
    http://blog.csdn.net/dyllove98/article/details/8892509

    搭建流程

    1.zookeeper搭建流程
    (1)qa环境现在使用的zookeeper用的是伪集群,其实就是一台机器,ip全在一台机器上,这里配置端口的时候要尤其注意,不能重复,否则zookeeper是启动不起来的
    (2)线上正式环境应该用的是一个正式的zookeeper集群,正式集群的搭建参考:http://www.cnblogs.com/xiaoxutongxue/p/3554242.html
    查看两台机器的zookeeper状态,有一台是leader有两台是follower就启动正常了。
    
    
    2.rabbmitMQ单机搭建流程
    (1) Erlang 安装(rabbmitMQ的使用erlang语言写的,安装rabbmitMQ的底层依赖)
    A.创建erlang文件夹,mkdir /usr/local/erlang
    B.把安装文件拷贝进去,cp /root/otp_src_R14B.tar.gz /usr/local/erlang/
    C.添加文件的权限,chmod +x otp_src_R14B.tar.gz
    D.解压文件, tar -zxf otp_src_R14B01.tar.gz
    E.安装文件 ./configure、make 、make install(这是三个不同的命令,三次命令依次安装完成)
    (2) xmlto (rabbmitMQ编译安装时需要使用)
    A.创建路径, mkdir /usr/local/xmlto
    B.拷贝文件到路径下, cp /root/xmlto-0.0.23.tar.gz /usr/local/xmlto/
    C.添加权限
    D.解压并且安装,yum install -y docbook-style-xsl、./configure、make 、make install(这是四个不同的命令,四次命令依次安装完成)
    (3)SimpleJson安装(python已经安装好的前提下)
    A.创建路径,拷贝进去,添加文件权限,解压文件夹,进入解压以后的路径完成安装
    安装命令: python setup.py install(这是由于simplejson是依赖python脚本的)
    (4)rabbmitMQ安装
    A.创建路径,拷贝文件,添加文件权限,解压文件,进入路径之后,命令 ln -s rabbitmq-server-generic-unix rabbitmq( 建立软链接)
    注意要把机器hostname和ip地址配置在hosts文件中。
    B.开启rabbmitMQ的后台web管理页面(先启动运行rabbmitMQ,在开启后台web管理)
    sbin/rabbitmq-plugins enable rabbitmq_management
    C.关闭机器的防火墙
    D.添加管理员账号(http://blog.csdn.net/zyz511919766/article/details/42292655 )
    添加用户:sbin/rabbitmqctl add_user user_admin passwd_admin
    把用户变成管理员:sbin/rabbitmqctl set_user_tags user_admin administrator
    
    
    3.rabbmitMQ集群搭建
    A.保证/root/.erlang.cookie的值一致
    B.把rabbit@QA-5-83节点加入rabbit@QA-5-82节点(在rabbit@QA-5-83机器上运行以下命令)
    sbin/rabbitmqctl join_cluster rabbit@QA-5-82(这是加入了一个磁盘节点,也就是内部节点)
    (如果是内存节点,加入的命令是rabbitmqctl join_cluster --ram rabbit@queue 多了一个--ram的参数代表是内存节点,对外公开使用的一般是外部节点也就是内存节点)
    C.开启所有的节点sbin/rabbitmqctl start_app
    D.查看集群节点状态sbin/rabbitmqctl cluster_status,如果出现nodes中包含了rabbit@QA-5-82和rabbit@QA-5-83两台机器,则集群搭建成功
    E:通过lvs把所有的rabbmitMQ的外部节点,也就是内存节点进行负载均衡的配置,集群就搭建完毕了
    
    
    两个问题
    1.vhost问题,所有的队列都有一个属于自己的vhost,所有rabbmitMQ登录的user也有一个自己的vhost,必须对应好vhost才能做正确的操作。
    vhost可以通过rabbitmqctl 进行进行添加,之前郑磊他们使用的是vhost=99,参考http://my.oschina.net/guol/blog/186445
    2.niginx配置,必须是在装有consumer的机器上去做niginx端口转发配置,因为consumer的配置文件访问rabbmitMQ走的是默认的80端口,然而rabbmitMQ默认的都是15672端口,必须用nginx做端口转发,这样才可以正常的调用rabbmitMQ
    博客园内容
  • 相关阅读:
    #从零开始学Swift2.0# No.4 枚举, 元组, 数组和字典
    #从零开始学Swift2.0# No.3 基本数据类型
    #从零开始学Swift2.0# No.2 运算符和表达式
    #从零开始学Swift2.0# No.1 初识Swift
    MacOS下SVN的使用
    在Xcode中制作.a文件
    在Xcode中制作Framework
    Objective-C中的Runtime
    汉语字典或者词典的简单的ios小demo
    ios开发-UI进阶-核心动画-时钟动画小案例
  • 原文地址:https://www.cnblogs.com/xiaoxutongxue/p/5207685.html
Copyright © 2011-2022 走看看