- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想创建和使用 java 实用程序来获取信息并创建/修改/删除主题。
要创建实用程序,我正在尝试 this link 中的示例
这就是我在代码中设置属性的方式:
Properties adminConfig = new Properties();
adminConfig.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG, "server1:9092,server2:9092,server3:9092");
adminConfig.put("security.protocol", "SASL_SSL");
adminConfig.put("security.mechanism", "PLAINTEXT");
adminConfig.put("ssl.keystore.type", "JKS");
adminConfig.put("ssl.keystore.location", "/config/dev/java.keystore.jks");
adminConfig.put("ssl.keystore.password", "password");
adminConfig.put("ssl.key.password", "password");
adminConfig.put("ssl.truststore.location", "/config/dev/java.truststore.jks");
adminConfig.put("ssl.truststore.password", "password");
adminConfig.put(SaslConfigs.SASL_JAAS_CONFIG,"org.apache.kafka.common.security.plain.PlainLoginModule required username=\"client\" password=\"client-secret\";");
AdminClient admin = KafkaAdminClient.create(adminConfig);
for (Node node : admin.describeCluster().nodes().get()) {
System.out.println("-- node: " + node.id() + " --");
ConfigResource cr = new ConfigResource(ConfigResource.Type.BROKER, "0");
DescribeConfigsResult dcr = admin.describeConfigs(Collections.singleton(cr));
dcr.all().get().forEach((k, c) -> {
c.entries()
.forEach(configEntry -> {
System.out.println(configEntry.name() + "= " + configEntry.value())
});
});
}
我得到的错误如下
WARNING: Illegal reflective access by org.apache.kafka.common.network.SaslChannelBuilder (file:/Users/x1234/.m2/repository/org/apache/kafka/kafka-clients/2.3.0/kafka-clients-2.3.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
Exception in thread "main" org.apache.kafka.common.KafkaException: Failed to create new KafkaAdminClient
at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:407)
at org.apache.kafka.clients.admin.AdminClient.create(AdminClient.java:55)
at kafka.utils.ListingKafkaConfigs.main(ListingKafkaConfigs.java:42)
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:99)
at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:382)
... 2 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)
... 6 more
如果我没有设置 SSL 信息,我会收到以下错误
Exception in thread "main" java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment.
at org.apache.kafka.common.internals.KafkaFutureImpl.wrapAndThrow(KafkaFutureImpl.java:45)
at org.apache.kafka.common.internals.KafkaFutureImpl.access$000(KafkaFutureImpl.java:32)
at org.apache.kafka.common.internals.KafkaFutureImpl$SingleWaiter.await(KafkaFutureImpl.java:89)
at org.apache.kafka.common.internals.KafkaFutureImpl.get(KafkaFutureImpl.java:260)
at kafka.utils.ListingKafkaConfigs.main(ListingKafkaConfigs.java:18)
Caused by: org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment.
设置使用该实用程序的属性时我做错了什么?
最佳答案
您的配置使用 security.mechanism
这不是一个有效的设置。见Admin client configuration Apache Kafka 网站上的部分以获取设置列表。
要解决您的问题,请替换:
adminConfig.put("security.mechanism", "PLAINTEXT");
经过
adminConfig.put("sasl.mechanism", "PLAIN");
关于java - 使用 SASL_SSL/PLAIN 连接时出现 Kafka AdminClient 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66217689/
我一直在尝试使用 Spark Structured Streaming API 通过 SASL_SSL 连接到 Kafka 集群。我已将 jaas.conf 文件传递给执行者。看来我无法设置 ke
我想创建和使用 java 实用程序来获取信息并创建/修改/删除主题。 要创建实用程序,我正在尝试 this link 中的示例 这就是我在代码中设置属性的方式: Properties adminCon
我正在运行一些 java 8 Kafka 应用程序,其中一些是 Kafka 流,其他是普通的生产者/消费者。 对于它们中的每一个,都不存在功能问题,它们在大多数时间都运行良好。 但是,对于它们中的每一
当我在带有 PLAIN_TEXT 端口 9092 的 Kafka 代理中使用下面的“/usr/bin/kafka-delete-records”命令时,该命令工作正常,但是当我使用 SASL_SSL
SSL 的工作原理是众所周知的,因为它被广泛使用并且在任何地方都得到了很好的描述。简而言之 - SSL 涉及 客户端通过验证服务器 X.509 证书来验证服务器的真实性。 然后使用 diffie-he
当尝试使用golang连接到kafka消费者(Centos中的kafka_2.11-2.0.0)时,出现以下错误: [ 2019_12_12_12:45:05 ] ----> Kafka Consu
我已经能够在未启用 SASL 或 SSL 的情况下成功连接 GCS 连接器。当我启用 SASL 和 SSL 时; connect-standalone 似乎无法与代理通信。 问题似乎出在 gcs-si
我正在使用 node-rdkafka 通过以下选项连接到 IBM MessageHub: var options = { // 'debug': 'all', 'metadata.broker
我正在尝试使用 SASL_SSL 配置 Spring Cloud Kafka,但无法使其正常工作。我相信我的 application.yml 未正确配置,因此请提供建议和帮助。 这是我的 applic
我有一个可以工作的 python kafka,它是代码: class TokenProvider(object): def __init__(self,client_id,client
我是一名优秀的程序员,十分优秀!