Serie RocketMQ: operación y mantenimiento de la operación fuera de línea del nodo del clúster

Escenarios de operación y mantenimiento

He construido un clúster rocketmq de 3m-3s (referencia: construcción de rocketmq de 3m-3s ). Suponiendo que la máquina limitada a un conjunto de nodos maestros falla y necesita ser removida, ¿cómo realizar un funcionamiento y mantenimiento sin problemas?

Por ejemplo, construí un clúster de agentes de 3m-3s con la siguiente arquitectura:

 

 

¿Qué sucede si quiero eliminar el nodo broker-a del clúster?

En primer lugar, hay que aclarar tres puntos:

El primer punto: primero, debe cambiar broker-a a un estado en el que no se puedan recibir mensajes nuevos (es decir, los mensajes nuevos caen en broker-by broker-c), pero no puede afectar la ubicación de los mensajes que se están procesando.

El segundo punto: después de configurar el primer paso, broker-as es su máquina esclava; el primer paso no puede afectar los mensajes que se han colocado antes del consumo del esclavo.

El tercer punto: después de la eliminación del broker-a, la escala del clúster se vuelve más pequeña, si puede soportar la producción y el consumo actuales de TPS.

El tercer paso puede evaluarse. Generalmente, el nivel máximo de agua del clúster que puede soportar TPS es 2/3. Por ejemplo, el TPS máximo actual del clúster es 10000 y se recomienda que el TPS real del entorno de producción no supere los 7000. Si supera los 7000, el corredor debe expandirse. Agrupado.

operando

En primer lugar, entendemos el atributo permanente del tema, que se puede ver en la consola:

Perm se refiere a los atributos de lectura y escritura del tema:

6: leer y escribir

4: solo lectura

2: escribir solo

Después de comprender la permanente, podemos usarla para escribir artículos.

paso 1

Para lograr el primer punto, siempre que todos los temas de broker-a estén configurados como de solo lectura, el mensaje no continuará escribiéndose en broker-a, por lo que para todos los temas que se han creado y asociado con broker-a , La permanente de estos temas debe establecerse en 4.

la manera:

1. Puede hacer clic en la subpágina TOPIC de la consola. En el tema, haga clic en la "configuración del tema" de cada elemento y modifique la permanente de broker-a a 4, como se muestra a continuación:

  

2. También puede modificar los permisos del tema correspondiente a través de mqadmin updateTopicPerm en la línea de comandos, como se muestra a continuación:

Paso 2

1. Ver el tráfico de escritura del corredor

查看broker-a的master节点的InTPS,直到InTPS为0,说明该topic已经不再接受新的消息。

2. 查看broker-a-s的读出流量

观察broker-a-s上的OutTPS(消费),OutTPS也为0之后,说明消息理论上已经全部被消费完毕。

步骤3

查看broker-a上的consumer是否全部消费完毕,且没有diff(有diff说明有的落盘的消息没有被消费到,一般是客户端consumer有bug)

步骤4

确认上述后,为了保险起见,建议将broker-a(master和slave机器)分别保留3天,等三天后通过mqshutdown命令停止broker-a和broker-a-s

至此,摘除故障机器的操作就OK了

博主:测试生财

座右铭:专注测试与自动化,致力提高研发效能;通过测试精进完成原始积累,通过读书理财奔向财务自由。

csdn:https://blog.csdn.net/ccgshigao

博客园:https://www.cnblogs.com/qa-freeroad/

51cto:https://blog.51cto.com/14900374


Supongo que te gusta

Origin blog.51cto.com/14900374/2540010
Recomendado
Clasificación