Java ksql服务器拒绝启动
使用Confluent开源平台4.1.0版时,我面临以下问题: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
[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,无法发表评论。