rabbitmq安装和集群搭建(亲测)
安装Erlang
前期准备:
- 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(立刻生效)
# erl (检查erlang安装结果,显示版本情况)
RabbitMQ简易安装
- # cd /usr/local/
- # wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-generic-unix-3.6.15.tar.xz
- # xz -d rabbitmq-server-generic-unix-3.6.15.tar.xz
- # tar xvf rabbitmq-server-generic-unix-3.6.15.tar
- # mv rabbitmq_server-3.6.15 rabbitmq
- # rm -f rabbitmq-server-generic-unix-3.6.15.tar
环境变量增加内容
- # vi /etc/profile
- ##### Add ENV for RabbitMQ
- export RABBITMQ_HOME=/usr/local/rabbitmq
- export PATH=$PATH:$RABBITMQ_HOME/sbin
# source /etc/profile
没有rabbitmq.config的时候,缺省配置文件在$RABBIT_HOME/sbin/rabbitmq-defaults
rabbitmq-plugins enable rabbitmq_management
关于配置文件
配置文件目录$RABBITMQ_HOME/etc/rabbitmq/
配置文件:rabbitmq-env.conf / rabbitmq
集群搭建
vi /etc/hosts
- 172.23.0.21 mq1
- 172.23.0.22 mq2
- 172.23.0.23 mq3
以mq1为基
1、停mq2、mq3
rabbitmqctl stop
2、同步.erlang.cookie
将mq1中的.erlang.cookie同步到mq2、mq3 (scp rsync)
3、启动mq2、mq3
rabbitmq-server -detached
4、停mq2、mq3应用
rabbitmqctl stop_app
5、将mq2、mq3加到mq1中
在mq2、mq3上执行rabbitmqctl join_cluster [email protected]
6、启动mq2、mq3应用
rabbitmqctl start_app
7、查看集群状态
[[email protected] ~]# rabbitmqctl cluster_status
Cluster status of node [email protected]
[{nodes,[{disc,[[email protected],[email protected],[email protected]]}]},
{running_nodes,[[email protected]]},
{cluster_name,<<"[email protected]">>},
{partitions,[]},
{alarms,[{[email protected],[]}]}]
安装 过程中常见的问题
1、erlang安装过程中
- 这些异常都没事
2、rabbitmq启动过程中
- 可自己配置pid,不过不影响集群搭建
3、rabbitmq和erlang的版本对应表
http://www.rabbitmq.com/which-erlang.html?tdsourcetag=s_pctim_aiomsg
4、集群搭建过程中
需要先将rabbitmq停掉,再同步.erlang.cookie文件,否则停不掉rabbitmq
5、web页面不能访问
- 插件未启动 rabbitmq-plugins enable rabbitmq_management