rabbitmq-集群运维和管理



1、rabbitmq管理

1.1、多租户与权限

1.2、用户管理

1.3、Web端管理

1.4、应用与集群管理

1.4.1、应用管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 用于停止 rabbitmq 的erlang 虚拟机 和 rabbitmq 应用
rabbitmqctl stop [pidfile]
# 用于停止 rabbitmq 的erlang 虚拟机 和 rabbitmq 应用(阻塞等待)
rabbitmqctl shutdown
# 停止 rabbitmq 应用
rabbitmqctl stop_app
rabbitmqctl start_app
# 等待pidfile 中 rabbitmq 应用启动
rabbitmqctl wait [pidfile]
# 重置节点,从原来的集群中删除此节点,删除所有用户,vhost
rabbitmqctl reset
# 强制将rabbit目前节点重置还原到最初状态
rabbitmqctl force_reset

rabbitmqctl rotate_logs {siffix}
# 将部分rabbitmq 代码用 HiPE编译
rabbitmqctl hipe_compile {directory}

1.4.2、集群管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 将节点加入指定集群
rabbitmqctl join_cluster {cluster_node} [--ram]
# 查看集群状态
rabbitmqctl cluster_status
# 修改集群节点的类型
rabbitmqctl change_cluster_node_type {disc|ram}
# 将节点从集群中删除,允许离线执行
rabbitmqctl forget_cluster_node [--offline]
# 在集群中的节点应用启动前 资讯 clusternode节点的最新信息,并更新相应的集群信息
rabbitmqctl update_cluster_nodes {clusternode}
# 确保节点可以启动,即使它不是最后一个关闭的节点
rabbitmqctl force_boot
# 指示未同步队列queue 的 slave 镜像 可以同步 master镜像行的内容
rabbitmqctl sync_queue [-p vhost] {queue}
# 取消队列queue的同步镜像操作
rabbitmqctl cancel_sync_queue [-p vhost] {queue}
# 设定集群名称
rabbitmqctl set_cluster_name {name}

1.5、服务端状态

1.6、HTTP API 接口管理


2、rabbitmq运维

2.1、集群搭建


2.2、查看服务日志


2.3、单节点故障恢复


2.4、集群迁移

2.4.1、元数据重建


2.4.2、数据迁移和客户端连接的切换


2.4.3、自动化迁移


2.5、集群监控


3、集群间通信

3.1、Federatoin

3.2、Shovel


4、网络分区

4.1、网络分区的意义

4.2、网络分区的判定

4.3、网络分区的模拟

4.4、网络分区的影响

4.5、手动处理网络分区

4.6、自动处理网络分区

4.7、案例:多分区情形