RabbitMq直接脚本,搭建集群脚本
- 创建文件夹:erlang和rabbitmq文件夹 mkdir /usr/rabbitmq
- 将文件移动到erlang和rabbitmq文件夹中 mkdir /usr/rabbitmq
- 执行script.sh脚本 ./script.sh
- 重新编译profile文件 source /etc/profile
- 关闭防火墙 systemctl stop firewalld
- 访问http://{host}:15672 可以访问到rabbit web界面即可
#!/bin/bash cd /usr/erlang tar -zxvf otp_src_21.3.tar.gz cd otp_src_21.3 # 判断安装erlang语言所需要安装的依赖 gcc=`rpm -qa gcc | wc -l` if (($gcc<1)); then yum install gcc -y fi perl=`rpm -qa perl | wc -l` if (($perl<1)); then yum install perl -y fi ncd=`rpm -qa ncurses-devel | wc -l` if (($ncd<1)); then yum install ncurses-devel -y fi opd=`rpm -qa openssl-devel | wc -l` if (($opd<1)); then yum install openssl-devel -y fi ./configure --prefix=/usr/erlang/otp_src_21.3 --without-javac make && make install echo 'export PATH=$PATH:/usr/erlang/otp_src_21.3/bin' >> /etc/profile # 安装rabbitmq cd /usr/rabbitmq xz -d rabbitmq-server-generic-unix-3.7.17.tar.xz tar -xvf rabbitmq-server-generic-unix-3.7.17.tar echo 'export PATH=$PATH:/usr/rabbitmq/rabbitmq_server-3.7.17/sbin' >> /etc/profile source /etc/profile rabbitmq-plugins enable rabbitmq_management echo "-----------------------install rabbitmq is ok...-------------------------------------" echo "-----------------------请重新运行命令 source /etc/profile!!--------------------------" echo "-----------------------请重新运行命令 source /etc/profile!!--------------------------"
A为主服务器
B为备用服务器
C和B操作相同
编辑A服务器 vi /etc/hostname 增加 rabbitmq1
编辑B服务器 vi /etc/hostname 增加 rabbitmq2
编辑A服务器 vi /etc/hosts 增加 B的IP rabbitmq2
编辑B服务器 vi /etc/hosts 增加 A的IP rabbitmq1
在A和B服务器上分别执行
hostname $(cat /etc/hostname)
然后重新登录一下
2.1 A服务器运行命令 => rabbitmq-server -detached
2.2 将A服务器上的 .erlang.config拷贝到另一台B服务器上。
.erlang.cookie此文件是隐藏文件,一般是登录者的家目录中
2.3 启动B服务器的rabbitmq,运行命令: => rabbitmq-server -detached
2.4 在B服务器执行命令 => rabbitmqctl stop_app
2.5 在B服务器执行命令 => rabbitmqctl join_cluster --ram rabbit@rabbitmq1
#!/bin/bash rabbitmq1ip='172.18.17.8' rabbitmq2ip='172.18.17.9' rabbitmq3ip='' hostismaster=1 countrabbitmq1=`cat /etc/hosts | grep -w rabbitmq1 | wc -l` if (( $countrabbitmq1<1 ));then `echo $rabbitmq1ip rabbitmq1 >> /etc/hosts` fi countrabbitmq2=`cat /etc/hosts | grep -w rabbitmq2 | wc -l` if (( $countrabbitmq2<1 ));then `echo $rabbitmq2ip rabbitmq2 >> /etc/hosts` fi countrabbitmq3=`cat /etc/hosts | grep -w rabbitmq3 | wc -l` if [[ $rabbitmq3ip != '' ]];then if (( $countrabbitmq3<1 ));then `echo $rabbitmq3ip rabbitmq3 >> /etc/hosts` fi fi if (( $hostismaster==1 )); then echo rabbitmq1 > /etc/hostname `scp /root/.erlang.cookie root@$rabbitmq2ip:/root/` if [[ rabbitmq3ip != '' ]]; then `scp /root/.erlang.cookie root@$rabbitmq3ip:/root/` fi else if (( $hostismaster==2 )); then echo rabbitmq2 > /etc/hostname fi if (( $hostismaster==3 )); then echo rabbitmq3 > /etc/hostname fi fi countrabbitmq=`ps -ef | grep rabbitmq | wc -l` if (( $countrabbitmq<2 ));then rabbitmq-server -detached fi if (( $hostismaster>1 )); then rabbitmqctl stop_app rabbitmqctl join_cluster --ram rabbit@rabbitmq1 fi

浙公网安备 33010602011771号