RabbitMQ集群搭建-镜像模式

RabbitMQ集群搭建-镜像模式

服务器介绍
node1:172.31.30.180
node2:172.31.18.74
node3:172.31.18.107

三台服务器安装RabbitMQ服务

RabbitMQ主从配置
RabbitMQ安装(node1,node2,node3)

1:更改主机名 hosts文件
hostnamectl  set-hostname   node*

echo "172.31.30.180 node1" >> /etc/hosts
echo "172.31.18.74  node2" >> /etc/hosts
echo "172.31.18.107 node3" >> /etc/hosts


2:安装gcc环境

yum -y install  epel-release
yum -y install wget make gcc gcc-c++ kernel-devel m4 ncurses-devel libxml2-utils libxml2 libxslt openssl-devel unixODBC unixODBC-devel unixODBC-bin gtk2 fop gtk2-devel binutils-devel mesa-libGLU-devel  python xmlto python-simplejson xz
3:安装java环境
源码编译安装java jdk1.8
官网下载页面是http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

cd /usr/local/
wget '刚才复制的下载链接地址'
tar zxvf jdk-8u231-linux-x64.tar.gz
ln -s jdk1.8.0_221/ jdk1.8

配置java环境变量/etc/profile
echo 'export JAVA_HOME=/usr/local/jdk1.8/' >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
echo 'export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH' >> /etc/profile
source /etc/profile
java -version

4:安装erlang 下载地址为:http://www.erlang.org/downloads,下载:otp_src_22.1.tar.gz
解压、配置、编译:
如果报 Java compiler disabled by user 错误,则去掉--without-javac

wget http://www.erlang.org/download/otp_src_22.1.tar.gz
tar -xvf otp_src_22.1.tar.gz
cd otp_src_22.1
./configure --prefix=/usr/local/erlang --without-javac
make && make install

5:安装 RabbitMQ
rabbitmq下载地址:http://www.rabbitmq.com/download.html

wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.1/rabbitmq-server-generic-unix-3.8.1.tar.xz
unxz rabbitmq-server-generic-unix-3.8.1.tar.xz
tar -xf rabbitmq-server-generic-unix-3.8.1.tar
mv rabbitmq_server-3.8.1 rabbitmq
cp  -r  rabbitmq  /usr/local/

6:设置环境变量
echo "export PATH=$PATH:/usr/local/erlang/bin:/usr/local/rabbitmq/sbin" >> /etc/profile
source  /etc/profile


7:启动rabbitmq
rabbitmq-server -datached &
rabbitmqctl stop 为停止服务

设置guest可以远程连接
修改rabbitmq的配置/usr/local/rabbitmq/etc/rabbitmq/rabbitmq.config(没有就新建)
添加:

[{rabbit, [{loopback_users, []}]}].

启用管理控制台

rabbitmq-plugins enable rabbitmq_management

需要重启 rabbitmq,打开浏览器访问:http://mq01:15672,用户名guest,密码guest。

## node2和node3安装过程一样。


RabbitMQ集群配置:
我们这里以node1为master节点,node2和node3为slave节点。
停止MQ服务(node2,node3)
rabbitmqctl stop_app

复制node1节点的/root/.erlang.cookie文件到其他节点,并覆盖 (node1)
scp /root/.erlang.cookie root@node2:~
scp /root/.erlang.cookie root@node3:~

启动集群(node1,node2,node3)
rabbitmq-server -datached  &
rabbitmq-plugins enable rabbitmq_management

slave 加入集群,对mq02和mq03分别执行下面操作

rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@node1
rabbitmqctl start_app

常用命令:
如果需要移除集群节点,执行下面命令:

rabbitmqctl forget_cluster_node rabbit@mq02(具体节点)

修改集群名称(任意一个节点操作,默认为master mq名称)

rabbitmqctl set_cluster_name rabbitmq_cluster1

查看集群状态(任意一个节点操作)

rabbitmqctl cluster_status

设置镜像队列策略(任意一个节点操作)

rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'

将所有队列设置为镜像队列,即队列会被复制到各个节点,各个节点状态一致。

Rabbitmq服务器的主要通过rabbitmqctl和rabbimq-plugins两个工具来管理,以下是一些常用功能。

服务器启动与关闭

  启动: rabbitmq-server –detached
  关闭:rabbitmqctl stop
  若单机有多个实例,则在rabbitmqctlh后加–n 指定名称
  
插件管理

  开启某个插件:rabbitmq-plugins enable  xxx
  关闭某个插件:rabbitmq-plugins disable xxx
  注意:重启服务器后生效。
用户管理

  新建用户:rabbitmqctl add_user xxxpwd
  删除用户: rabbitmqctl delete_user xxx
  查看用户:rabbitmqctl list_users
  改密码: rabbimqctlchange_password {username} {newpassword}
  设置用户角色:rabbitmqctlset_user_tags {username} {tag ...}
          Tag可以为 administrator,monitoring, management

你可能感兴趣的:(运维)