Red de conocimiento informático - Problemas con los teléfonos móviles - Configuración de Rocketmq k8s (1nameservice 1brocker)

Configuración de Rocketmq k8s (1nameservice 1brocker)

Hay dos formas de implementar RockerMQ en k8s. Una es utilizar operadores para implementar en un clúster de k8s; consulte el proyecto operativo; la otra es escribir un archivo de configuración de k8s simple y proporcionarlo como plantilla en el proyecto acoplable rocketmq.

Aquí, queremos usar k8 independientes para implementar un rockerMQ de baja configuración y solo iniciar un servicio de nombres y un corredor. Usaremos la plantilla proporcionada por el proyecto rocketmq-docker para completar.

apiVersion: apps/v1

tipo: Implementación

metadatos:

nombre: rocketmq

especificación:

réplicas: 1

selector:

matchLabels:

aplicación: rocketmq

plantilla:

metadatos:

etiquetas:

aplicación: rocketmq

especificaciones:

contenedores:

- nombre: broker

imagen: apacherocketmq/rocketmq:4.6.0

comando: [".sh", "mqbroker", "-n", "localhost:9876 "]

imagePullPolicy: ifNotPresent

puertos:

- contenedorPort: 10909

- contenedorPort: 10911

env:

p>

- nombre: JAVA_OPT<

valor: -servidor -XX: ParallelGCThreads=1

volúmenesMontajes:

- ruta de montaje: /home/rocketmq /logs

nombre: brokeroptlogs

- mountPath: /home/rocketmq/store

nombre: brokeroptstore

- nombre: nombresrv

Imagen: apacherocketmq/rocketmq:4.6.0

Comando: ["sh", "mqnamesrv"]

imagePullPolicy: ifNotPresent

puertos:

- contenedorPort: 9876

volúmenesMontajes:

- ruta de montaje: /home/rocketmq/logs

nombre: nombresrvoptlogs p>

volúmenes:

- nombre: brokeroptlogs

vacíoDir: {}

- nombre.brokeroptstore

vacíoDir : { }

- nombre: nombresrvoptlogs

vacíoDir: {}

- nombre: nombresrvoptstore

vacíoDir: {}

- nombre: nombresrvoptstore

vacíoDir: {

- nombre: nombresrvoptstore

vacíoDir: {}

apiVersion: v1

tipo: Servicio

metadatos:

nombre:

rocketmqservice

especificación:

tipo: NodePort

puertos:

- nombre: nombresrv

puerto: 9876

targetPort: 9876

nodePort: 32000

selector:

aplicación: rocketmq

notas: excepción de firma Problema

Causa: org.apache.rocketmq.acl.common.AclException: [error=Algoritmo HmacSHA1 no disponible

Solución manual I, ${JAVA_HOME en tool.sh }/jre /lib/ext Agregue la ruta absoluta de la carpeta ext (ruta jdk) después

Solución final: el método manual es muy inconveniente Después de la inspección, el problema real se debe a la ausencia de ${JAVA_HOME. } en la carpeta de ruta. La variable JAVA_HOME} en la ruta está vacía, lo que hace que no se pueda encontrar la ruta etx. Por lo tanto, pasamos el comando del entorno JAVA_HOME a través de k8s. Como se muestra en la siguiente figura:

3.2 Agregar grupo de suscripción

Los grupos de suscripción se pueden usar para lograr el equilibrio de carga de consumo, es decir, los consumidores en el mismo grupo de suscripción comparten todas las colas de lectura.

Para crear un grupo de suscripción, utilice el comando updateSubGroup e ingrese los siguientes parámetros requeridos:

Ejecute el comando para crear un nuevo grupo de consumidores para el servicio de autorización

> . /mqadmin updateSubGroup -b localhost:10911 -n localhost:9876 -g GID_authorize

Resultado de la ejecución:

.