栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Rabbitmq主从复制

Rabbitmq主从复制

1> 准备工作我使用的版本:

otp_src_23.1.tar.gz 和 rabbitmq-server-generic-unix-3.8.8.tar.xz

安装节点,RabbitMQ安装(node1,node2,node3),node1为master ,node2和node3为slave

修改3台机器的主机名称:编辑文件 vim /etc/hostname

编辑3台机器,分别加入如下内容, vim /etc/hosts

192.168.110.132  node1
192.168.110.126  node2
192.168.110.121  node3

sudo hostnamectl set-hostname node1 

然后重启:reboot 

2> 安装gcc环境

yum -y install 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 yum -y install 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

3> 安装erlang
下载地址为:http://www.erlang.org/downloads , 我下载的是otp_src_23.1.tar.gz , 下载完上传服务器,开始解压、配置、编译:

tar -xvf otp_src_23.1.tar.gz
cd otp_src_23.1
./configure --prefix=/usr/local/erlang23 --without-javac
make && make install

如果报错:./configure: line 4640: wx-config: command not found
configure: WARNING:

执行如下命令(原因自行百度):

yum install wxWidgets-devel
yum install wxbase #for /usr/bin/wx-config-3.0
cd /usr/bin; ln -s wx-config-3.0 wx-config

解决办法:
更新epel第三方软件库
yum install -y epel-release
# 再次执行,就可以安装了
yum install –y wxWidgets-devel
yum install wxbase #for /usr/bin/wx-config-3.0
cd /usr/bin
# 创建软连接
ln -s wx-config-3.0 wx-config

yum install java-devel

如果报 Java compiler disabled by user 错误,则去掉--without-javac , 则重新执行如下命令:

./configure --prefix=/usr/local/erlang23

执行无误后,再执行 : make && make install

4> 配置环境变量

vim /etc/profile
ERL_PATH=/usr/local/erlang23/bin
PATH=$ERL_PATH:$PATH
source /etc/profile   使得文件生效

验证一下,输入 erl ,出现如下字样,表示erlang环境安装成功

[root@iZ8vb6brzzk9zndijwzha5Z /]# erl

Erlang/OTP 23 [erts-11.1] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [hipe]

Eshell V11.1  (abort with ^G)

5> 安装 RabbitMQ

安装 python : yum install python -y

安装 simplejson
yum install xmlto -y
yum install python-simplejson -y

rabbitmq下载地址:http://www.rabbitmq.com/download.html,我下载的是
rabbitmq-server-generic-unix-3.8.8.tar.xz , 上传服务器并解压,并移至/usr/local/rabbitmq

tar -xvf rabbitmq-server-generic-unix-3.8.8.tar.xz
mv rabbitmq_server-3.6.8 /usr/local/rabbitmq

设置环境变量
export PATH=$PATH:/usr/local/erlang23/bin:/usr/local/rabbitmq/sbin
source /etc/profile
启动rabbitmq
./rabbitmq-server &
加上& 就是后台启动,./rabbitmqctl stop 为停止服务

rabbitmq从3.3.0开始禁止使用guest/guest权限通过除localhost外的访问,我的版本是3.7.5
解决办法:新增一个user用于访问,添加用户
[root@iZ8vb6brzzk9zndijwzha5Z sbin]# ./rabbitmqctl add_user chengzl 123456
Adding user "chengzl" ...
[root@iZ8vb6brzzk9zndijwzha5Z sbin]# 

查看用户列表

[root@iZ8vb6brzzk9zndijwzha5Z sbin]# ./rabbitmqctl list_users
Listing users ...
user    tags
chengzl    []
guest    [administrator]


给用户添加管理员权限

[root@iZ8vb6brzzk9zndijwzha5Z sbin]# ./rabbitmqctl set_user_tags chengzl administrator
Setting tags for user "chengzl" to [administrator] ...
[root@iZ8vb6brzzk9zndijwzha5Z sbin]# 
 

启用管理控制台
./rabbitmq-plugins enable rabbitmq_management
重启 rabbitmq,打开浏览器访问:http://node1:15672,用户名chengzl,密码123456。

6> RabbitMQ集群配置

A》停止MQ服务
./rabbitmqctl stop
复制node1节点的/root/.erlang.cookie文件到其他节点,并覆盖
scp /root/.erlang.cookie root@node2:~
scp /root/.erlang.cookie root@node3:~

scp /root/.erlang.cookie root@node2:/root/.erlang.cookie

B》启动集群(3台机器都重启)如下命令
./rabbitmq-server -datached

C》slave 加入集群,对node2和node3分别执行下面操作
./rabbitmqctl stop_app

rabbitmqctl stop会将Elang虚拟机关掉,rabbitmqctl stop_app只会关闭Rabbitmq服务

./rabbitmqctl reset
./rabbitmqctl join_cluster rabbit@node1
./rabbitmqctl start_app

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

./rabbitmqctl forget_cluster_node rabbit@node2(具体节点)

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

./rabbitmqctl set_cluster_name rabbitmq_cluster1

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

./rabbitmqctl cluster_status

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

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

将所有队列设置为镜像队列,即队列会被复制到各个节点,各个节点状态一致。
此时看rabbitmq管控台,如图二个节点,表示集群成功

 


 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/674132.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号