首页 > 解决方案 > 无法启动 ksql

问题描述

我正在尝试使用融合平台设置 kafka 和 ksql,但 ksql 无法启动。

我已按照使用此链接https://docs.confluent.io/current/installation/installing_cp/deb-ubuntu.html#systemd-ubuntu-debian-install从 confluent 安装 kafka 和 ksql 的步骤操作 我跳过了 zookeeper 配置,因为我们没有使用多个服务器和控制中心部分。在完成所有操作后,我按此顺序启动了zookeeper、kafka、schema-registry、kafka-connect、kafka-rest、ksql。使用命令检查状态时

_sudo systemctl status confluent*_
ksql failed to start, while everything else is running.

在进入时cd /etc/ksql/ksql-server.properties

(#------ Endpoint config -------)

listeners=http://0.0.0.0:8088
ksql.logging.processing.topic.auto.create=true
ksql.logging.processing.stream.auto.create=true
bootstrap.servers=localhost:9092

注意:我从配置文件中删除了注释部分,因为 (#) 它在此处显示为标题。

预期结果:

confluent-ksql.service - Apache Kafka 的流式 SQL 引擎
已加载:已加载(/lib/systemd/system/confluent-ksql.service;已禁用;供应商预设:已启用) 活动:活动(运行)

实际结果:

confluent-ksql.service - Apache Kafka 的流式 SQL 引擎
已加载:已加载(/lib/systemd/system/confluent-ksql.service;已禁用;供应商预设:已启用)活动:自 2019 年星期二以来失败(结果:退出代码)- 08-27 15:15:08 IST;9 秒前 文档:http ://docs.confluent.io/ 进程:13833 ExecStart=/usr/bin/ksql-server-start /etc/ksql/ksql-server.properties (code=exited, status=255) Main PID :13833(代码=退出,状态=255)

8 月 27 日 15:15:07 Mayank-Vostro-3478 ksql-server-start[13833]: (io.confluent.ksql.util.KsqlConfig:347) 8 月 27 日 15:15:07 Mayank-Vostro-3478 ksql-server-开始[13833]:[2019-08-27 15:15:07,722] 错误无法启动 KSQL(io.confluent.ksql.rest.serv 8 月 27 日 15:15:07 Mayank-Vostro-3478 ksql-server-start [ 13833]:io.confluent.ksql.util.KsqlServerException:无法创建卡夫卡流 st Aug 27 15:15:07 Mayank-Vostro-3478 ksql-server-start [13833]:确保目录存在并且可写KSQL 服务器 8 月 27 日 15:15:07 Mayank-Vostro-3478 ksql-server-start[13833]:或其父目录由 KSQL 服务器写入 8 月 27 日 15:15:07 Mayank-Vostro-3478 ksql-server-start[ 13833]:或通过设置 'ksql.streams.state.dir' config 8 月 27 日 15:15 将其更改为可写目录:07 Mayank-Vostro-3478 ksql-server-start[13833]:在 io.confluent.ksql.rest.server.KsqlServerMain.enforceStreamStateDirAvai 8 月 27 日 15:15:07 Mayank-Vostro-3478 ksql-server-start[13833]:
在 io.confluent.ksql.rest.server.KsqlServerMain.main(KsqlServerMain.java: Aug 27 15:15:08 Mayank-Vostro-3478 systemd[1]: confluent-ksql.service: 主进程退出,代码=退出, status=255/n/a 8 月 27 日 15:15:08 Mayank-Vostro-3478 systemd[1]:confluent-ksql.service:失败,结果为“退出代码”。

标签: apache-kafkaksqldb

解决方案


io.confluent.ksql.util.KsqlServerException:无法创建 kafka 流 st 8 月 27 日 15:15:07 Mayank-Vostro-3478 ksql-server-start [13833]:确保该目录存在并且对于 KSQL 服务器是可写的27 15:15:07 Mayank-Vostro-3478 ksql-server-start[13833]: 或其父目录由 KSQL 服务器写入 8 月 27 日 15:15:07 Mayank-Vostro-3478 ksql-server-start[13833]:或通过设置 'ksql.streams.state.dir' 配置将其更改为可写目录 Aug 27 15:15:07 Mayank-Vostro-3478 ksql-server-start[13833]: at

根据上述错误,这是权限问题。运行 KSQL 进程的用户没有在给定位置创建状态目录的写入权限。

您必须授予该用户创建目录的权限或将其更改为ksql.streams.state.dir用户具有写入权限的某个路径。


推荐阅读