RabbitMq 集群配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RabbitMq 集群配置相关的知识,希望对你有一定的参考价值。

             1. RabbitMQ 所需的附属安装包

  1.1  openGL安装

  执行命令:

  [[email protected] local]# yum install mesa-libGL-devel mesa-libGLU-devel freeglut-devel gcc glibc-devel make ncurses-devel openssl-devel autoconf xmlto libtool automake -y

   1.2  erlang 安装

    下载 erlang  http://erlang.org/download/otp_src_18.2.1.tar.gz

    解压  otp_src_18.2.1.tar.gz  到 /usr/local  

   [[email protected] local]#  tar -xvf otp_src_18.2.1.tar.gz 

  

  进入解压后目录 执行命令:

  [[email protected] local]# cd  otp_src_18.2.1

   [[email protected] otp_src_18.2.1]# ./configure --prefix=/usr/local/erlang_7.2.1 --enable-threads --enable-halfword-emulator --enable-smp-support --enable-kernel-poll --enable-sctp --enable-native-libs --enable-shared-zlib --enable-m64-build --enable-silent-rules

 

  执行命令:[[email protected] otp_src_18.2.1]#  make && make install

  给erlang_7.2.1 文件夹创建 软连接

  [[email protected] local]# cd ../

  [[email protected] local]#   ln -s erlang_7.2.1  erlang_7.2.1_ln

 

  配置erlang环境变量

  编辑 /etc/profile  

  [[email protected] local]#  vim /etc/profile  进入编辑模式,在末尾处添加 一下内容)

  #set environment

  ERL_HOME=/usr/local/erlang_7.2.1

  PATH=$ERL_HOME/bin:$PATH

  export ERL_HOME PATH

  按“Esc”键,再按“Shift+:”,在“:”后输入“wq

  [[email protected] local]# source /etc/profile

  测试是否安装成功

  [[email protected] local]# erl

  出现如下图表示成功

  技术分享

   

  按“ctrl + z”键,退出 

  1.3  python 安装

  [[email protected] local]#  yum install python python-devel -y

  1.4 simplejson 安装

  下载 simplejson  https://pypi.python.org/pypi/simplejson

  最新版本为 3.8.2  ,选择版本下载

  解压  simplejson-3.8.2.tar.gz 到 /usr/local 

  [[email protected] local]#  tar -xvf  simplejson-3.8.2.tar.gz

  [[email protected] local]#  cd simplejson-3.8.2

  [[email protected] simplejson-3.8.2]#  python setup.py build 

  [[email protected] simplejson-3.8.2]#  python setup.py install

 

  测试安装是否成功

  [[email protected] local]# python

  出现如下图表示成功

  技术分享

  按“ctrl + z”键,退出

   

    2 . RabbitMQ 安装 

   2.1  RabbitMQ  第一种安装方式 (解压即可用)

  下载 rabbitmq-server  

  http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.0/rabbitmq-server-generic-unix-3.6.0.tar.xz

 

  安装解压 tar.xz 工具

  [[email protected] local]#  yum -y install xz

  解压  rabbitmq-server-generic-unix-3.6.0.tar.xz 到 /usr/local 

  [[email protected] local]# xz -d rabbitmq-server-generic-unix-3.6.0.tar.xz

  [[email protected] local]# tar -xvf rabbitmq-server-generic-unix-3.6.0.tar

  [[email protected] local]#  mv rabbitmq_server-3.6.0 rabbitmq-server-3.6.0

   

  配置rabbitmq环境变量

  编辑 /etc/profile  

  [[email protected] local]#  vim /etc/profile  ( 进入编辑模式,在path 基础上添加 变量)

  #set environment

           RABBITMG_HOME=/usr/local/rabbitmg-server-3.6.0

           ERL_HOME=/usr/local/erlang_7.2.1

           PATH=$RABBITMG_HOME/sbin:$ERL_HOME/bin:$PATH

           export PATH ERL_HOME

  按“Esc”键,再按“Shift+:”,在“:”后输入“wq

  [[email protected] local]# source /etc/profile

  [[email protected] local]# cd rabbitmq-server-3.6.0/sbin/

  启用管理方式(用网页方式管理MQ

  [[email protected] sbin]#    ./rabbitmq-plugins enable rabbitmq_management 

  [[email protected] sbin]#    ./rabbitmq-server -detached

  设置端口号 可以外部访问

  [[email protected] sbin]#    /sbin/iptables -I INPUT -p tcp --dport 5672 -j ACCEPT

  [[email protected] sbin]#    /sbin/iptables -I INPUT -p tcp --dport 15672 -j ACCEPT

  [[email protected] sbin]#  /etc/rc.d/init.d/iptables save

  [[email protected] sbin]#  /etc/init.d/iptables restart 

 

  访问 http://ip:15672/#/  看是否有rabbitMQ管理登录页面

技术分享

  添加用户 admin /admin 在页面访问

  [[email protected] sbin]# ./rabbitmqctl add_user admin admin 

  [[email protected] sbin]# ./rabbitmqctl set_user_tags admin administrator

  [[email protected] sbin]# ./rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

 

  使用 admin 使用户即可登录

 

  2.2  RabbitMQ  第二种安装方式 (下载源码包自己编译)

  下载 rabbitmq-server  

  http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.0/rabbitmq-server-3.6.0.tar.xz

  安装解压 tar.xz 工具

  [[email protected] local]#  yum -y install xz

  解压  rabbitmq-server-generic-unix-3.3.0.tar.gz 到 /usr/local 

  [[email protected] local]#  xz -d rabbitmq-server-3.6.0.tar.xz

  [[email protected] local]# tar -xvf rabbitmq-server-3.6.0.tar 

  配置rabbitmq环境变量

  编辑 /etc/profile  

  [[email protected] local]#  vim /etc/profile  ( 进入编辑模式,在path 基础上添加 变量)

  #set environment

            RABBITMG_HOME=/usr/local/rabbitmg-server-3.6.0

            ERL_HOME=/usr/local/erlang_7.2.1

            PATH=$RABBITMG_HOME/sbin:$ERL_HOME/bin:$PATH

            export PATH ERL_HOME

  按“Esc”键,再按“Shift+:”,在“:”后输入“wq

  [[email protected] local]# source /etc/profile

  如果未安装 rsyn 先安装, 否则源码编译 rabbitmq 报错

  [[email protected] local]#  yum -y install rsync

  [[email protected] local]# cd rabbitmq-server-3.6.0/

  [[email protected]]# make TARGET_DIR=/usr/local/rabbitmq-server-3.6.0 SBIN_DIR=/usr/local/rabbitmq-server-3.6.0/sbin MAN_DIR=/usr/local/rabbitmq-server-3.6.0/man DOC_INSTALL_DIR=/usr/local/rabbitmq-server-3.6.0/doc  instal

  创建rabbitmq网页管理文件夹

  [[email protected] rabbitmq-server-3.6.0]#  mkdir  /etc/rabbitmq

  启用管理方式(用网页方式管理MQ

  [[email protected] rabbitmq-server-3.6.0]#  cd scripts/

  [[email protected] scripts]#    ./rabbitmq-plugins enable rabbitmq_management 

  [[email protected] scripts]#    ./rabbitmq-server -detached

 

  配置端口号 可以外部访问

  [[email protected] scripts]#    iptables -I INPUT -p tcp --dport 5672 -j ACCEPT

  [[email protected] scripts]#    iptables -I INPUT -p tcp --dport 15672 -j ACCEPT

  [[email protected] scripts]#  /etc/rc.d/init.d/iptables save

  [[email protected] scripts]#  /etc/init.d/iptables restart

 

  访问 http://ip:15672/#/  看是否有rabbitMQ管理登录页面

  技术分享

  添加用户 admin /admin 在页面访问

 

  [[email protected] scripts]# ./rabbitmqctl add_user admin admin 

  [[email protected] scripts]# ./rabbitmqctl set_user_tags admin administrator

  [[email protected] scripts]# ./rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

 

  使用 admin 使用户即可登录

  至此 rabbitMQ 单机版 安装完成

 

**************************** END*************************************

  

                     RabbitMQ集群搭建

  在另一台电脑搭建rabbitMQ

  编辑 hosts 添加集群ip地址 先在node2 配置

  [[email protected] sbin]# vim /etc/hosts

  127.0.0.1 node2

  ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

  192.168.31.139 node2

  192.168.31.140 node1

  [[email protected] sbin]# vim /etc/sysconfig/network

   NETWORKING=yes

   HOSTNAME=node2

 

  [[email protected] sbin]# iptables -I INPUT -p tcp --dport 4369 -j ACCEPT

  [[email protected] sbin]# iptables -I INPUT -p tcp --dport  25672 -j ACCEPT

  [[email protected] sbin]# /etc/rc.d/init.d/iptables save

  [[email protected] sbin]# /etc/rc.d/init.d/iptables restart

 

  编辑 hosts 添加集群ip地址 再在node1 配置

  [[email protected] sbin]# vim /etc/hosts

  127.0.0.1 node1

  ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

  192.168.31.140 node1

  192.168.31.139 node2

 

  [[email protected] sbin]# vim /etc/sysconfig/network

   NETWORKING=yes

   HOSTNAME=node1

 

  [[email protected] sbin]# iptables -I INPUT -p tcp --dport 4369 -j ACCEPT

  [[email protected] sbin]# iptables -I INPUT -p tcp --dport  25672 -j ACCEPT

  [[email protected] sbin]# /etc/rc.d/init.d/iptables save

  [[email protected] sbin]# /etc/rc.d/init.d/iptables restart

   

 

  1.如上配置完成后重启两电脑

  2. 首先将node1的文件(/root/.erlang.cookie)内容copynode2的相应位置

  [[email protected] ~]# cat .erlang.cookie  

  将cookie 值 复制  在另一台电脑 执行如下命令

  [[email protected] ~]# echo ‘scookie value’> .erlang.cookie

  1. 启动node1rabbitmq  

  [[email protected] ~]# cd /usr/local/rabbitmq-server-3.6.0/sbin/

  [[email protected] sbin]#    ./rabbitmq-server -detached

 

  4. node2上执行

   [[email protected] sbin]#  ./rabbitmqctl stop_app

   [[email protected] sbin]#  ./rabbitmqctl reset

   [[email protected] sbin]#  ./rabbitmqctl join_cluster [email protected]

 

  登录 node1  如图 ,集群配置完成

    技术分享

  再执行如下命令 启动node2

   [[email protected] sbin]#  ./rabbitmqctl start_app  

   技术分享

 

**************************** END*************************************

 

 

              Haproxy 负载均衡

 

  在服务器上 安装 haproxy

  [[email protected] local]#  yum install haproxy

  安装完成后 编辑 /etc/haproxy/haproxy.cfg 文件

  [[email protected] local]# vim /etc/haproxy/haproxy.cfg

  后台 按进入编辑模式 在文件最后添加如下 配置

 

  #配置监听rabbitmq

  listen rabbitmq_cluster 0.0.0.0:5672

      mode  tcp

      Balance  roundrobin

      server  node1   192.168.31.139:5672 check inter 2000 rise 2 fall 3

      server  node3   192.168.31.140:5672 check inter 2000 rise 2 fall 3

 

  #配置监听页面

  listen stats

    mode http

    bind *:1080

    stats enable

    stats hide-version

    stats uri /stats

    stats realm haproxy_stats

    stats auth admin:admin

   

  保存退出编辑模式

  进入 haproxy 启动 haprox

  [[email protected] local]# cd /usr/sbin

  [[email protected] sbin]# ./haproxy  -f /etc/haproxy/haproxy.cfg 

 

  可能会有警告  PS :无视就行

  技术分享

  打开配置监听页面窗口 1080

  [[email protected] sbin]# iptables -I INPUT -p tcp --dport 1080 -j ACCEPT

  [[email protected] sbin]# /etc/rc.d/init.d/iptables save

  [[email protected] sbin]# /etc/rc.d/init.d/iptables restart

   

  访问监听页面 http://ip/stats   ip为 配置负载均衡服务器的ip地址

  输入密码后即可看到监听页面

    技术分享

 

**************************** END*************************************

以上是关于RabbitMq 集群配置的主要内容,如果未能解决你的问题,请参考以下文章

RabbitMQ 集群与高可用配置

Spring Boot项目配置RabbitMQ集群

rabbitmq-3.5.7 集群安装配置

Rabbitmq 相关介绍之双机镜像模式集群配置

rabbitMQ集群

RabbitMQ集群创建