docker 安装kafka_老朱:Kafka入门教程(1)

感谢老朱贡献的 原创 作品,Kafka作为分布式中间件,应用广泛。本文总结了安转Kafka的详细步骤,推荐给大家。

1

试想一种需求,网络爬虫爬取页面数据保存到数据库,为了效率你可能会启动多个爬虫一起工作,这个时候你的数据库可能就吃不消了一直处于爆满状态。

2

为了解决这个问题,你需要把爬虫数据缓存到一个地方,然后再不急不躁的插入到数据库中。这实际上就是一个典型的生产者消费模型,生产者生产过快导致消费者需要不停的消费,稍有不慎消费者罢工了还会导致产品丢失。如果在生产线上放置一个缓冲区,那么就可以不担心消费者程序挂掉,或者内存CPU资源一直被消费者程序占用。

Kafka就在这个模型中担任缓冲区的角色,Kafka是分布式消息中间件的一种,它有着轻量高吞吐量的优势,因此一直备受关注。

3

本文将采用docker容器作为实验的环境,虚拟机太占用资源。首先安装Docker,Docker为Windows、Mac都提供了安装包 Docker Desktop. 安装即可用,这个包涵了多个docker组件,包括 docker compose、docker swarm、docker-machine,有兴趣的可以深入了解一下。

1)、安装Docker Desktop

2)、拉取ubuntu系统,作为实验的操作系统

Docker pull ubuntu

dd737ae197dba5cf2d18f4f7b03dacc0.png

3)、启动ubuntu系统,并进入

Docker run -it  --name kafka  ubuntu bash   进入

3d54c78bcffc476858ce4a24a726d598.png

e89c8bee40973a1dba5a5de4d3a63083.png

4)、下载kafka安装包

下载Kafka 

https://www.apache.org/dyn/closer.cgi?path=/kafka/2.3.0/kafka_2.11-2.3.0.tgz

将kafka拷贝到docker ubuntu 容器中

docker cp kafka_2.11-2.3.0.tgz  kafka:/usr/local/kafka

tar -zxvf kafka_2.11-2.3.0.tgz  

b8f1e6febdaf92fdd0ce008de2bdffd0.png 

5)、配置JDK环境

下载JDK1.8 并拷贝到kafka容器中,并配置

6)、启动Kafka自带Zookeeper服务

启动ZK

bin/zookeeper-server-start.sh config/zookeeper.properties

a1de2dd08c030b3b485557656433bbda.png

7)、启动Kakfa环境

启动kafka    

bin/kafka-server-start.sh config/server.properties

8d6b3a51ee449d84b99068a230977544.png

8)、创建topic 指定副本以及分区个数

另外启动控制台,通过docker exec -it kafka bash 进入容器中,创建一个topic z指定副本数为1,分区数为1,topic为test

bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test

9)、启动生产者Demo

开启kafka生产者进程,输入hello kafka

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

7aa85060f34bd9406de1314693dd9129.png

10)、启动消费者Demo

启动kafka消费者进程

ef2dfa93b2696fd61424583df5dc985b.png

4

总结:以上就是快速部署安装Kafka过程,很多理论不明白也没关系,因为笔者也是小白刚接触学习中,在配置过程中慢慢学习。

看到这么有趣的案例,我第一时间反应是能不能写个聊天系统啥的,因为当初使用Socket的时候是如此的麻烦。


/*  送书 */

6月30日文章,六月总结和思考留言就可能被赠书一本,恭喜「为人民服务」获得,留言走心且被点赞4次(留言区中最高)。

8243d6b40f9a72046d3cfab2f2f13566.png

前几天我联合4个公众号送的30本Python数据分析书,全部名单也已经提交到出版社了,再次祝贺被抽中的小伙伴。

最后,再次感谢老朱,为我们贡献的Kafka教程,欢迎大家支持。

00f33572e7f645a36bb913085cfcd1c9.png

Python

机器学习

280

就等你来

点个在看4f055cf0b38533673186e05e53e7266d.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值