天天看點

rabbitmq群集

實驗環境

centos7_x64

rabbitmq_server  mq1  192.168.10.17

rabbitmq_slave    mq2  192.168.10.19

4369     erlang發現

5672     client端通信口

25672    server間内部通信口

15672    管理界面ui端口

實驗軟體

otp_src_22.1.tar.gz

rabbitmq-server-generic-unix-3.8.0.tar

軟體安裝

sed -i.bak 's/https/http/g' /etc/yum.repos.d/epel.repo 

systemctl restart ntpd.service && ntpdate 192.168.10.17 && clock w

systemctl stop firewalld.service && systemctl disable firewalld.service

cp -pv /etc/hosts /etc/hosts.bak  

echo  192.168.10.17 mq1  >> /etc/hosts

echo  192.168.10.19 mq2  >> /etc/hosts  mq1     

hostnamectl  set-hostname mq1/mq2   mq1/mq2操作

scp -pr  /etc/hosts [email protected]:/etc/

yum install -y gcc gcc-c++ glibc-devel make ncurses-devel  redhat-lsb

yum install -y openssl-devel autoconf java-1.8.0-openjdk-devel git    mq1/mq2操作

tar zxvf /root/otp_src_22.1.tar.gz

cd /root/otp_src_22.1

./configure && make -j6 && make install

openssl  version -a

OpenSSL 1.0.2k-fips 

erl --version

Eshell V10.5   

scp -pr /usr/local/lib/erlang [email protected]:/usr/local/lib/erlang  mq1操作

xz -d /root/rabbitmq-server-generic-unix-3.8.0.tar.xz 

tar xvf /root/rabbitmq-server-generic-unix-3.8.0.tar 

mv rabbitmq_server-3.8.0 /usr/local/mq1

scp -pr /usr/local/mq1   [email protected]:/usr/local/mq2  

cp -pv /root/.erlang.cookie  /usr/local/mq1    mq1操作

cp -pv /etc/profile  /etc/profile.bak

echo  export PATH=$PATH:/usr/local/lib/erlang/bin  >>   /etc/profile

echo  export PATH=$PATH:/usr/local/rabbitmq/sbin/  >> /etc/profile  

source  /etc/profile

scp  -p /etc/profile [email protected]:/etc/  mq1操作

ssh  [email protected]  'source /etc/profile'    mq1操作

rabbitmq-plugins  enable rabbitmq_management    開啟web控制台

Enabling plugins on node rabbit@mq1:

rabbitmq_management

The following plugins have been configured:

  rabbitmq_management

  rabbitmq_management_agent

  rabbitmq_web_dispatch

Applying plugin configuration to rabbit@mq1...

The following plugins have been enabled:

rabbitmqctl add_user admin admin  添加登入賬号 密碼

rabbitmqctl set_user_tags admin administrator  給予管理者權限

rabbitmq-server -daemon & 背景啟動服務

touch /etc/init.d/rabbitmq && chmod +x /etc/init.d/rabbitmq  建立啟動腳本

cat /etc/init.d/rabbitmq

#!/bin/bash

#

# mysql startup script for the RabbitMQ server

# chkconfig: 2345 90 10

# description: start the RabbitMQ

# Source function library

. /etc/rc.d/init.d/functions

prog=rabbitmq

RABBITMQ_HOME=cd /usr/local/rabbitmq/

export RABBITMQ_HOME

case "$1" in

    start)

    echo "Starting RabbitMQ ..."

    $RABBITMQ_HOME/ctlscript.sh start

    ;;

stop)

    echo "Stopping RabbitMQ ..."

    $RABBITMQ_HOME/ctlscript.sh stop

restart)

    echo "Restarting RabbitMQ ..."

    $RABBITMQ_HOME/ctlscript.sh restart

*)

    echo "Usage: $prog {start|stop|restart}"

esac

exit 0

scp -pr /etc/init.d/rabbitmq  [email protected]:/etc/init.d/  mq1操作

chmod  +x /etc/init.d/rabbitmq 

systemctl daemon-reload

/etc/init.d/rabbitmq restart  && chkconfig --add rabbitmq on   mq2操作

rabbitmq-server --daemon &  && chkconfig --level 35 rabbitmq on   背景啟動服務

scp -pr /etc/init.d/rabbitmq  [email protected]:/etc/init.d/ mq1操作

chmod +x /etc/init.d/rabbitmq                                mq2操作

cp -pv /usr/local/mq1/.erlang.cookie  /usr/local/mq1/.erlang.cookie.bak     mq1操作

scp -pr /usr/local/mq1/.erlang.cookie [email protected]:/usr/local/mq2/  mq1操作

chmod 600  /usr/local/mq2/.erlang.cookie    mq2操作

rabbitmqctl stop_app                    

Stopping rabbit application on node rabbit@mq2 

rabbitmqctl reset

Resetting node rabbit@mq2

rabbitmqctl join_cluster rabbit@mq1   建立群集

Clustering node rabbit@mq2 with rabbit@mq1

rabbitmqctl start_app

Starting node rabbit@mq2 ...

Starting broker... completed with 3 plugins.               mq2建立叢集,新節點相同操作

rabbitmqctl cluster_status     檢視群集狀态mq1操作

rabbitmqctl cluster_status

Cluster name: rabbit@mq1

Disk Nodes

rabbit@mq1

rabbit@mq2

Running Nodes

Versions

rabbit@mq1: RabbitMQ 3.8.0 on Erlang 22.1

rabbit@mq2: RabbitMQ 3.8.0 on Erlang 22.1

lsof  -i:4369

COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

epmd     41530 root    3u  IPv4  37737      0t0  TCP *:epmd (LISTEN)

epmd     41530 root    4u  IPv6  37738      0t0  TCP *:epmd (LISTEN) 

lsof  -i:5672

beam.smp 41702 root   90u  IPv6  38073      0t0  TCP *:amqp (LISTEN) 

lsof  -i:15672

beam.smp 41702 root   91u  IPv4  38169      0t0  TCP *:15672 (LISTEN)

lsof  -i:25672

beam.smp 41702 root   77u  IPv4  38041      0t0  TCP *:25672 (LISTEN)

http://serverip:15672/#/    192.168.10.17/19

rabbitmq群集
rabbitmq群集