本博客日IP超过2000,PV 3000 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog2,之前的微信号好友位已满,备注:返现
受密码保护的文章请关注“业余草”公众号,回复关键字“0”获得密码
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
腾讯云】1核2G5M轻量应用服务器50元首年,高性价比,助您轻松上云
本文将引导您完成设置Kafka集群并启动非Docker环境的KSQL的步骤。完成这些步骤后,您可以快速入门并使用KSQL来查询Kafka群集。
关于Docker环境下安装KSQL,可以参考我的这篇文章《Docker安装KSQL》。
环境准备
- 安装Confluent Platform 3.3.0。此安装包括Kafka代理,ZooKeeper,Schema Registry,REST Proxy和Kafka Connect。如果您通过tar或zip安装了Confluent Platform,请进入到安装目录。
- 安装Maven
- 安装Git
- Java:最低版本1.8。在本地机器上安装Oracle Java JRE或JDK> = 1.8
注意:KSQL在开发环境上测试,请不要在生成环境进行测试。
启动Kafak
进入confluent-3.3.0目录并使用新的Confluent CLI(免费Confluent开放源码分发的一部分)启动Confluent平台。ZooKeeper正在听localhost:2181,Kafka broker 监听localhost:9092,而Confluent Schema Registry正在听localhost:8081。
$ ./bin/confluent start
正确的输出类似下面的内容
Starting zookeeper zookeeper is [UP] Starting kafka kafka is [UP] Starting schema-registry schema-registry is [UP] Starting kafka-rest kafka-rest is [UP] Starting connect connect is [UP]
启动KSQL
克隆Confluent KSQL资源库。
$ git clone git@github.com:confluentinc/ksql.git
将ksql目录更改为目录并编译代码。
$ cd ksql $ mvn clean compile install -DskipTests
启动KSQL。该local参数在本地启动KSQL引擎。
$ ./bin/ksql-cli local
KSQL启动后,终端应该有类似于下面的内容。
ksql >
生成Kafka数据
执行下列步骤来产生数据到kafka的主题pageviews和users。
第一步:pageviews使用数据生成器生成Kafka数据到主题。以下示例连续生成DELIMITED格式的数据。
$ java -jar ksql-examples/target/ksql-examples-0.1-SNAPSHOT-standalone.jar \ quickstart=pageviews format=delimited topic=pageviews maxInterval=10000
第二步:users使用数据生成器生成Kafka数据到主题。以下示例连续生成JSON格式的数据。
$ java -jar ksql-examples/target/ksql-examples-0.1-SNAPSHOT-standalone.jar \ quickstart=users format=json topic=users maxInterval=10000
下面我们使用命令行工具生成的主题数据进行其他测试。
使用Kafka命令行生成Kafka数据kafka-console-producer。以下示例使用DELIMITED格式的值生成数据。
$ kafka-console-producer --broker-list localhost:9092 \ --topic t1 \ --property parse.key=true \ --property key.separator=: key1:v1,v2,v3 key2:v4,v5,v6 key3:v7,v8,v9 key1:v10,v11,v12
上面示例生成JSON格式的值的数据。
$ kafka-console-producer --broker-list localhost:9092 \ --topic t2 \ --property parse.key=true \ --property key.separator=: key1:{"id":"key1","col1":"v1","col2":"v2","col3":"v3"} key2:{"id":"key2","col1":"v4","col2":"v5","col3":"v6"} key3:{"id":"key3","col1":"v7","col2":"v8","col3":"v9"} key1:{"id":"key1","col1":"v10","col2":"v11","col3":"v12"}
参考资料
最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加作者微信号:xttblog2。备注:“1”,添加博主微信拉你进微信群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作也可添加作者微信进行联系!
本文原文出处:业余草: » 非Docker环境下安装KSQL