ubuntu下安装部署rabbitmq以及集群配置

ubuntu下安装部署rabbitmq以及集群配置

现状:
现在存在有三个服务器,之前三个服务器上各存在一个rabbitmq节点,因为其中一个服务器崩掉了,所以需要在这台服务器上安装rabbitmq并且将这个节点加入到之前的集群中。需要注意的是rabbitmq各个节点是互相平等的,不存在主从之分。
node1 172.27.0.11
node2 172…27.0.9
node3 172.27.0.5
没错,崩掉的就是这个.0.5的节点。

版本声明
erl 18.3(7.3)
rabbitmq 18.3

写在前面的话(我踩过的坑):
1.在安装rabbitmq之前需要安装erlang。
2.rabbitmq各个节点之前的确没有主从之分,但是各个节点的rabbitmq版本以及erlang的版本都应该一致。
3.网上有很多apt-get这种简易安装的方法,但是因为这种方法的安装版本相对较老,并且基于我自身的需要,我对版本需求很高,所以,我在尝试了这种安装方法之后,每次都失败,于是我卸载了。因此看这个文章的小可爱建议依据自身的需求去选择安装方法。我是以编译安装为主,相对比较麻烦。
4.erlang和rabbitmq二者的版本应该相互适配的,在安装之前去这里看看erlang和rabbitmq版本适配.

安装rabbitmq

在安装rabbitmq之前需要安装erlang

下载安装erlang

(1)在一个安装目录下建一个新的文件夹放rabbitmq的相关文件;
(2)下载(时间非常的长,而且很容易下载一个错误的包);
(3)解压,并且实现重命名;

cd /home/ubuntu/
sudo mkdir rabbit
cd rabbit
sudo wget http://erlang.org/download/otp_src_18.3.tar.gz
tar zxvf otp_src_18.3.tar.gz
mv otp_src_18.3 erlang

(4)编译安装
(在执行./configure命令没有执行成功说明,下载的包有问题,重新下载吧,或者可以在网上找一些镜像)
其他的问题可能需要安装一些额外的包,具体需要自己解决。

./configure
sudo make
sudo make install

(5)添加环境变量

cd /
cd /etc
sudo vi profile

在该文件中添加如下内容:(具体需要根据自己安装的位置确定)

ERLANG_HOME=/home/ubuntu/rabbit/erlang
export PATH=$PATH:$ERLANG_HOME/bin
export ERLANG_HOME

让配置文件生效!

source /etc/profile

(6)确定是否安装成功

erl

这样就成功了!

Erlang/OTP 18 [erts-7.3] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V7.3  (abort with ^G)
1> 

下载安装rabbitmq

(1)去到那个文件夹下载;
(2)解压,重命名;

cd /home/ubuntu/rabbit
wget http://www.rabbitmq.com/releases/rabbitmq-server/v_3.5.7/rabbitmq-server-generic-unix-3.5.7.tar.gz
tar zvxf rabbitmq-server-generic-unix-3.5.7.tar.gz
mv rabbitmq_server-3.5.7 rabbitmq

同样的,添加环境变量。

cd  /etc
sudo vi profile

在profile文件中添加如下内容:

export PATH=$PATH:/home/ubuntu/rabbit/rabbitmq/sbin
export RABBITMQ_HOME=/home/ubuntu/rabbit/rabbitmq

生效文件并启动rabbitmq

sorce /etc/profile
rabbitmq-server

查看rabbitmq状态

rabbitmqctl status

大概是这样就成功了!

Status of node 'rabbit@VM-0-5-ubuntu' ...
[{pid,28181},
 {running_applications,[{xmerl,"XML parser","1.3.10"},
                        {sasl,"SASL  CXC 138 11","2.7"},
                        {stdlib,"ERTS  CXC 138 10","2.8"},
                        {kernel,"ERTS  CXC 138 10","4.2"}]},
 {os,{unix,linux}},
 {erlang_version,"Erlang/OTP 18 [erts-7.3] [source] [64-bit] [smp:4:4] [async-threads:64] [hipe] [kernel-poll:true]\n"},
 {memory,[{total,37381904},
          {connection_readers,0},
          {connection_writers,0},
          {connection_channels,0},
          {connection_other,0},
          {queue_procs,0},
          {queue_slave_procs,0},
          {plugins,0},
          {other_proc,13426448},
          {mnesia,0},
          {mgmt_db,0},
          {msg_index,0},
          {other_ets,661480},
          {binary,9312},
          {code,16733394},
          {atom,654217},
          {other_system,5897053}]},
 {alarms,[]},
 {listeners,[]},
 {processes,[{limit,1048576},{used,49}]},
 {run_queue,0},
 {uptime,6009}]

部署rabbitmq(加入节点集群)

1.配置节点的host文件

cd /etc
sudo vi hosts

添加如下内容:(前面是内网IP,后面是节点名称)

172.27.0.11 node1
172.27.0.9 node2
172.27.0.5 node3

2.编辑cookie文件
三个节点的cookie文件应该一致,将.0.5这个节点的cookie文件修改成和其他的两个节点一致的样子!有两个文件都需要修改

cd /var/lib/rabbitmq
sudo vi .erlang.cookie
cd /$HOME
sudo vi .erlang.cookie

修改成和其他两个节点一致即可
3.加入

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@node1
(Cluster node rabbit@node3 with rabbit@node1)
rabbitmqctl start_app

加入的时候,提醒如上,则成功!

出现类似于tcp success but erl failed 
则是erl的问题,可能是缺一些包,反正是erlang的问题。可以考虑重新安装。

你可能感兴趣的:(ubuntu下安装部署rabbitmq以及集群配置)