Java Log4j追加器认证
我知道我可以使用log4j-Kafka appender从使用log4j的应用程序向apachekafka发送日志消息。比如说,Java Log4j追加器认证,java,logging,log4j,apache-kafka,Java,Logging,Log4j,Apache Kafka,我知道我可以使用log4j-Kafka appender从使用log4j的应用程序向apachekafka发送日志消息。比如说, log4j.appender.KAFKA_HIVE_AUDIT=kafka.producer.KafkaLog4jAppender log4j.appender.KAFKA_HIVE_AUDIT.BrokerList=sandbox.hortonworks.com:6667 log4j.appender.KAFKA_HIVE_AUDIT.Topic=hive_audi
log4j.appender.KAFKA_HIVE_AUDIT=kafka.producer.KafkaLog4jAppender
log4j.appender.KAFKA_HIVE_AUDIT.BrokerList=sandbox.hortonworks.com:6667
log4j.appender.KAFKA_HIVE_AUDIT.Topic=hive_audit_log
log4j.appender.KAFKA_HIVE_AUDIT.layout=org.apache.log4j.PatternLayout
log4j.appender.KAFKA_HIVE_AUDIT.layout.ConversionPattern=%d{ISO8601} %-5p [%t]: %c{2} (%F:%M(%L)) - %m%n
这里描述了这一点:
我正在运行已启用kerberos的Kafka 0.9。有没有办法让log4j appender对Kafka执行身份验证?什么服务帐户
在运行log4j appender之前,有没有办法让运行java程序的机器通过kerberos对Kafka集群进行身份验证
如果这不起作用,有没有办法通过机器向kerberized Kafka上未经身份验证的制作人授予写入权限?而且消费者仍然需要kerberos身份验证?Kafka是开源的,为什么不检查代码,找出哪些属性与kerberos相关,以及如何使用它们呢
快速查看主干,即提示您必须附加JAAS配置文件,并指定在该文件中使用的上下文,以便Kafka客户端可以使用标准Java安全库。如果自定义Kerberos配置文件不在标准位置(即/etc/krb5.conf),可以选择提供该文件
因此,归根结底,这是一个理解JAAS的问题,并找出要设置的Kafka和/或Log4J属性
对于谷歌来说,只需点击几下就可以看到一篇教程,比如那篇文章。如果你看看卡夫卡0.9,你会发现卡夫卡4jappender不支持Kerberos身份验证,尽管它是为卡夫卡制作者和消费者添加的
Kerberos支持仅添加到版本0.10中的KafkaLog4jAppender中
快速浏览一下代码,创建一个扩展KafkaLog4jAppender并添加Kerberos支持所需位的自定义appender似乎很简单 否决投票,因为这个问题特别提到卡夫卡0.9,这使得这个答案不正确。如果它给你带来任何快乐,那么你是受欢迎的。但我不确定你的正确答案是否会得到任何反馈。。。