RabbitMQ - Cluster+HA(haproxy+keepalived)热备(2)

2020-03-27 05:32

reboot exit

3. 安装配置Rabbit_Cluster 集群

因为类同重复性工作较多,所以直接采用《shell脚本+人工操作》搭配方式进行搭建,脚本执行过程中需要在rabbit1和rabbit2交互进行。

3.1 Rabbit1主机

vim 02_rabbit1_install.sh #!/bin/bash

apt-get install -y erlang ##安装rabbitmq所依赖的工具erlang

##添加rabbitmq源

echo \/etc/apt/sources.list.d/rabbitmq.list

wget http://www.rabbitmq.com/rabbitmq-signing-key-public.asc apt-key add rabbitmq-signing-key-public.asc apt-get update

##安装rabbitmq-server服务

apt-get install -y rabbitmq-server

##方法二

echo “CHDCGETPYWOWREASJUAZ” > /var/lib/rabbitmq/.erlang.cookie

service rabbitmq-server start

# 配置rabbitmq

rabbitmq-plugins enable rabbitmq_management

##停止rabbit服务 rabbitmqctl stop

##查看rabbit状态 rabbitmqctl status

##此处交互,请在rabbit2服务器执行脚本02_rabbit2_install.sh echo \

echo \

echo \read

##因为做rabbitmq_cluster需要确保.erlang.cookie一致性,所以rabbit2和rabbit3上面的.erlang.cookie均需要从rabbit1上面scp复制过去,可以参见如下(方法一),但因为是全新的,其实完全可以写一段相同的内容更省事,参见上文中(方法二见上文),方法一我只做介绍(见下文)在这里,我注释掉,因为脚本中直接使用方法二。

##方法一

#安装expect工具,以实现自动交互上传文件。 #apt-get -y install tcl tk expect #在bash中调用expect命令

#rabbit1第一次向rabbit2机器scp文件 #/usr/bin/expect <

#spawn scp /var/lib/rabbitmq/.erlang.cookie #stone@192.168.100.192:/home/stone/cookit/ #set timeout 3 #expect \#send \#expect \#send \#expect eof #EOF

# rabbit1第二次或以上向rabbit2机器scp文件 #/usr/bin/expect <

#spawn scp /var/lib/rabbitmq/.erlang.cookie #stone@192.168.100.192:/home/stone/cookit/ #set timeout 3 #expect \#send \#expect eof #EOF

#echo \#echo \

#echo \#read

##启动rabbitma服务

rabbitmq-server -detached

echo \echo \

echo \

read

##查看Rabbit_Cluster集群的状态 rabbitmqctl cluster_status

echo \read

exit

3.2 Rabbit2主机

vim 02_rabbit2_install.sh #!/bin/bash

apt-get install -y erlang

useradd -d /var/lib/rabbitmq rabbitmq

echo \/etc/apt/sources.list.d/rabbitmq.list

wget http://www.rabbitmq.com/rabbitmq-signing-key-public.asc apt-key add rabbitmq-signing-key-public.asc apt-get update

apt-get install -y rabbitmq-server

##方法二

echo “CHDCGETPYWOWREASJUAZ” > /var/lib/rabbitmq/.erlang.cookie

service rabbitmq-server start

# Configure Setup

rabbitmq-plugins enable rabbitmq_management

rabbitmqctl stop

rabbitmqctl status

##以下是对应rabbit1脚本中的方法一,因为采用的方法二,所以我注释掉它。 #rm -rf /var/lib/rabbitmq/.erlang.cookie

#mkdir -p /home/stone/cookit &&chown stone.stone /home/stone/cookit

#echo \#echo \

#echo \#read

#mv /home/stone/cookit/.erlang.cookie /var/lib/rabbitmq/.erlang.cookie #chown rabbitmq.rabbitmq /var/lib/rabbitmq/.erlang.cookie

##以正常模式启动rabbitmq-server服务 rabbitmq-server -detached

echo \echo \

echo \read

##rabbit2加入集群rabbit

## If you need to join the cluster rabbitmqctl stop_app

#If you use a hard disk (permanent), such as: #rabbitmqctl join_cluster rabbit@rabbit1 #If you use a memory, such as: ##rabit2是ram模式

rabbitmqctl join_cluster --ram rabbit@rabbit1 rabbitmqctl start_app

##如何改变rabbit的模式为ram或disc

#=================================================== #We can Changing node types #rabbit2$ rabbitmqctl stop_app

#rabbit2$ rabbitmqctl change_cluster_node_type disc #or

#rabbit2$ rabbitmqctl change_cluster_node_type ram #rabbit2$ rabbitmqctl start_app

#===================================================

##到此,rabbit2加入集群成功

echo \echo \

echo \read

##查看Rabbit_Cluster集群的状态 rabbitmqctl cluster_status

#=============================== #If you need from the cluster #rabbitmqctl stop_app #rabbitmqctl reset #rabbitmqctl start_app

#===============================

echo \

read exit

3.3 Rabbit3主机

vim 03_rabbit3_install.sh #!/bin/bash

apt-get install -y erlang

useradd -d /var/lib/rabbitmq rabbitmq

echo \/etc/apt/sources.list.d/rabbitmq.list

wget http://www.rabbitmq.com/rabbitmq-signing-key-public.asc apt-key add rabbitmq-signing-key-public.asc apt-get update

apt-get install -y rabbitmq-server

##方法二

echo “CHDCGETPYWOWREASJUAZ” > /var/lib/rabbitmq/.erlang.cookie

service rabbitmq-server start

# Configure Setup

rabbitmq-plugins enable rabbitmq_management

rabbitmqctl stop

rabbitmqctl status

##以正常模式启动rabbitmq-server服务 rabbitmq-server -detached

##rabbit3加入集群rabbit

## If you need to join the cluster rabbitmqctl stop_app

#If you use a hard disk (permanent), such as: #rabbitmqctl join_cluster rabbit@rabbit1 #If you use a memory, such as:

##rabit3是ram模式,直接加入到rabbit2,其实都是一个意思 rabbitmqctl join_cluster --ram rabbit@rabbit2 rabbitmqctl start_app

##如何改变rabbit的模式为ram或disc

#=================================================== #We can Changing node types


RabbitMQ - Cluster+HA(haproxy+keepalived)热备(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:华中师范大学2013年博士研究生招生专业目录

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: