Kafka-broker de configuración principal

Kafka-corredor de acuerdo

Configuración general

broker.id

Cada corredor debe tener un identificador, el uso broker.id representar. Su valor por defecto es 0 , se puede proporcionar cualquier otro número entero. Este valor lo largo de kafka debe ser único dentro de la agrupación.

Puerto

La configuración por defecto, Kafka solía vivir escuchas 9092 portuarias. el puerto se puede cambiar a cualquier puerto disponible.

Tenga en cuenta que si utiliza 1.024 siguientes puertos necesitan raíz privilegios para iniciar Kafka solía vivir , no se recomienda el uso de 1024 puertos de abajo.

zookeeper.connect

Para el almacenamiento de agente de metadatos empleado del zoológico de direcciones

Está establecido en localhost: 2181, si hay varios, punto y coma costura. El siguiente formato: nombre de host: puerto / ruta

nombre de host es un empleado del zoológico nombre de la máquina o servidor IP de direcciones

puerto es un empleado del zoológico puerto de conexión del cliente

/ Ruta es opcional zookeeper camino, como kafka clúster chroot medio ambiente. Si no se especifica, la ruta raíz predeterminada. Si la especificada chroot no existe camino, corredor lo creará en el arranque.

log.dirs

kafka todos los mensajes se almacenan en el disco para almacenar estos fragmentos directorio de registros por log.dirs especificados. Es un conjunto de ruta del sistema de archivos local separado por comas. Si una pluralidad de trayectorias especifica, el agente será utilizado de acuerdo con el principio de menos para guardar los secciones de división del mismo registro en el mismo camino.

Para nota, Broker tendrá una partición de datos mínima para la nueva ruta de la partición, no el camino para tener un mínimo de partición de espacio de disco adicional.

num.recovery.threads.per.data.dir

Los tres casos siguientes, Kafka utiliza la agrupación de hebras puede estar configurado para segmento de diario proceso

servidor inicia registro normalmente abierto para cada segmento de partición

servidor se bloquea después de la reanudación, el segmento de registro para el control de cada partición y el truncado

servidor está normalmente cerrada, para cerrar el segmento de registro

Por defecto, cada directorio de registro para utilizar sólo un hilo. Estos hilos se utilizarán sólo para iniciar y apagar cuando el servidor, por lo que puede proporcionar un gran número de hilos concurrentes para lograr el propósito de la operación. Especialmente para la partición contiene un gran número de servidores, una vez que se produce un accidente, el uso de la operación en paralelo puede ahorrar horas de tiempo durante la recuperación.

Este número corresponde a la configuración log.dirs solo directorio de registro especificado. Por ejemplo: Este valor se establece a 8 , log.dir designado 3 caminos, entonces habrá un total de 24- hilos.

auto.create.topics.enable

Los siguientes tres casos, Kafka solía vivir creará automáticamente un tema

Cuando un productor comenzó a escribir temas de noticias

Cuando un consumidor lee el mensaje del tema que comienza

Cuando cualquier cliente envía una solicitud a los metadatos relativos a

 

El tema de configuración por defecto

num.partitions

Especifica los temas creados recientemente incluyen el número de particiones. Cuando se establece este valor en cuenta la cantidad de tema rendimiento, leer datos de una sola partición de máximo rendimiento

Si el mensaje está escrito en una clave diferente a la partición, a continuación, la nueva partición a un tema existente va a ser muy difícil.

Un solo agente en el número de particiones es limitada, debido a que los más particiones, más memoria utilizada, la elección finalización líder vez también necesitan más tiempo

El número de particiones = temas de rendimiento / rendimiento consumidor. Si la escritura y la lectura sobre el tema por segundo desde 1 GB de datos, cada consumidor puede manejar por segundo 50MB , se necesitan al menos 20 particiones.

El tamaño de la partición se limita a 25 GB resultados menos que ideales se pueden obtener

log.retention. Sra

Decidir cómo los datos a largo puede ser retenida, por defecto log.retention.hours para ajustar el tiempo, el valor predeterminado es 168 horas una semana . Allí log.retention.minutes , Kafka solía vivir con los valores del tiempo mínimo.

El tiempo de retención de datos es la hora de última modificación mediante la comprobación de los segmentos del archivo de registro de disco de lograr. En general, el tiempo de cierre modificada por última vez el tiempo se refiere al segmento de registro, que es la marca de tiempo del último archivo de mensajes.

Si la herramienta de administración entre los servidores mover particiones, la última vez modificada no es exacta. los errores de tiempo pueden causar estas particiones de datos retención excesiva

log.retention.types

Se determina por el número de bytes Mensaje reservada ha expirado. Este valor actúa sobre cada partición.

Si hay una contiene 8 particiones tema, y este valor se establece en 1 GB , entonces el tema puede retener hasta 8 GB de datos. Así que cuando el tema del aumento del número de particiones, puede retener los datos para todo el tema también aumenta

 

Si ambos log.retention.ms y log.retention.types , siempre y cuando cualquiera de las condiciones, se eliminará el mensaje.

log.segment.bytes

Cuando el mensaje alcanza el corredor , que se añaden al segmento de partición de registro actual. Cuando los alcanza el tamaño de segmento de registro log.segment.bytes especificados en la línea (por defecto 1 GB ), el segmento de registro actual estarán cerradas, se abre un nuevo segmento de registro. Si un segmento de registro está cerrado, comenzamos a esperar caduca.

Cuanto más pequeño sea este valor, el cierre más frecuentes y asignar un nuevo archivo, lo que reduce la eficiencia global de las escrituras en disco.

Si un tema se recibe todos los días solamente 100MB de noticias, de acuerdo con log.segment.bytes configurar el valor por defecto de 1 GB , tendrá 10 días para llenar un segmento de registro. Porque antes de que el segmento de registro es para cerrar el mensaje no caduca, por lo que si log.retention.ms se establece en 168 Xiaoshi 1 semana, luego ingrese fragmento tardar hasta 17 días para expirar. Cerrar el segmento de registro que requiere 10 días, de acuerdo a la configuración de la hora de caducidad, todavía tienen que retener el 7 período -día (para eliminar hasta que el segmento de registro en el último mensaje antes de la expiración).

Afecta el tamaño de los segmentos de registro adquiridos usando un sello de tiempo de desplazamiento. Cuando se usa un sello de tiempo la obtención de los registros de offset, Kafka cheques la partición es mayor que el segmento de diario última hora de modificación sello especificado (está apagado) antes de que un archivo fue modificado por el segmento de registro es menor que el sello de tiempo especificado pasado. Entonces, Kafka devuelve el segmento de registro (es decir, nombre de archivo) desplazamiento desde el principio.

Para el funcionamiento con una marca de tiempo adquirida offset, cuanto menor es el segmento de registro, más precisos serán los resultados.

log.segment.ms

Los fragmentos pueden ser configurados para cerrar la sesión en tiempo por este parámetro, que especifica cuánto tiempo después del segmento de diario está apagado.

log.segment.bytes y log.segment.ms mutuamente exclusivos problemas. segmento de diario alcanzará el límite superior que se cierre, siempre que hay un valor de cumplir, se va a cerrar el clip en la magnitud o el tiempo de registro.

No predeterminado, que es único fragmento registro de cerrada de la misma de acuerdo con el tamaño del segmento de diario

Atención al problema: una consideración importante en segmentos paralelos cercanos de los efectos de múltiples rendimiento del disco de registro. Si el segmento de registro de la pluralidad de particiones nunca puede alcanzar el tamaño máximo, sucederá, ya que el intermediario de tiempo de expiración contado después de la inicio del segmento de registro, la pequeña cantidad de datos para la partición, la operación de cierre del segmento de diario siempre ocurren simultáneamente.

message.max.bytes

broker proporcionando message.max.bytes para limitar el tamaño de los parámetros del mensaje individuales, el valor predeterminado es de un millón , lo que es de 1 MB .

Si un intento de productores para enviar un mensaje excede este valor, no sólo no se ha recibido el mensaje, también recibirá corredor se devuelve mensaje de error.

Este valor se refiere al tamaño del mensaje comprimido, el mensaje puede ser mucho mayor que el valor real de tamaño.

Este valor tiene un impacto significativo en el rendimiento. Cuanto mayor sea el valor, entonces responsable de manejar las solicitudes de conexión y el hilo de la red tendrá que pasar más tiempo para ocuparse de estas peticiones. También aumentará el tamaño del bloque de escritura en disco, lo que afecta a la IO rendimiento

Nota: La configuración del cliente de los consumidores fetch.message.max.bytes deben coordinarse con este valor. Si fetch.message.max.bytes menos de message.max.bytes , entonces el consumidor no será capaz de leer el mensaje más importante en el caso de los consumidores parecen estar bloqueados.

Supongo que te gusta

Origin www.cnblogs.com/EnzoDin/p/12578067.html
Recomendado
Clasificación