Настройка log4j.properties для приложения Kafka, ошибка при разборе свойства bootstrap.servers - PullRequest
0 голосов
/ 22 мая 2019

Я хочу добавить приложение Kafka в журнал audit-hdfs в кластере Cloudera.

Я успешно настроил файл log4j2.xml с приложением Kafka, мне нужно преобразовать этот файл log4j2.xml вфайл log4j2.properties, чтобы можно было объединить его с файлом log4j2.properties журнала HDFS.Я не могу этого сделать, потому что когда я запускаю свой фиктивный процесс с log4j2.properties вместо XML, я получаю сообщение об ошибке.

Я пытался записать файл свойств несколькими различными способами, что всегда приводило к проблемам сСвойство bootstrap.servers

Это мой файл свойств

filters = threshold

filter.threshold.type = ThresholdFilter
filter.threshold.level = ALL

appenders = console,kafka

appender.console.type = Console
appender.console.name = console
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %m%n

appender.kafka.type = Kafka
appender.kafka.name = kafka
appender.kafka.layout.type = PatternLayout
appender.kafka.layout.pattern =%m%n
appender.kafka.property.type = Property
appender.kafka.property.bootstrap.servers = ip:port
appender.kafka.topic = cdh-audit-hdfs

Здесь проблема в этой строке: appender.kafka.property.bootstrap.servers = ip: port

Я пробовал следующее, но безрезультатно:

appender.kafka.property.bootstrap.servers = ip:port
appender.kafka.property.bootstrap\.servers = ip:port
appender.kafka.property.name = "bootstrap.servers"
appender.kafka.property.bootstrap.servers = ip:port
appender.kafka.property.key = "bootstrap.servers"
appender.kafka.property.value = ip:port

и т.д ...

Это мой фиктивный процесс:

package com.pragsis.audit.logs.cloudera.appenderCompanions

import org.apache.logging.log4j.LogManager

object dummy extends App{
  val logger = LogManager.getLogger
  val record = "2019-05-22 10:22:02,744 INFO FSNamesystem.audit: allowed=true   ugi=enrique.castilla@PRAGSIS.LOCAL (auth:KERBEROS)  ip=/172.22.1.161    cmd=listStatus  src=/   dst=null    perm=null   proto=rpc"
  while(true){
    logger.info(record)
    Thread.sleep(5000)
  }
}

Как мне нужно настроить свойства log4j2.properties для определения этого свойства?

Я ожидаю, что этот процесс напишет запись в моей теме Kafka, но вместо этого я получаю такие ошибки:

Exception in thread "main" org.apache.logging.log4j.core.config.ConfigurationException: No type attribute provided for component bootstrap
Exception in thread "main" org.apache.kafka.common.config.ConfigException: Missing required configuration "bootstrap.servers" which has no default value.
...