Configuración de Rocketmq k8s (1nameservice 1brocker)
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> 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 p>
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:
.