apache-kafka - 由于在 JAAS 或 Kafka 配置中未定义服务名称,因此无法使用 kafka 镜像制造商
问题描述
以下是我的文件:
消费者属性
bootstrap.servers=some-id.us-east-1.aws.confluent.cloud:9092
security.protocol=SASL_SSL
sasl.mechanisms=PLAIN
sasl.username=<username>
sasl.password=<password>
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="<username>" password="<password>";
生产者属性
bootstrap.servers=my.kafka.broker:9092
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="kafka" password="<password>";
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
我尝试运行这个命令:
./kafka-run-class.sh kafka.tools.MirrorMaker --consumer.config consumer.properties --producer.config producer.properties --whitelist my.test.topic
并得到这个错误:
WARNING: The default partition assignment strategy of the mirror maker will change from 'range' to 'roundrobin' in an upcoming release (so that better load balancing can be achieved). If you prefer to make this switch in advance of that release add the following to the corresponding config: 'partition.assignment.strategy=org.apache.kafka.clients.consumer.RoundRobinAssignor'
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.kafka.common.network.SaslChannelBuilder (file:/opt/kafka/libs/kafka-clients-2.2.0.jar) to method sun.security.krb5.Config.getInstance()
WARNING: Please consider reporting this to the maintainers of org.apache.kafka.common.network.SaslChannelBuilder
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
[2021-04-13 23:01:47,172] ERROR Exception when starting mirror maker. (kafka.tools.MirrorMaker$)
org.apache.kafka.common.KafkaException: Failed to construct kafka consumer
at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:811)
at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:659)
at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:639)
at kafka.tools.MirrorMaker$.$anonfun$createConsumers$1(MirrorMaker.scala:114)
at kafka.tools.MirrorMaker$.$anonfun$createConsumers$1$adapted(MirrorMaker.scala:112)
at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:237)
at scala.collection.immutable.Range.foreach(Range.scala:158)
at scala.collection.TraversableLike.map(TraversableLike.scala:237)
at scala.collection.TraversableLike.map$(TraversableLike.scala:230)
at scala.collection.AbstractTraversable.map(Traversable.scala:108)
at kafka.tools.MirrorMaker$.createConsumers(MirrorMaker.scala:112)
at kafka.tools.MirrorMaker$MirrorMakerOptions.checkArgs(MirrorMaker.scala:557)
at kafka.tools.MirrorMaker$.main(MirrorMaker.scala:90)
at kafka.tools.MirrorMaker.main(MirrorMaker.scala)
Caused by: org.apache.kafka.common.KafkaException: java.lang.IllegalArgumentException: No serviceName defined in either JAAS or Kafka config
at org.apache.kafka.common.network.SaslChannelBuilder.configure(SaslChannelBuilder.java:160)
at org.apache.kafka.common.network.ChannelBuilders.create(ChannelBuilders.java:146)
at org.apache.kafka.common.network.ChannelBuilders.clientChannelBuilder(ChannelBuilders.java:67)
at org.apache.kafka.clients.ClientUtils.createChannelBuilder(ClientUtils.java:112)
at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:726)
... 13 more
Caused by: java.lang.IllegalArgumentException: No serviceName defined in either JAAS or Kafka config
at org.apache.kafka.common.security.kerberos.KerberosLogin.getServiceName(KerberosLogin.java:301)
at org.apache.kafka.common.security.kerberos.KerberosLogin.configure(KerberosLogin.java:92)
at org.apache.kafka.common.security.authenticator.LoginManager.<init>(LoginManager.java:60)
at org.apache.kafka.common.security.authenticator.LoginManager.acquireLoginManager(LoginManager.java:104)
at org.apache.kafka.common.network.SaslChannelBuilder.configure(SaslChannelBuilder.java:149)
... 17 more
Exception in thread "main" java.lang.NullPointerException
at kafka.tools.MirrorMaker$.main(MirrorMaker.scala:97)
at kafka.tools.MirrorMaker.main(MirrorMaker.scala)
我确实定义sasl.jaas.config
了,那么为什么我会收到有关“未定义服务名称”的错误?
解决方案
推荐阅读
- javascript - 使用 svg.draw.js 时多边形中的重复点
- asp.net-core-2.0 - 将 ASP.Net Core 2.1preview2 网站发布到本地 IIS MSB3030 *.PrecompiledViews.dll
- javascript - 检测用户是否使用 web-inspector 更改了某些内容
- javascript - 更新嵌套数组中的元素,不可变
- c++ - 检查基类对象的子类 - 继承
- swift - 关于 swift 中的通用柯里化
- python - 无法使用 Flask 和 Nameko 连接到 RabbitMQ
- google-cloud-platform - 使用面部识别来识别照片集中有多少个独特的面孔
- spring - 如何在 Redis 会话中使用 Spring Boot 身份验证
- java - 构造函数 PlainTextByLineStream(StringReader) 未定义