Kafka笔记
=====================================================================
kafka我们称之为中间件
Kafka官网:http://kafka.apache.org/
Kafka的文档:http://kafka.apache.org/0110/documentation.html
使用的版本:Kafka_2.11-0.11.0.1
Kafka® is used for building real-time data pipelines and streaming apps. It is horizontally scalable, fault-tolerant, wicked fast, and runs in production in thousands of companies.
Kafka是一个分布式的,分区的,容错的,具有副本的一个提交日志的服务
=====================================================================
kafka的生产者用于生产数据保存到kafka集群
生产者生产数据到kafka集群之前必须创建topic(主题),每个主题都应该设置分区数和副本数
还有主题的名称,然后将这些元数据信息保存到zookeeper里面
消费者用于消费kafka集群中保存到数据
首先确定消费者需要拉取哪个topic中的数据,首先应该去zookeeper中找到该topic的元数据信息,然后再去获取数据
=====================================================================
安装Kafka
-1.kafka是由scala编写的,所以需要scala的环境,同时也需要java的环境
kafka的元数据信息又需要储存在zookeeper里面,所以还需要zookeeper的环境
先安装好scala,java,zookeeper
-2.下载kafka的tar包
https://archive.apache.org/dist/kafka/0.11.0.1/kafka_2.11-0.11.0.1.tgz
-3.上传tar包到linux系统
-4.安装kafka的tar包
tar -zxvf ../../kafka_2.11-0.11.0.1.tgz -C /opt/cdh5.14.2/modules
-5.切换到kafka的目录,修改配置文件
我们需要配置Kafka的broker服务
需要配置的文件是server.properties文件
一个server.properties文件就是一个broker服务
我们这边可以使用伪分布式来实现
也就是说我们这边在一台机器上配置4个broker服务
那就是配置4个server.properties文件
cp server.properties server0.properties
cp server.properties server1.properties
cp server.properties server2.properties
cp server.properties server3.properties
-6.修改这四个配置文件
broker.id:表示每个broker服务的具体的id编号,是唯一的
server0.properties ==> broker.id=0
server1.properties ==> broker.id=1
server2.properties ==> broker.id=2
server3.properties ==> broker.id=3
listeners=PLAINTEXT://:9092:表示每个broker服务绑定的主机和端口号
注意:一台机器上端口号只能使用一次,所以我们4个服务的端口号要设置为不一样
server0.properties ==> listeners=PLAINTEXT://superman-bigdata.com:9092
server1.properties ==> listeners=PLAINTEXT://superman-bigdata.com:9093
server2.properties ==> listeners=PLAINTEXT://superman-bigdata.com:9094
server3.properties ==> listeners=PLAINTEXT://superman-bigdata.com:9095
log.dirs:表示数据和元数据储存的本地路径
server0.properties ==> log.dirs=/opt/cdh5.14.2/modules/kafka_2.11-0.11.0.1/data/0
server1.properties ==> log.dirs=/opt/cdh5.14.2/modules/kafka_2.11-0.11.0.1/data/1
server2.properties ==> log.dirs=/opt/cdh5.14.2/modules/kafka_2.11-0.11.0.1/data/2
server3.properties ==> log.dirs=/opt/cdh5.14.2/modules/kafka_2.11-0.11.0.1/data/3
zookeeper.connect:表示zookeeper连接的地址和元数据储存的目录
server0.properties ==> superman-bigdata.com:2181/yangpu1005
server1.properties ==> superman-bigdata.com:2181/yangpu1005
server2.properties ==> superman-bigdata.com:2181/yangpu1005
server3.properties ==> superman-bigdata.com:2181/yangpu1005
解释:superman-bigdata.com:2181表示zookeeper的连接地址
/yangpu1005:表示元数据储存在zkcli中根目录下面的yangpu1005这个目录里面
-7.开启服务
-1.必须先开启zookeeper的服务
bin/zkServer.sh start
-2.开启kafka的服务
bin/kafka-server-start.sh -daemon config/server0.properties
bin/kafka-server-start.sh -daemon config/server1.properties
bin/kafka-server-start.sh -daemon config/server2.properties
bin/kafka-server-start.sh -daemon config/server3.properties
-daemon:表示可选项,后台进程
kafka的安装
最新推荐文章于 2024-05-23 17:00:35 发布