Docker安装KSQL

2018-01-12 文章推荐 访问量 184

本文将引导您完成设置Kafka集群并启动Docker环境的KSQL的步骤。完成这些步骤后,您可以开始使用KSQL来查询Kafka群集。

Docker环境准备

Docker的安装参考这篇文档。mac平台的可以参考这一篇文章。 git的安装和下载参考这里。 Java:最低版本1.8

如有不会安装的,请自行搜索相关软件的安装。

启动Kafka集群

第一步:克隆Confluent KSQL资源库。

$ git clone git@github.com:confluentinc/ksql.git

第二步:将目录更改为快速启动,并在Docker中启动KSQL快速启动。

$ cd ksql/docs/quickstart/
$ docker-compose up -d

第三步:从主机上启动容器上的KSQL CLI。

$ docker-composhttp://www.ddwclub.com/71f7/0e7c5b5a5ece.htmle exec ksql-cli ksql-cli local --bootstrap-server kafka:29092

OK,到目前位置,我们的Docker环境下的KSQL已经安装完毕了。下面我需要进一步的验证,我们的环境是否安装正确。

验证Docker下的KSQL环境

第一步:验证六个Docker容器是否已创建。

$ docker-compose ps

如果是up状态,你执行上面的命令后,应该可以看到下面的输出内容。

        Name                        Command               State                           Ports                          
-------------------------------------------------------------------------------------------------------------------------
quickstart_kafka_1                    /etc/confluent/docker/run        Up      0.0.0.0:29092->29092/tcp, 0.0.0.0:9092->9092/tcp       
quickstart_ksql-cli_1                 perl -e while(1){ sleep 99 ...   Up   http://www.ddwclub.com/f323/ec123684de09.html                                                          
quickstart_ksql-datagen-pageviews_1   bash -c echo Waiting for K ...   Up                                                http://www.ddwclub.com/caf2/2ac6531b2e12.html             
quickstart_ksql-datagen-users_1       bash -c echo Waiting for K ...   Up                                                             
quickstart_schema-registry_1          /etc/confluent/docker/run        Up      0.0.0.0:8081->8081/tcp                                 
quickstart_zookeeper_1                /etc/confluent/docker/run        Up      2181/tcp, http://www.ddwclub.com/d89a/0391f4c28e3a.html2888/tcp, 0.0.0.0:32181->32181/tcp, 3888/tcp

第二步:docker-compose文件已经运行了一个数据生成器,它预先填充两个Kafka主题pageviews和users模拟数据。下面验证数据生成器是否创建了两个Kafka主题,包括pageviews和users。

$ docker-compose exec kafka kafka-topics --zookeeper zookeeper:32181 --list

正确的输出内容如下:

_confluent-metrics
_schemas
pageviews
users

第三步:使用它kafka-console-consumer来查看每个主题的几个消息。该主题pageviews具有一个键,它是一个模拟时间戳和一个DELIMITED格式的值。主题users具有用户ID和Json格式的值的键。

$ docker-compose exec kafka kafka-console-consumer --topic pageviews --bootstrap-server kafka:29092 --from-beginning --max-messages 3 --property print.key=true

正确的输出内容如下:

1491040409254    149http://www.ddwclub.com/7ca7/f326d5e90843.html1040409254,User_5,Page_70
1488611895904    1488611895904,User_8,Page_76
1504052725192    1504052725192,User_8,Page_92
$ docker-compose exec kafka kafka-console-consumer --topic users --bootstrap-server kafka:29092 --from-beginning --max-messages 3 --property print.key=true

http://www.ddwclub.com/2dc0/96e9d8ba6e3e.html 正确的输出内容如下:

User_2   {"registertime":1509789307038,"gender":"FEMALE","regionid":"Region_1","userid":"User_2"}
User_6   {"registertime":1498248577697,"gender":"OTHER","regionid":"Region_8","userid":"User_6"}
User_http://www.ddwclub.com/3c74/49e5104beed1.html8   {"registertime&http://www.ddwclub.com/cdf2/1cc72c6b1e01.htmlquot;:1494http://www.ddwclub.com/6d56/b8634c094c0c.html834474504,"genderhttp://www.ddwclub.com/3919/c70b1bb336cc.html":"MALE","regionid":"Region_5","userid":"User_8"}
本站是基于ThinkPHP3.2.3版本框架开发 Theme by WordPress 粤ICP备15112997号-1