Java ksql服务器拒绝启动

Java ksql服务器拒绝启动,java,apache-kafka,ksqldb,Java,Apache Kafka,Ksqldb,使用Confluent开源平台4.1.0版时,我面临以下问题: [2018-05-01 03:43:33,433] ERROR Failed to initialize TopicClient: org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment. (io.confluent.ksql.util.KafkaTopicClient:257) Exception in thr

使用Confluent开源平台4.1.0版时,我面临以下问题:

[2018-05-01 03:43:33,433] ERROR Failed to initialize TopicClient: org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment. (io.confluent.ksql.util.KafkaTopicClient:257)
Exception in thread "main" io.confluent.ksql.util.KsqlException: Could not fetch broker information. KSQL cannot initialize AdminClient.
        at io.confluent.ksql.util.KafkaTopicClientImpl.init(KafkaTopicClientImpl.java:258)
        at io.confluent.ksql.util.KafkaTopicClientImpl.<init>(KafkaTopicClientImpl.java:62)
        at io.confluent.ksql.rest.server.KsqlRestApplication.buildApplication(KsqlRestApplication.java:237)
        at io.confluent.ksql.rest.server.KsqlServerMain.createExecutable(KsqlServerMain.java:58)
        at io.confluent.ksql.rest.server.KsqlServerMain.main(KsqlServerMain.java:39)
Caused by: 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)
最初,“confluent status”显示ksql服务器已启动,但在上述超时之后服务器将关闭

EDIT2:是的,我的kafka代理正在运行,这是我的kafka服务器。属性:

broker.id=100
listeners=PLAINTEXT://localhost:19090
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/tmp/kafka-logs-100
num.partitions=3
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=localhost:2181
zookeeper.connection.timeout.ms=6000
confluent.support.customer.id=anonymous
group.initial.rebalance.delay.ms=0
bootstrap.servers=localhost:19090
listeners=http://localhost:18088
ksql.server.ui.enabled=true
和ksql-server.properties:

broker.id=100
listeners=PLAINTEXT://localhost:19090
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/tmp/kafka-logs-100
num.partitions=3
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=localhost:2181
zookeeper.connection.timeout.ms=6000
confluent.support.customer.id=anonymous
group.initial.rebalance.delay.ms=0
bootstrap.servers=localhost:19090
listeners=http://localhost:18088
ksql.server.ui.enabled=true
EDIT3:我怀疑这与不正确的引导服务器url有关,但我还没找到

EDIT4:KSQL服务器日志,根据请求

[2018-05-17 03:41:33,244] INFO KsqlRestConfig values: 
        metric.reporters = []
        ssl.client.auth = false
        ksql.server.install.dir = /home/<user name>/confluent/confluent-4.1.0
        response.mediatype.default = application/json
        authentication.realm = 
        ssl.keystore.type = JKS
        ssl.trustmanager.algorithm = 
        authentication.method = NONE
        metrics.jmx.prefix = rest-utils
        request.logger.name = io.confluent.rest-utils.requests
        ssl.key.password = [hidden]
        ssl.truststore.password = [hidden]
        authentication.roles = [*]
        metrics.num.samples = 2
        ssl.endpoint.identification.algorithm = 
        compression.enable = false
        query.stream.disconnect.check = 1000
        ssl.protocol = TLS
        debug = false
        listeners = [http://localhost:18088]
        ssl.provider = 
        ssl.enabled.protocols = []
        shutdown.graceful.ms = 1000
        ssl.keystore.location = 
        response.mediatype.preferred = [application/json]
        ssl.cipher.suites = []
        authentication.skip.paths = []
        ssl.truststore.type = JKS
        access.control.allow.methods = 
        access.control.allow.origin = 
        ssl.truststore.location = 
        ksql.server.command.response.timeout.ms = 5000
        ssl.keystore.password = [hidden]
        ssl.keymanager.algorithm = 
        port = 8080
        metrics.sample.window.ms = 30000
        metrics.tag.map = {}
        ksql.server.ui.enabled = true
 (io.confluent.ksql.rest.server.KsqlRestConfig:179)
[2018-05-17 03:41:33,302] INFO KsqlConfig values: 
        ksql.persistent.prefix = query_
        ksql.schema.registry.url = http://localhost:8081
        ksql.service.id = default_
        ksql.sink.partitions = 4
        ksql.sink.replicas = 1
        ksql.sink.window.change.log.additional.retention = 1000000
        ksql.statestore.suffix = _ksql_statestore
        ksql.transient.prefix = transient_
 (io.confluent.ksql.util.KsqlConfig:279)
[2018-05-17 03:43:33,433] ERROR Failed to initialize TopicClient: org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment. (io.confluent.ksql.util.KafkaTopicClient:257)
Exception in thread "main" io.confluent.ksql.util.KsqlException: Could not fetch broker information. KSQL cannot initialize AdminClient.
        at io.confluent.ksql.util.KafkaTopicClientImpl.init(KafkaTopicClientImpl.java:258)
        at io.confluent.ksql.util.KafkaTopicClientImpl.<init>(KafkaTopicClientImpl.java:62)
        at io.confluent.ksql.rest.server.KsqlRestApplication.buildApplication(KsqlRestApplication.java:237)
        at io.confluent.ksql.rest.server.KsqlServerMain.createExecutable(KsqlServerMain.java:58)
        at io.confluent.ksql.rest.server.KsqlServerMain.main(KsqlServerMain.java:39)
Caused by: 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:258)
        at io.confluent.ksql.util.KafkaTopicClientImpl.init(KafkaTopicClientImpl.java:230)
        ... 4 more
Caused by: org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment.
[2018-05-17 03:41:33244]信息KsqlRestConfig值:
metric.reporters=[]
ssl.client.auth=false
ksql.server.install.dir=/home//confluent/confluent-4.1.0
response.mediatype.default=application/json
authentication.realm=
ssl.keystore.type=JKS
ssl.trustmanager.algorithm=
authentication.method=NONE
metrics.jmx.prefix=rest-utils
request.logger.name=io.confluent.rest-utils.requests
ssl.key.password=[隐藏]
ssl.truststore.password=[隐藏]
authentication.roles=[*]
metrics.num.samples=2
ssl.endpoint.identification.algorithm=
compression.enable=false
query.stream.disconnect.check=1000
ssl.protocol=TLS
调试=错误
侦听器=[http://localhost:18088]
ssl.provider=
ssl.enabled.protocols=[]
shutdown.ms=1000
ssl.keystore.location=
response.mediatype.preferred=[application/json]
ssl.cipher.suites=[]
authentication.skip.paths=[]
ssl.truststore.type=JKS
access.control.allow.methods=
access.control.allow.origin=
ssl.truststore.location=
ksql.server.command.response.timeout.ms=5000
ssl.keystore.password=[隐藏]
ssl.keymanager.algorithm=
端口=8080
metrics.sample.window.ms=30000
metrics.tag.map={}
ksql.server.ui.enabled=true
(io.confluent.ksql.rest.server.KsqlRestConfig:179)
[2018-05-17 03:41:33302]信息KsqlConfig值:
ksql.persistent.prefix=查询_
ksql.schema.registry.url=http://localhost:8081
ksql.service.id=默认值_
ksql.sink.partitions=4
ksql.sink.replicas=1
ksql.sink.window.change.log.additional.retention=1000000
ksql.statestore.suffix=\u ksql\u statestore
ksql.transient.prefix=瞬态_
(io.confluent.ksql.util.KsqlConfig:279)
[2018-05-17 03:43:33433]初始化TopicClient时出错:org.apache.kafka.common.errors.TimeoutException:等待节点分配时超时。(io.confluent.ksql.util.KafkaTopicClient:257)
线程“main”io.confluent.ksql.util.KsqlException中出现异常:无法获取代理信息。KSQL无法初始化AdminClient。
位于io.confluent.ksql.util.KafkaTopicClientImpl.init(KafkaTopicClientImpl.java:258)
位于io.confluent.ksql.util.kafkatopicclientmpl.(kafkatopicclientmpl.java:62)
位于io.confluent.ksql.rest.server.KsqlRestApplication.buildApplication(KsqlRestApplication.java:237)
位于io.confluent.ksql.rest.server.KsqlServerMain.createExecutable(KsqlServerMain.java:58)
位于io.confluent.ksql.rest.server.KsqlServerMain.main(KsqlServerMain.java:39)
原因:java.util.concurrent.ExecutionException:org.apache.kafka.common.errors.TimeoutException:等待节点分配时超时。
在org.apache.kafka.common.internals.kafkafutureinpl.wrapAndThrow(kafkafutureinpl.java:45)
访问org.apache.kafka.common.internals.kafkafutureinpl.access$000(kafkafutureinpl.java:32)
在org.apache.kafka.common.internals.kafkafutureinpl$singlewater.await(kafkafutureinpl.java:89)上
位于org.apache.kafka.common.internals.kafkafutureinpl.get(kafkafutureinpl.java:258)
位于io.confluent.ksql.util.KafkaTopicClientImpl.init(KafkaTopicClientImpl.java:230)
... 4更多
原因:org.apache.kafka.common.errors.TimeoutException:等待节点分配时超时。

类似问题及评论:

我在融合平台5.4.1和5.3.1上遇到了同样的问题。我正在运行MacOs 10.14.6。结果是另一个应用程序占用了端口8081,因此schema registry无法绑定它。我将schema注册表配置为使用端口8881,并将ksql服务器配置上的schema注册表端口重新配置为相同的值。这就解决了问题


因此,我建议您检查schema注册表是否能够绑定配置的端口,以及ksql服务器是否能够连接到同一端口。

您使用了什么命令来运行ksql?您的Kafka代理是否正在运行?您能否共享您的
ksql server.properties
config?您是如何确认Kafka代理确实正在运行的?嗨,Michael,“confluent status”显示Kafka代理已启动并正在运行。我的制作人/消费者可以连接到经纪人。嗨,Mahesh,您是否仍遇到问题或已解决此问题?如果您仍然有问题,请发布启动尝试的完整KSQL服务器日志。这应该是一个评论而不是答案,链接不是答案。尝试过这样做,但由于声誉<50,无法发表评论。