使用docker在mac创建kafka开发环境,及常用生产消费数据命令行小实操
仅仅了解kafka一些原理还是不够的,我们还需要做一些实战开发,从而帮助我们能够更深刻的掌握kafka这门技术。为了方便我们后续做一些有趣的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
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
4、使用producer写入数据
kafka-console-producer --broker-list 127.0.0.1:9092 --topic first_topic
可以看到在同一个partition里面,记录是根据输入时间先后排序的。
输入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=:

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

更多推荐




所有评论(0)