Kafka第一章:环境搭建
Kafka传 统定义:Kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。
Kafka最 新定义 : Kafka是 一个开源的 分 布式事件流平台 (Event Streaming Platform),被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用。
简单来说
kafka就是一个队列,用来缓解数据产生和数据上传之间的速度矛盾。当数据产生的速度超过上传速度,需要上传的数据就先进kafka排队等待。
安装kafka需要提前安装好zookeeper环境,未来kafka4或许又可能脱离zk运行,但现在还是需要安装。没装的,看前边的博客。
官方地址
实验采用目前的最新版3.3.2并且用scala2.13编译。
tar -xvf kafka_2.13-3.3.2.tgz -C /opt/module/
mv kafka_2.13-3.3.2/ kafka
一个需要修改三个参数
vim config/server.properties
sudo vim /etc/profile.d/my_env.sh
#KAFKA_HOME
export KAFKA_HOME=/opt/module/kafka
export PATH=$PATH:$KAFKA_HOME/bin
sudo xsync /etc/profile.d/my_env.sh
source /etc/profile.d/my_env.sh
bin/kafka-server-start.sh -daemon config/server.properties
在/home/atguigu/bin 目录下创建文件 kf.sh 脚本文件
#! /bin/bash
case $1 in
"start"){
for i in hadoop102 hadoop103 hadoop104
do
echo " --------启动 $i Kafka-------"
ssh $i "/opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties"
done
};;
"stop"){
for i in hadoop102 hadoop103 hadoop104
do
echo " --------停止 $i Kafka-------"
ssh $i "/opt/module/kafka/bin/kafka-server-stop.sh "
done
};;
esac
为脚本添加权限。
chmod 777 kf.sh
chmod +x kf.sh
现在关闭kafka服务。
到现在位置kafka的环境安装完成,建议现在保存快照。
现在是什么都没有的
bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --list
bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --create --partitions 1 --replication-factor 3 --topic first
–topic 定义 topic 名
–replication-factor 定义副本数
–partitions 定义分区数
bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --describe --topic first
注:分区数只能增加,不能减少
bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --alter --topic first --partitions 3
bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --delete --topic first
bin/kafka-console-producer.sh --bootstrap-server hadoop102:9092 --topic first
我们再开一个窗口进行消费者操作
bin/kafka-console-consumer.sh --bootstrap-server hadoop102:9092 --topic first
bin/kafka-console-consumer.sh --bootstrap-server hadoop102:9092 --from-beginning --topic first
kafka也是hadoop核心生态中一个比较重要的组件,还是需要学习。