zoukankan      html  css  js  c++  java
  • Rabbitmq集群搭建

    0. RabbitMQ 3.4.1安装

    0.1. 安装Erlang

    0.1.1. 添加yum支持

    cd /usr/local/src/
    mkdir rabbitmq
    cd rabbitmq
    
    wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
    rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
    
    rpm --import http://packages.erlang-solutions.com/rpm/erlang_solutions.asc
    
    sudo yum install erlang

    在这里插入图片描述

    0.2 安装RabbitMQ

    上传rabbitmq-server-3.4.1-1.noarch.rpm文件到/usr/local/src/rabbitmq/
    安装:
    rpm -ivh rabbitmq-server-3.4.1-1.noarch.rpm

    0.3 启动、停止

    service rabbitmq-server start
    service rabbitmq-server stop
    service rabbitmq-server restart

    3.2.2. 设置开机启动

    chkconfig rabbitmq-server on

    0.5 设置配置文件

    cd /etc/rabbitmq
    cp /usr/share/doc/rabbitmq-server-3.4.1/rabbitmq.config.example /etc/rabbitmq/
    mv rabbitmq.config.example rabbitmq.config

    0.6 开启用户远程访问

    vim  /etc/rabbitmq/rabbitmq.config

    在这里插入图片描述
    注意要去掉最后面}后面的逗号。

    0.7 开启web界面管理工具

    rabbitmq-plugins enable rabbitmq_management
    service rabbitmq-server restart

    0.8 防火墙开放15672端口

    /sbin/iptables -I INPUT -p tcp --dport 15672 -j ACCEPT
    /etc/rc.d/init.d/iptables save

    0.9 添加用户

    在这里插入图片描述

    0.10 用户角色

    1 超级管理员(administrator)
    可登陆管理控制台,可查看所有的信息,并且可以对用户,策略(policy)进行操作。
    2、	监控者(monitoring)
    可登陆管理控制台,同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
    3、	策略制定者(policymaker)
    可登陆管理控制台,同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。
    4、	普通管理者(management)
    仅可登陆管理控制台,无法看到节点信息,也无法对策略进行管理。
    5、	其他
    无法登陆管理控制台,通常就是普通的生产者和消费者。

    0.11 创建Virtual Hosts

    在这里插入图片描述
    设置权限:
    在这里插入图片描述

    1. mq集群

    https://www.cnblogs.com/knowledgesea/archive/2017/03/11/6535766.html
    https://blog.csdn.net/zpwmail/article/details/78066862

    2 集群成功后,按以下步骤操作

    3. 官网下载

    http://www.haproxy.org/#down

    或者下载到自己电脑,上传上去
    文件名称: haproxy-1.4.14.tar.gz

    4. 安装

    [root@localhost rabbitmq]# cd /usr/local/
    [root@localhost local]# mkdir opt
    [root@localhost local]# cd opt
    上传haproxy-1.4.14.tar.gz文件到此目录
    [root@localhost opt]# tar xvfz haproxy-1.4.14.tar.gz
    [root@localhost opt]# ls
    haproxy-1.4.14 haproxy-1.4.14.tar.gz
    [root@localhost opt]# cd haproxy-1.4.14
    [root@localhost haproxy-1.4.14]# make TARGET=generic PREFIX=/usr/local/opt/haproxy
    [root@localhost haproxy-1.4.14]# make install PREFIX=/usr/local/opt/haproxy
    [root@localhost haproxy-1.4.14]# cp -ra /usr/local/opt/haproxy-1.4.14/examples /usr/local/opt/haproxy/
    [root@localhost haproxy-1.4.14]# mkdir /usr/local/opt/haproxy/conf
    [root@localhost haproxy-1.4.14]# cd /usr/local/opt/haproxy/conf
    [root@localhost conf]# vim haproxy.cfg

    5. 配置

    # cp -ra /usr/local/src/haproxy/haproxy-1.4.14/examples /usr/local/opt/haproxy/

    提供配置文件
      默认源码安装haproxy不提供配置文件,但在其解压目录examples下会提供相关haproxy的实例配置,但有的版本的源码haproxy实例配置不是很全面,最笨的
      办法是使用yum安装rpm包格式的haproxy,然后复制其配置文件件作为参考,然后再将其卸载。此处提供一个简单框架的haproxy配置模板实例,详细的配置请参考官网
      http://cbonte.github.io/haproxy-dconv/1.6/configuration.html

    配置文件

    下面这个配置文件是可用的:				
    # this config needs haproxy-1.1.28 or haproxy-1.2.1
    global
    	log 127.0.0.1 local0 info
    	maxconn 4096
    	stats socket /tmp/haproxy.socket uid haproxy mode 770 level admin
    	daemon
    defaults
    	log	global
    	mode	tcp
    	option	tcplog
    	option	dontlognull
    	retries	3
    #	option redispatch
    	option redispatch
    	#redispatch
    	maxconn	2000
    	timeout connect 5s
    	timeout client 120s
    	timeout server 120s
    	
    
    listen rabbitmq_local_cluster
        bind 0.0.0.0:5670
        mode tcp
        #mode http
        balance roundrobin
        server TMS_TEST-13-54 192.168.13.54:5672 check inter 5000 rise 2 fall 2   
        server TMS_TEST-173-151 192.168.173.151:5672 check inter 5000 rise 2 fall 2 
    
    listen private_monitoring :8100
       mode http
       option httplog
       stats enable
       stats uri    /stats
       stats refresh 5s

    注意:红色字体是 2台集群的hostname及ip ,所以mq集群要先搭建好

    5.1. 绑定端口

    不要配置成下面的样子:
    指定127.0.0.1和端口5670那么消费者和生产者连接不到,
    使用netstat -lntup | grep -i “haproxy” 查看到的监听的端口是”127.0.0.1:5670” 所以 客户端必须访问”127.0.0.1:5670” 才能 连接, 但是这不可行.

    这里写图片描述

    下面这个是正确的配置:
    还要注意配置的 一定要是 mode tcp 因为spring cloud 里的AmqpTemplate
    1 @Autowired
    2 private AmqpTemplate amqpTemplate;
    AmqpTemplate 是基于 AMQP协议这是一个tcp协议,并不是http协议.
    这里写图片描述

    报的错误是:
    [root@TEST51 conf]# /usr/local/opt/haproxy/sbin/haproxy -f /usr/local/opt/haproxy/conf/haproxy.cfg
    [WARNING] 155/170642 (8757) : config : ‘option httplog’ not usable with proxy ‘rabbitmq_local_cluster’ (needs ‘mode http’). Falling back to ‘option tcplog’.
    [root@TEST51 conf]#

    6. 启动

    /usr/local/opt/haproxy/sbin/haproxy -f /usr/local/opt/haproxy/conf/haproxy.cfg
    访问: http://192.168..:8100/stats
    这里写图片描述

  • 相关阅读:
    函数
    python操作文件
    POJ-2689-Prime Distance(素数区间筛法)
    POJ-2891-Strange Way to Express Integers(线性同余方程组)
    POJ-2142-The Balance
    POJ-1061-青蛙的约会(扩展欧几里得)
    Educational Codeforces Round 75 (Rated for Div. 2) D. Salary Changing
    Educational Codeforces Round 75 (Rated for Div. 2) C. Minimize The Integer
    Educational Codeforces Round 75 (Rated for Div. 2) B. Binary Palindromes
    Educational Codeforces Round 75 (Rated for Div. 2) A. Broken Keyboard
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13310530.html
Copyright © 2011-2022 走看看