追逐繁星的孩子

お帰りなさい

首页 标签 归档 分类 关于
KSQL操作手册
日期 2018-10-10   |    标签 Kafka   |    评论

获取

下载地址: https://packages.confluent.io/archive/5.0/confluent-oss-5.0.0-2.11.tar.gz

配置

配置文件: etc/ksql/ksql-server.properties

配置参数:

  • auto.offset.reset
    • ksql首次消费的offset值(默认latest)
  • bootstrap.servers
    • kafka集群地址,如(10.68.120.213:9092,10.68.120.21:9092,10.68.120.215:9092)
  • commit.interval.ms
    • offset提交间隔(默认2000)
  • cache.max.bytes.buffering
    • 允许使用的最大缓存字节数(默认10000000)
  • num.stream.threads
    • 每个kafka流计算实例开启的线程数(默认3)
  • ksql.fail.on.deserialization.error
    • 不忽视反序列化失败错误(默认true)
  • ksql.schema.registry.url
    • schema-registty服务地址(默认localhost:8081)
  • ksql.service.id
    • ksql集群id(默认default_)
  • ksql.sink.partitions
    • 由ksql生成的topic的分区数(默认4)
  • ksql.sink.replicas
    • 由ksql生成的topic的副本数(默认1)
  • listeners
    • ksql rest服务监听地址
  • ksql.queries.file
    • ksql无交互方式启动时指定的sql脚本

推荐配置:

# kafka集群
bootstrap.servers=10.68.120.213:9092,10.68.120.21:9092,10.68.120.215:9092
# 监听地址
listeners=http://localhost:8088
# partitions数
ksql.sink.partitions=3
# replicas数
ksql.sink.replicas=3

# 确保瞬态故障不会导致数据丢失
ksql.streams.producer.retries=2147483647
# 确保流计算查询不会因为kafka集群不可用而停止
ksql.streams.producer.confluent.batch.expiry.ms=9223372036854775807
# 连接timeout
ksql.streams.producer.request.timeout.ms=300000
# kafka集群不可用时允许ksql底层暂时处理
ksql.streams.producer.max.block.ms=9223372036854775807
# 为聚合和join操作设置保存路径,默认为/tmp
ksql.streams.state.dir=/some/non-temporary-storage-path/

启动

# bin/ksql-server-start -daemon etc/ksql/ksql-server.properties

关闭

# bin/ksql-server-stop

进入交互界面

# bin/ksql
操作 代码
删除stream DROP STREAM click;
删除stream以及由此stream生成的topic DROP STREAM click WITH click_topic;
删除table DROP TABLE users;
删除table以及由此table生成的topic DROP TABLE user WITH user_topic;
显示stream/table的列名和类型 DESCRIBE click;
显示stream/table的列名和类型以及kafka topic详细信息 DESCRIBE EXTENDED click;
显示某个查询的执行计划 query_id通过show queries获取 EXPLAIN query_id;
显示kafka topic内容(从头取数据) PRINT 'click' FROM BEGINNING;
显示kafka topic内容(取最新数据) PRINT 'click';
显示topics SHOW/LIST TOPICS;
显示streams SHOW/LIST STREAMS;
显示tables SHOW/LIST TABLES;
显示queries SHOW QUERIES;
显示KSQL 配置 SHOW PROPERTIES;

集群配置

bootstrap.servers=10.68.120.213:9092,10.68.120.21:9092,10.68.120.215:9092
listeners=http://localhost:8088
ksql.service.id=test

确保bootstrap.servers以及ksql.service.id配置相同即可