rabbitmq群集

RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。

 

实验环境

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值