rabbitmq安装和集群搭建(亲测)

安装Erlang

前期准备:html

  • GNU make
  • Compiler -- GNU C Compiler, gcc or the C compiler frontend for LLVM, clang.
  • Perl 5
  • GNU m4 -- If HiPE (native code) support is enabled. HiPE can be disabled using --disable-hipe
  • ncurses, termcap, or termlib -- The development headers and libraries are needed, often known as ncurses-devel. Use --without-termcap to build without any of these libraries. Note that in this case only the old shell (without any line editing) can be used.
  • sed -- Stream Editor for basic text transformation.

依赖的软件包和工具

  • 若是缺乏,须要安装(本次已centos7.5 最小化安装)
  • # yum install gcc ncurses-devel clang sed perl openssl-devel

安装erlang

  • # cd /usr/local/src
  • # mkdir erlang
  • # cd erlang
  • # wget http://erlang.org/download/otp_src_19.3.tar.gz
  • 注意:若是安装21版本,须要安装m4(yum install m4)
  • #  tar zxvf opt_src_19.3.tar.gz
  • # cd opt_src_19.3.tar.gz
  • #  ./configure  --prefix=/usr/local/erlang
  • # make
  • # make install

环境变量增长内容

  • # vi /etc/profile
  • ##### Add ENV for Erlang
  • export ERLANG_HOME=/usr/local/erlang
  • export PATH=$PATH:$ERLANG_HOME/bin

# source /etc/profile(马上生效)node

# erl  (检查erlang安装结果,显示版本状况)web

RabbitMQ简易安装

 

环境变量增长内容shell

  • # vi /etc/profile
  • ##### Add ENV for RabbitMQ
  • export RABBITMQ_HOME=/usr/local/rabbitmq
  • export PATH=$PATH:$RABBITMQ_HOME/sbin

# source /etc/profilecentos

没有rabbitmq.config的时候,缺省配置文件在$RABBIT_HOME/sbin/rabbitmq-defaultscookie

rabbitmq-plugins enable rabbitmq_managementapp

关于配置文件frontend

配置文件目录$RABBITMQ_HOME/etc/rabbitmq/工具

配置文件:rabbitmq-env.conf / rabbitmqui

 

集群搭建

vi /etc/hosts

  • 172.23.0.21    mq1
  • 172.23.0.22    mq2
  • 172.23.0.23    mq3

以mq1为基

一、停mq二、mq3

         rabbitmqctl stop

二、同步.erlang.cookie

将mq1中的.erlang.cookie同步到mq二、mq3 (scp rsync)

三、启动mq二、mq3

       rabbitmq-server -detached

四、停mq二、mq3应用

      rabbitmqctl stop_app

五、将mq二、mq3加到mq1中

        在mq二、mq3上执行rabbitmqctl join_cluster rabbit@mq1

六、启动mq二、mq3应用

      rabbitmqctl start_app

七、查看集群状态

[root@mq1 ~]#  rabbitmqctl cluster_status

Cluster status of node rabbit@mq1

[{nodes,[{disc,[rabbit@mq1,rabbit@mq2,rabbit@mq3]}]},

 {running_nodes,[rabbit@mq1]},

 {cluster_name,<<"rabbit@mq1">>},

 {partitions,[]},

 {alarms,[{rabbit@mq1,[]}]}]

安装 过程当中常见的问题

一、erlang安装过程当中

  •     这些异常都没事

二、rabbitmq启动过程当中

  • 可本身配置pid,不过不影响集群搭建

三、rabbitmq和erlang的版本对应表

http://www.rabbitmq.com/which-erlang.html?tdsourcetag=s_pctim_aiomsg

四、集群搭建过程当中

须要先将rabbitmq停掉,再同步.erlang.cookie文件,不然停不掉rabbitmq

五、web页面不能访问

  • 插件未启动 rabbitmq-plugins enable rabbitmq_management