rabbitmq羣集

RabbitMQ是實現了高級消息隊列協議(AMQP)的開源消息代理軟件(亦稱面向消息的中間件)。RabbitMQ服務器是用Erlang語言編寫的,而集羣和故障轉移是構建在開放電信平臺框架上的。全部主要的編程語言均有與代理接口通信的客戶端庫。java


實驗環境node

centos7_x64mysql

rabbitmq_server  mq1  192.168.10.17c++

rabbitmq_slave   mq2  192.168.10.19git

4369     erlang發現web

5672     client端通訊口sql

25672    server間內部通訊口shell

15672    管理界面ui端口編程


實驗軟件centos

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 stop firewalld.service && systemctl disable firewalld.service

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

cat /etc/hosts | grep mq1

192.168.10.17 mq1

192.168.10.19 mq2             mq1/mq2操做

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

scp -p /etc/hosts root@192.168.10.19:/etc/

reboot/init6       重啓系統生效 mq1/mq2操做 


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 -p /usr/local/lib/erlang.tar.gz  root@192.168.10.19:/usr/local/lib  mq1操做

tar zxvf /usr/local/lib/erlang.tar.gz    mq2操做


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/rabbitmq

scp -p rabbitmq.tar.gz  root@192.168.10.19:/usr/local/  mq1操做

tar zxvf /usr/local/rabbitmq.tar.gz       mq2操做


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

cat  /etc/profile

export PATH=$PATH:/usr/local/lib/erlang/bin

export PATH=$PATH:/usr/local/rabbitmq/sbin/

source  /etc/profile

scp  -p /etc/profile root@192.168.10.19:/etc/  mq1操做

source  /etc/profile    mq2操做

 

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:

  rabbitmq_management

  rabbitmq_management_agent

  rabbitmq_web_dispatch

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 -p /etc/init.d/rabbitmq root@192.168.10.19:/etc/init.d/  mq1操做

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

systemctl daemon-reload  && /etc/init.d/rabbitmq restart


cp -pv /etc/rc.d/rc.local  /etc/rc.d/rc.local.bak

cat /etc/rc.d/rc.local

nohup  rabbitmq-server --daemon &  後臺啓動服務

scp -p /etc/rc.d/rc.local  root@192.168.10.19:/etc/rc.d/  mq1操做

rabbitmq-server --daemon &  && chkconfig --level 35 rabbitmq on   後臺啓動服務

scp -p /etc/init.d/rabbitmq  root@192.168.10.19:/etc/init.d/ mq1操做

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


cp -pv /root/.erlang.cookie  /root/.erlang.cookie.bak     mq1操做

scp -p /root/.erlang.cookie root@192.168.10.19:/root/.erlang.cookie   mq1操做

chmod 600  /root/.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

rabbit@mq1

rabbit@mq2

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

COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

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

lsof  -i:15672

COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

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

lsof  -i:25672

COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

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


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

1.jpg


2.jpg

相關文章
相關標籤/搜索