zoukankan      html  css  js  c++  java
  • RabbitMq 集群配置

                 1. RabbitMQ 所需的附属安装包

      1.1  openGL安装

      执行命令:

      [root@localhost 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  

       [root@localhost local]#  tar -xvf otp_src_18.2.1.tar.gz 

      

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

      [root@localhost local]# cd  otp_src_18.2.1

       [root@localhost 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

      执行命令:[root@localhost otp_src_18.2.1]#  make && make install

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

      [root@localhost local]# cd ../

      [root@localhost local]#   ln -s erlang_7.2.1  erlang_7.2.1_ln

      配置erlang环境变量

      编辑 /etc/profile  

      [root@localhost 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

      [root@localhost local]# source /etc/profile

      测试是否安装成功

      [root@localhost local]# erl

      出现如下图表示成功

      

       

      按“ctrl + z”键,退出 

      1.3  python 安装

      [root@localhost 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 

      [root@localhost local]#  tar -xvf  simplejson-3.8.2.tar.gz

      [root@localhost local]#  cd simplejson-3.8.2

      [root@localhost simplejson-3.8.2]#  python setup.py build 

      [root@localhost simplejson-3.8.2]#  python setup.py install

     

      测试安装是否成功

      [root@localhost 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 工具

      [root@localhost local]#  yum -y install xz

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

      [root@localhost local]# xz -d rabbitmq-server-generic-unix-3.6.0.tar.xz

      [root@localhost local]# tar -xvf rabbitmq-server-generic-unix-3.6.0.tar

      [root@localhost local]#  mv rabbitmq_server-3.6.0 rabbitmq-server-3.6.0

       

      配置rabbitmq环境变量

      编辑 /etc/profile  

      [root@localhost 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

      [root@localhost local]# source /etc/profile

      [root@localhost local]# cd rabbitmq-server-3.6.0/sbin/

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

      [root@localhost sbin]#    ./rabbitmq-plugins enable rabbitmq_management 

      [root@localhost sbin]#    ./rabbitmq-server -detached

      设置端口号 可以外部访问

      [root@localhost sbin]#    /sbin/iptables -I INPUT -p tcp --dport 5672 -j ACCEPT

      [root@localhost sbin]#    /sbin/iptables -I INPUT -p tcp --dport 15672 -j ACCEPT

      [root@localhost sbin]#  /etc/rc.d/init.d/iptables save

      [root@localhost sbin]#  /etc/init.d/iptables restart 

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

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

      [root@localhost sbin]# ./rabbitmqctl add_user admin admin 

      [root@localhost sbin]# ./rabbitmqctl set_user_tags admin administrator

      [root@localhost 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 工具

      [root@localhost local]#  yum -y install xz

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

      [root@localhost local]#  xz -d rabbitmq-server-3.6.0.tar.xz

      [root@localhost local]# tar -xvf rabbitmq-server-3.6.0.tar 

      配置rabbitmq环境变量

      编辑 /etc/profile  

      [root@localhost 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

      [root@localhost local]# source /etc/profile

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

      [root@localhost local]#  yum -y install rsync

      [root@localhost local]# cd rabbitmq-server-3.6.0/

      [root@rabbitmq-server-3.6.0]# 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网页管理文件夹

      [root@localhost rabbitmq-server-3.6.0]#  mkdir  /etc/rabbitmq

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

      [root@localhost rabbitmq-server-3.6.0]#  cd scripts/

      [root@localhost scripts]#    ./rabbitmq-plugins enable rabbitmq_management 

      [root@localhost scripts]#    ./rabbitmq-server -detached

      配置端口号 可以外部访问

      [root@localhost scripts]#    iptables -I INPUT -p tcp --dport 5672 -j ACCEPT

      [root@localhost scripts]#    iptables -I INPUT -p tcp --dport 15672 -j ACCEPT

      [root@localhost scripts]#  /etc/rc.d/init.d/iptables save

      [root@localhost scripts]#  /etc/init.d/iptables restart

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

      

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

      [root@localhost scripts]# ./rabbitmqctl add_user admin admin 

      [root@localhost scripts]# ./rabbitmqctl set_user_tags admin administrator

      [root@localhost scripts]# ./rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

      使用 admin 使用户即可登录

      至此 rabbitMQ 单机版 安装完成

     

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

      

                         RabbitMQ集群搭建

      在另一台电脑搭建rabbitMQ

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

      [root@localhost 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

      [root@localhost sbin]# vim /etc/sysconfig/network

       NETWORKING=yes

       HOSTNAME=node2

      [root@localhost sbin]# iptables -I INPUT -p tcp --dport 4369 -j ACCEPT

      [root@localhost sbin]# iptables -I INPUT -p tcp --dport  25672 -j ACCEPT

      [root@localhost sbin]# /etc/rc.d/init.d/iptables save

      [root@localhost sbin]# /etc/rc.d/init.d/iptables restart

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

      [root@localhost 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

     

      [root@localhost sbin]# vim /etc/sysconfig/network

       NETWORKING=yes

       HOSTNAME=node1

     

      [root@localhost sbin]# iptables -I INPUT -p tcp --dport 4369 -j ACCEPT

      [root@localhost sbin]# iptables -I INPUT -p tcp --dport  25672 -j ACCEPT

      [root@localhost sbin]# /etc/rc.d/init.d/iptables save

      [root@localhost sbin]# /etc/rc.d/init.d/iptables restart

       

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

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

      [root@localhost ~]# cat .erlang.cookie  

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

      [root@localhost ~]# echo ‘scookie value’> .erlang.cookie

    1. 启动node1rabbitmq  

      [root@localhost ~]# cd /usr/local/rabbitmq-server-3.6.0/sbin/

      [root@localhost sbin]#    ./rabbitmq-server -detached

      4. node2上执行

       [root@localhost sbin]#  ./rabbitmqctl stop_app

       [root@localhost sbin]#  ./rabbitmqctl reset

       [root@localhost sbin]#  ./rabbitmqctl join_cluster rabbit@node1

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

        

      再执行如下命令 启动node2

       [root@localhost sbin]#  ./rabbitmqctl start_app  

       

     

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

                  Haproxy 负载均衡

      在服务器上 安装 haproxy

      [root@localhost local]#  yum install haproxy

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

      [root@localhost local]# vim /etc/haproxy/haproxy.cfg

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

      #配置监听rabbitmq

      listen rabbitmq_cluster 0.0.0.0:5672

          mode  tcp

          Balance  roundrobin

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

          server  node2   192.168.31.139: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

      [root@localhost local]# cd /usr/sbin

      [root@localhost sbin]# ./haproxy  -f /etc/haproxy/haproxy.cfg 

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

      

      打开配置监听页面窗口 1080

      [root@localhost sbin]# iptables -I INPUT -p tcp --dport 1080 -j ACCEPT

      [root@localhost sbin]# /etc/rc.d/init.d/iptables save

      [root@localhost sbin]# /etc/rc.d/init.d/iptables restart

       

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

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

        

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

  • 相关阅读:
    C#磁吸屏幕窗体类库
    准备
    我写的诗
    How to turn off a laptop keyboard
    How to tell which commit a tag points to in Git?
    Why should I care about lightweight vs. annotated tags?
    How to get rid of “would clobber existing tag”
    Facebook, Google and Twitter threaten to leave Hong Kong over privacy law changes
    The need for legislative reform on secrecy orders
    Can a foreign key be NULL and/or duplicate?
  • 原文地址:https://www.cnblogs.com/hjwbla/p/5210107.html
Copyright © 2011-2022 走看看