rabbitmq集群搭建

一、集群安装

集群的搭建使用到了三台服务器,分别是:

192.168.2.21 、192.168.2.22、192.168.2.23

为了方便,以上三台服务器使用别名访问,修改/etc/hosts文件,配置如下:

1.安装erlang

安装rabbitmq需要依赖erlang,所以先安装erlang,这里使用rpm方式安装,首先下载erlang,

# wget http://www.rabbitmq.com/releases/erlang/erlang-20.1-1.el6.x86_64.rpm,如果下载速度比较慢,可以访问https://www.erlang-solutions.com/resources/download.html找到自己需要的版本下载,执行命令安装

# rpm  -ivh  esl-erlang_20.1-1~centos~7_amd64.rpm,如果出现以下错误

先安装erlang相关依赖

# yum install epel-release

# yum install unixODBC unixODBC-devel wxBase wxGTK SDL wxGTK-gl

再执行 # rpm  -ivh  esl-erlang_20.1-1~centos~7_amd64.rpm,

看一下是否安装成功 #erl -version

2.安装rabbitmq

先下载rabbitmq

# wget rabbitmq-server-3.6.12-1.el6.noarch.rpm

同样使用rpm方式安装

# rpm -ivh --nodeps rabbitmq-server-3.6.12-1.el6.noarch.rpm

也可以使用yum方式安装,

# yum install  rabbitmq-server-3.6.12-1.el6.noarch.rpm


二、集群搭建

1.启动服务

# systemctl start rabbitmq-server.service

查看节点状态

# systemctl status rabbitmq-server.service

查看节点集群状态:

# rabbitmqctl cluster_status

2.从节点加入到主节点

将zk-01作为主节点,zk-02、zk-03加入到主节点中,

先停止zk-02服务

# systemctl stop rabbitmq-server.service

由于三台服务器需要搭建集群,所以使用的cookie信息是一样的,服务在启动的使用,会获取.eralng.cookie文件的信息,加入到主节点时会去做认证,所以需要将主节点的.erlang.cookie文件拷贝到其他节点中,

# scp /var/lib/rabbitmq/.erlang.cookie root@zk-02:/var/lib/rabbitmq/.erlang.cookie

由于安装erlang和rabbitmq的方式均使用rpm方式安装,所以安装完成后,.erlang.cookie会自动生成,一般是在

/var/lib/rabbitmq目录下,如果使用安装包方式安装,.erlang.cookie文件在根目录下

使用后台启动zk-02

# rabbitmqctl -detached

将zk-02加入到zk-01中

# rabbitmqctl stop_app

# rabbitmqctl reset

# rabbitmqctl join_cluster rabbit@zk-01

# rabbitmqctl start_app

# rabbitmqctl cluster_status

可以看到zk-02已成功加入zk-01,查看zk-01集群状态

同样zk-03使用以上方式加入到zk-01中

3.修改集群中节点状态

# rabbitmqctl stop_app

# rabbitmqctl change_cluster_node_type ram

# rabbitmqctl start_app

不指定时默认为disc(磁盘节点),可以指定为ram(内存节点)

三、配置rabbitmq管理界面

1.启用web插件

# rabbitmq-plugins enable rabbitmq_management

2.启用日志跟踪插件

# rabbitmq-plugins enable rabbitmq_tracing

# rabbitmqctl trace_on -p mq  //打开trace

# rabbitmqctl trace_off  //关闭trace

3.配置账号

# rabbitmqctl add_user admin admin  //添加账号

# rabbitmqctl set_user_tags admin administrator //添加权限

# rabbitmqctl  change_password  username  newpassword //修改用户的密码

# rabbitmqctl delete_user guest //删除账号

# rabbitmqctl  list_users //查看当前用户列表

登录管理界面

4.创建镜像队列

以上集群模式不能保证高可用,队列中的内容无法进行复制,当一个节点出现故障,只能重启,为保证服务的高可用,需要创建镜像队列。

使用命令方式创建一个策略mirror_queue,策略模式为 all 即复制到所有节点,包含新增节点,策略正则表达式为 “^” 表示所有匹配所有队列名称。

# rabbitmqctl set_policy --priority 0 --apply-to queues mirror_queue "^queue_" '{"ha-mode":"all"}'

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容