Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka 如何使用用户名密码将siddhi应用程序连接到远程kafka服务器_Apache Kafka_Wso2_Kafka Consumer Api_Siddhi - Fatal编程技术网

Apache kafka 如何使用用户名密码将siddhi应用程序连接到远程kafka服务器

Apache kafka 如何使用用户名密码将siddhi应用程序连接到远程kafka服务器,apache-kafka,wso2,kafka-consumer-api,siddhi,Apache Kafka,Wso2,Kafka Consumer Api,Siddhi,我正在开发一个siddhi应用程序,在那里我必须连接到融合的kafka服务器。因此,我必须在optional.configurationright中传递用户名/密码。我正在@source(如下所示)中传递它,但是获取错误在JAAS配置中找不到“KafkaClient”条目。未设置系统属性“java.security.auth.login.config” 代码: @source(type='kafka', topic.list='siddhi-test-topic',

我正在开发一个siddhi应用程序,在那里我必须连接到融合的kafka服务器。因此,我必须在
optional.configuration
right中传递用户名/密码。我正在
@source
(如下所示)中传递它,但是获取错误
在JAAS配置中找不到“KafkaClient”条目。未设置系统属性“java.security.auth.login.config”

代码:

@source(type='kafka',
        topic.list='siddhi-test-topic',
        partition.no.list='0,1',
        threading.option='single.thread',
        group.id='siddhiGroupId',
        bootstrap.servers='abc.confluent.cloud:9092',
optional.configuration="security.protocol:SASL_SSL,ssl.endpoint.identification.algorithm:https,
sasl.mechanism:PLAIN,sasl.jaas.config:org.apache.kafka.common.security.plain.PlainLoginModule
 required username=XXX password=YYY",
        @map(type='json', @attributes(name="name",amount="amount")))
define stream SweetProductionStream(name string, amount double);

错误

[2020-08-07 03:39:49,461]  INFO {org.apache.kafka.clients.consumer.ConsumerConfig} - ConsumerConfig values: 
    metric.reporters = []
    metadata.max.age.ms = 300000
    partition.assignment.strategy = [org.apache.kafka.clients.consumer.RangeAssignor]
    reconnect.backoff.ms = 50
    sasl.kerberos.ticket.renew.window.factor = 0.8
    max.partition.fetch.bytes = 1048576
    bootstrap.servers = [abc.confluent.cloud:9092]
    ssl.keystore.type = JKS
    enable.auto.commit = true
    sasl.mechanism = PLAIN
    interceptor.classes = null
    exclude.internal.topics = true
    ssl.truststore.password = null
    client.id = 
    ssl.endpoint.identification.algorithm = https
    max.poll.records = 2147483647
    check.crcs = true
    request.timeout.ms = 40000
    heartbeat.interval.ms = 3000
    auto.commit.interval.ms = 5000
    receive.buffer.bytes = 65536
    ssl.truststore.type = JKS
    ssl.truststore.location = null
    ssl.keystore.password = null
    fetch.min.bytes = 1
    send.buffer.bytes = 131072
    value.deserializer = class org.apache.kafka.common.serialization.StringDeserializer
    group.id = siddhiGroupId
    retry.backoff.ms = 100
    sasl.kerberos.kinit.cmd = /usr/bin/kinit
    sasl.kerberos.service.name = null
    sasl.kerberos.ticket.renew.jitter = 0.05
    ssl.trustmanager.algorithm = PKIX
    ssl.key.password = null
    fetch.max.wait.ms = 500
    sasl.kerberos.min.time.before.relogin = 60000
    connections.max.idle.ms = 540000
    session.timeout.ms = 30000
    metrics.num.samples = 2
    key.deserializer = class org.apache.kafka.common.serialization.StringDeserializer
    ssl.protocol = TLS
    ssl.provider = null
    ssl.enabled.protocols = [TLSv1.2, TLSv1.1, TLSv1]
    ssl.keystore.location = null
    ssl.cipher.suites = null
    security.protocol = SASL_SSL
    ssl.keymanager.algorithm = SunX509
    metrics.sample.window.ms = 30000
    auto.offset.reset = earliest
[2020-08-07 03:39:49,465] ERROR {io.siddhi.core.stream.input.source.Source} - Error on 'kafka-test2'. Error when initiating connection with Kafka server: abc.confluent.cloud:9092 in Siddhi App: kafka-test2 Error while connecting at Source 'kafka' at 'SweetProductionStream'. Will retry in '2 min'. io.siddhi.core.exception.ConnectionUnavailableException: Error when initiating connection with Kafka server: abc.confluent.cloud:9092 in Siddhi App: kafka-test2
    at io.siddhi.extension.io.kafka.source.KafkaSource.connect(KafkaSource.java:283)
    at io.siddhi.extension.io.kafka.source.KafkaSource.connect(KafkaSource.java:56)
    at io.siddhi.core.stream.input.source.Source.connectWithRetry(Source.java:160)
    at io.siddhi.core.stream.input.source.Source$1.run(Source.java:185)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.kafka.common.KafkaException: Failed to construct kafka consumer
    at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:702)
    at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:587)
    at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:569)
    at io.siddhi.extension.io.kafka.source.KafkaConsumerThread.<init>(KafkaConsumerThread.java:71)
    at io.siddhi.extension.io.kafka.source.ConsumerKafkaGroup.<init>(ConsumerKafkaGroup.java:57)
    at io.siddhi.extension.io.kafka.source.KafkaSource.connect(KafkaSource.java:261)
    ... 10 more
Caused by: org.apache.kafka.common.KafkaException: java.lang.IllegalArgumentException: Could not find a 'KafkaClient' entry in the JAAS configuration. System property 'java.security.auth.login.config' is not set
    at org.apache.kafka.common.network.SaslChannelBuilder.configure(SaslChannelBuilder.java:86)
    at org.apache.kafka.common.network.ChannelBuilders.create(ChannelBuilders.java:70)
    at org.apache.kafka.clients.ClientUtils.createChannelBuilder(ClientUtils.java:83)
    at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:623)
    ... 15 more
Caused by: java.lang.IllegalArgumentException: Could not find a 'KafkaClient' entry in the JAAS configuration. System property 'java.security.auth.login.config' is not set
    at org.apache.kafka.common.security.authenticator.AbstractLogin.login(AbstractLogin.java:65)
    at org.apache.kafka.common.security.authenticator.LoginManager.<init>(LoginManager.java:46)
    at org.apache.kafka.common.security.authenticator.LoginManager.acquireLoginManager(LoginManager.java:68)
    at org.apache.kafka.common.network.SaslChannelBuilder.configure(SaslChannelBuilder.java:78)
[2020-08-07 03:39:49461]信息{org.apache.kafka.clients.consumer.ConsumerConfig}-ConsumerConfig值:
metric.reporters=[]
metadata.max.age.ms=300000
partition.assignment.strategy=[org.apache.kafka.clients.consumer.RangeAssignor]
重新连接.backoff.ms=50
sasl.kerberos.ticket.renew.window.factor=0.8
max.partition.fetch.bytes=1048576
bootstrap.servers=[abc.confluent.cloud:9092]
ssl.keystore.type=JKS
enable.auto.commit=true
sasl.mechanism=普通
interceptor.classes=null
exclude.internal.topics=true
ssl.truststore.password=null
client.id=
ssl.endpoint.identification.algorithm=https
max.poll.records=2147483647
check.crcs=true
request.timeout.ms=40000
heartbeat.interval.ms=3000
auto.commit.interval.ms=5000
receive.buffer.bytes=65536
ssl.truststore.type=JKS
ssl.truststore.location=null
ssl.keystore.password=null
fetch.min.bytes=1
send.buffer.bytes=131072
value.deserializer=class org.apache.kafka.common.serialization.StringDeserializer
group.id=siddhiGroupId
retry.backoff.ms=100
sasl.kerberos.kinit.cmd=/usr/bin/kinit
sasl.kerberos.service.name=null
sasl.kerberos.ticket.renew.jitter=0.05
ssl.trustmanager.algorithm=PKIX
ssl.key.password=null
fetch.max.wait.ms=500
sasl.kerberos.min.time.before.relogin=60000
connections.max.idle.ms=540000
session.timeout.ms=30000
metrics.num.samples=2
key.deserializer=类org.apache.kafka.common.serialization.StringDeserializer
ssl.protocol=TLS
ssl.provider=null
ssl.enabled.protocols=[TLSv1.2、TLSv1.1、TLSv1]
ssl.keystore.location=null
ssl.cipher.suites=null
security.protocol=SASL\u SSL
ssl.keymanager.algorithm=SunX509
metrics.sample.window.ms=30000
auto.offset.reset=最早
[2020-08-07 03:39:49465]错误{io.siddhi.core.stream.input.source.source}-kafka-test2上的错误。启动与Kafka服务器的连接时出错:Siddhi应用程序中的abc.confluent.cloud:9092:Kafka-test2在“SweetProductionStream”的源“Kafka”处连接时出错。将在“2分钟”后重试。io.siddhi.core.exception.ConnectionUnavailableException:在siddhi应用程序中启动与Kafka服务器的连接时出错:abc.confluent.cloud:9092:Kafka-test2
位于io.siddhi.extension.io.kafka.source.KafkaSource.connect(KafkaSource.java:283)
位于io.siddhi.extension.io.kafka.source.KafkaSource.connect(KafkaSource.java:56)
在io.siddhi.core.stream.input.source.source.connectWithRetry(source.java:160)中
位于io.siddhi.core.stream.input.source.source$1.run(source.java:185)
位于java.util.concurrent.Executors$RunnableAdapter.call(未知源)
位于java.util.concurrent.FutureTask.run(未知源)
位于java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(未知源)
位于java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(未知源)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(未知源)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源)
位于java.lang.Thread.run(未知源)
原因:org.apache.kafka.common.KafkaException:无法构造kafka使用者
位于org.apache.kafka.clients.consumer.KafkaConsumer.(KafkaConsumer.java:702)
在org.apache.kafka.clients.consumer.KafkaConsumer.(KafkaConsumer.java:587)
位于org.apache.kafka.clients.consumer.KafkaConsumer.(KafkaConsumer.java:569)
位于io.siddhi.extension.io.kafka.source.KafkaConsumerThread.(KafkaConsumerThread.java:71)
位于io.siddhi.extension.io.kafka.source.ConsumerKafkaGroup。(ConsumerKafkaGroup.java:57)
位于io.siddhi.extension.io.kafka.source.KafkaSource.connect(KafkaSource.java:261)
... 10多
原因:org.apache.kafka.common.KafkaException:java.lang.IllegalArgumentException:在JAAS配置中找不到“KafkaClient”条目。未设置系统属性“java.security.auth.login.config”
位于org.apache.kafka.common.network.SaslChannelBuilder.configure(SaslChannelBuilder.java:86)
位于org.apache.kafka.common.network.ChannelBuilders.create(ChannelBuilders.java:70)
位于org.apache.kafka.clients.ClientUtils.createChannelBuilder(ClientUtils.java:83)
位于org.apache.kafka.clients.consumer.KafkaConsumer.(KafkaConsumer.java:623)
... 还有15个
原因:java.lang.IllegalArgumentException:在JAAS配置中找不到“KafkaClient”条目。未设置系统属性“java.security.auth.login.config”
位于org.apache.kafka.common.security.authenticator.AbstractLogin.login(AbstractLogin.java:65)
位于org.apache.kafka.common.security.authenticator.LoginManager.(LoginManager.java:46)
位于org.apache.kafka.common.security.authenticator.LoginManager.acquireLoginManager(LoginManager.java:68)
位于org.apache.kafka.common.network.SaslChannelBuilder.configure(SaslChannelBuilder.java:78)

如图所示,您必须在conf文件(JAAS)中添加所有auth配置,并为'java.security.auth.login.config'可选参数指定conf路径。

是的,我已尝试在
java.security.auth.login.config中传递JAAS配置。仍然无法工作能否删除批注中
sasl.jaas.config
之后的属性并重试?如果不起作用,请告诉我们您正在使用的io kafka扩展的版本