【问题标题】:Kafka Rest Proxy exits with error code 1 and no descriptive log output on KubernetesKafka Rest Proxy 以错误代码 1 退出,并且在 Kubernetes 上没有描述性日志输出
【发布时间】:2021-10-17 18:01:13
【问题描述】:

我需要在 kubernetes 上启动 Kafka Rest Proxy。当我使用 docker-compose 在本地机器上使用本地 Kafka 代理和 zookeeper 启动它时,它运行良好,我得到了最后一个日志输出,表明 Kafka Rest 正在运行并等待请求。当我在 kubernetes 上启动它时,我只得到以下输出:

===> User
uid=1000(appuser) gid=1000(appuser) groups=1000(appuser)
===> Configuring ...
===> Running preflight checks ... 
===> Check if Kafka is healthy ...
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/share/java/cp-base-new/slf4j-log4j12-    1.7.30.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/share/java/cp-base-new/slf4j-simple-1.7.30.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory[]
log4j:WARN No appenders could be found for logger (io.confluent.admin.utils.cli.KafkaReadyCommand).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

然后 pod 以错误代码 1 退出并处于 CrashLoopBackOff 状态。

对于环境变量,我设置了KAFKA_REST_BOOTSTRAP_SERVERS,格式为PLAINTEXT://{host1},PLAINTEXT://{host2}KAFKA_REST_LOG4J_ROOT_LOGLEVEL = DEBUG,但没有出现任何额外的输出。

有人遇到过同样的问题吗?

【问题讨论】:

  • 错误是说log4j文件没有正确加载。这就是您看不到日志或更改级别不起作用的原因
  • 嗨@Mesayah,有进展吗?
  • @Mikolaj 不幸的是,不是。我正在从官方 Docker 映像运行 kafka-rest,所以我希望所有 log4j 配置都在那里。我注意到在本地启动映像时使用 SimpleLoggerFactory 绑定,而在远程 kubernetes 集群上启动映像时使用 Log4jLoggerFactory 绑定。根据我所读到的,如果在类路径上发现多个绑定,则使用随机绑定。
  • 能否分享您正在部署到 Kubernetes 的 .yaml 配置文件,以便更容易复制问题?你有没有学过一些教程,如果有的话也可以分享一下吗?
  • 此外,我关注的是官方的 Kafka REST Proxy 文档,并使用了我在 Confluent Platform docker prebuilt package 中找到的图像。

标签: kubernetes apache-kafka kafka-rest


【解决方案1】:

我在 Docker 容器中使用 Kafka REST 代理时遇到了完全相同的问题,我的原因是 IP 地址和端口拼写错误,例如“192.168.100:14:9092”和替换为“192.168.100.14:9092”后全部开始工作,我什至看到了日志,但失败日志和你的完全一样(没有有意义的日志,也没有信息失败的原因)。

【讨论】:

    【解决方案2】:

    在最新版本的代理中,日志配置似乎确实存在问题。我有同样的问题并恢复到 5.1.0,这给了我很好的日志输出,并指出它缺少环境属性 KAFKA_REST_HOST_NAME

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多