写在前面
还是那句话,当你学习一个新的东西之前,你总得知道这个东西是什么?这个东西可以用来做什么?然后你才会去学习它,使用它。简单来说,kafka既是一个消息队列,如今,它也演变为一个分布式的流处理平台,这一点就是很厉害的了。所以,学习kafka对于大数据的小伙伴们来说,是非常有益的。
(一)Kafka概述
1.Kafka是一个分布式的流处理平台,有消息的订阅系统(订阅之后,一旦有新的消息产生,你就会收到消息),可以以多副本的方式进行存储,可以构建实时数据管道,以及实时的流处理,能够横向水平扩展,容错等特点。大数据的实时流处理场景很多时候都会使用到kafka
上面是官网中的图片
Kafka和消息系统类似,消息中间件的一种:有生产者和消费者的概念。
(二)Kafka架构
从上面官网给出的图片中,我们知道,kafka是有以下几个主要的该丽娜
1)producer:生产者,
2)consumer:消费者,
3)broker:一个broker就是一个kafka,
4)topic:主题,给生产的消息打上一个标签,代表是谁生产的.
First a few concepts:[几个概念]
Kafka is run as a cluster on one or more servers.
The Kafka cluster stores streams of records in categories called topics.
Each record consists of a key, a value, and a timestamp.
zookeeper的安装
下载zookeeper,地址在cdh5的页面http://archive.cloudera.com/cdh5/cdh/5/
解压到自己指定的目录中去,我一般喜欢~/app,这个看自己的习惯就好,这里我把解压后的文件修改名称为zk,
把解压的目录导出,
4.再source一个系统环境
5.配置zookeeper,来到解压目录下的conf文件
拷贝一份
6.启动zookeeper
7.查看进程
Kafka的安装部署
下载https://archive.apache.org/dist/kafka/0.9.0.0/kafka_2.11-0.9.0.0.tgz 因为kafka是scala语言写的,后面我们也可能会使用到scala,因为我安装的scala是2.11版本。这个下载的版本主要看自己的情况,在官网上选择合适的就好
解压到指定目录,再导出到系统环境中‘’
3.再source一下
4.配置,修改解压目录下config配置文件
bin/zookeeper-server-start.sh config/zookeeper.properties
2).再启动我们的kafka
bin/kafka-server-start.sh config/server.properties
6.启动之后
领取专属 10元无门槛券
私享最新 技术干货