使用docker在mac创建kafka开发环境,及常用生产消费数据命令行小实操

仅仅了解kafka一些原理还是不够的,我们还需要做一些实战开发,从而帮助我们能够更深刻的掌握kafka这门技术。
为了方便我们后续做一些有趣的kafka小开发,首先需要在本地做一些相关环境的配置。

在mac上安装配置docker

下载地址:
docker for mac
这是一个客户端应用,是一个小鲨鱼上面有几个集装箱的图标。

容器技术
有说到容器技术的原理和发展历史

在这里同时了解一下docker容器技术,在前几年我们每次做一些开发的时候,都要花很长的时间来配置环境,有时候还会遇到各种各样的问题,并且都调试好之后,换到其他环境还有可能会出问题。容器技术就是模仿集装箱,将所有需要的环境变量配置都打包,每次切换环境都将整个容器移过去,这样就很好的解决了环境一致性的问题。

kafka lenses/fast-data-dev

lensesio/fast-data-dev
这个产品包含了运行kafka需要的相关组件,不需要我们再去进行配置。
1、启动kafka的开发环境,启动镜像

  • 拉取镜像
docker pull lensesio/fast-data-dev
  • 启动镜像
docker run --rm -it     -p 2181:2181 -p 3030:3030 -p 8081:8081     -p 8082:8082 -p 8083:8083 -p 9092:9092 -e ADV_HOST=127.0.0.1 lensesio/fast-data-dev

打开网页,进入http://127.0.0.1:3030
使用docker在mac创建kafka开发环境,及常用生产消费数据命令行小实操_第1张图片

2、镜像的terminal不能关掉,重新新开一个teminal
,just run:

docker run --rm -it --net=host lensesio/fast-data-dev bash

3、创建topic

kafka-topics --create --topic first_topic --partitions 3 --replication-factor 1 --bootstrap-server 127.0.0.1:9092

这时候就会多3个topic,同时发现新创建的topic first_topic
使用docker在mac创建kafka开发环境,及常用生产消费数据命令行小实操_第2张图片

4、使用producer写入数据

kafka-console-producer --broker-list 127.0.0.1:9092 --topic first_topic

可以看到在同一个partition里面,记录是根据输入时间先后排序的。
使用docker在mac创建kafka开发环境,及常用生产消费数据命令行小实操_第3张图片
输入ctrl+c停掉produce,通过指定key将数据写入指定partition

kafka-console-producer --broker-list 127.0.0.1:9092 --topic first_topic --property parse.key=true --property key.separator=:

使用docker在mac创建kafka开发环境,及常用生产消费数据命令行小实操_第4张图片
5、使用consumer消费数据

kafka-console-consumer --bootstrap-server 127.0.0.1:9092 --topic first_topic

从上次结束的offset开始消费

kafka-console-consumer --bootstrap-server 127.0.0.1:9092 --topic first_topic --consumer-property group.id=my-group-1 --from-beginning

使用docker在mac创建kafka开发环境,及常用生产消费数据命令行小实操_第5张图片

你可能感兴趣的:(docker,macos,kafka)