温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Kafka基础知识点有哪些

发布时间:2021-11-22 09:55:20 来源:亿速云 阅读:123 作者:iii 栏目:大数据

这篇文章主要讲解了“Kafka基础知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Kafka基础知识点有哪些”吧!

1、安装部署

1.1、集群规划
Hadoop102Haoop103Hadoop104
ZookeeperZookeeperZookeeper
kafkakafkakafka
1.2、jar包下载

         http://kafka.apache.org/downloads

1.3、集群部署
1)解压安装包
	tar -zxvf kafka_2.11-2.4.1.tgz -C /opt/module/
2)修改解压后的文件名称
	mv kafka_2.11-2.4.1/ kafka
3)在/opt/module/kafka目录下创建logs文件夹
	mkdir logs
4)修改配置文件
	cd config/
	vi server.properties
输入以下内容:
	#broker的全局唯一编号,不能重复
	broker.id=2				--需要修改
	#处理网络请求的线程数量
	num.network.threads=3
	#用来处理磁盘IO的现成数量
	num.io.threads=8
	#发送套接字的缓冲区大小
	socket.send.buffer.bytes=102400
	#接收套接字的缓冲区大小
	socket.receive.buffer.bytes=102400
	#请求套接字的缓冲区大小
	socket.request.max.bytes=104857600
	#kafka运行日志存放的路径
	log.dirs=/opt/module/kafka/logs		--需要修改
	#topic在当前broker上的分区个数
	num.partitions=1
	#用来恢复和清理data下数据的线程数量
	num.recovery.threads.per.data.dir=1
	#segment文件保留的最长时间,超时将被删除
	log.retention.hours=168
	#配置连接Zookeeper集群地址
	zookeeper.connect=hadoop102:2181,hadoop103:2181,hadoop104:2181/kafka	--需要修改
5)配置环境变量
	sudo vim /etc/profile.d/my_env

	#KAFKA_HOME
	export KAFKA_HOME=/opt/module/kafka
	export PATH=$PATH:$KAFKA_HOME/bin

	source /etc/profile.d/my_env

6)分发安装包
	xsync kafka/
	注意:分发之后记得配置其他机器的环境变量
	分别在hadoop103和hadoop104上修改配置文件
	/opt/module/kafka/config/server.properties中的broker.id=3、broker.id=4
	注:broker.id不得重复!!!!
7)启动集群
依次在hadoop102、hadoop103、hadoop104节点上启动kafka
[atguigu@hadoop102 kafka]$ kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties
[atguigu@hadoop103 kafka]$ kafka-server-start.sh -daemon  $KAFKA_HOME/config/server.properties
[atguigu@hadoop104 kafka]$ kafka-server-start.sh -daemon  $KAFKA_HOME/config/server.properties

8)关闭集群
[atguigu@hadoop102 kafka]$ bin/kafka-server-stop.sh
[atguigu@hadoop103 kafka]$ bin/kafka-server-stop.sh
[atguigu@hadoop104 kafka]$ bin/kafka-server-stop.sh
9)kafka群起群停脚本
!#/bin/bash
#1、判断参数个数
if [ $# -ne 1 ];then
	echo "args num is error!!!"
	exit
fi
#2、根据输入的参数执行逻辑
case $1 in
"start")
	for host in hadoop02,hadoop103,hadoop104
	do
		echo “===============start $host kafka===============”
		ssh $host "/opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties"
	done
;;
"stop")
	for host in hadoop102,hadoop103,hadoop104
	do
		echo “===============stop $host kafka===============”
		ssh $host "/opt/module/kafka/bin/kafka-server-stop.sh"
	done
;;
"status")
	for host in hadoop102,hadoop103,hadoop104
	do
		pid=$(ssh $host "ps -ef | grep server.properties | grep -v grep")
		[ "$pid" ] && echo "kafka进程正常" || echo "kafka进程不存在或者异常"
	done
;;
*)
	echo "input arg error!!! (stop,start,status)"
;;
esac

2、Kafka命令行操作

2.1 查看当前服务器中的所有topic
kafka-topics.sh --list  --bootstrap-server hadoop102:9092,hadoop103:9092,hadoop104:9092
2.2 创建topic
kafka-topics.sh --create --bootstrap-server hadoop102:9092,hadoop103:9092 --topic second  
--partitions 2 --replication-factor 2
选项说明:
--topic 定义topic名
--replication-factor  定义副本数
--partitions  定义分区数
2.3 删除topic
kafka-topics.sh --delete --bootstrap-server hadoop102:9092,hadoop103:9092 --topic second
2.4 发送消息
kafka-console-producer.sh --broker-list hadoop102:9092 --topic first
2.5 消费消息
kafka-console-consumer.sh --bootstrap-server hadoop102:9092 --from-beginning --topic first

--from-beginning:会把主题中以往所有的数据都读取出来。
2.6 查看某个Topic的详情
kafka-topics.sh --describe --bootstrap-server hadoop102:9092,hadoop103:9092 --topic first
2.7 修改分区数
kafka-topics.sh --alter --bootstrap-server hadoop102:9092,hadoop103:9092 --topic first --partition 6

注意:分区只能改大不能改小,不能修改副本数

感谢各位的阅读,以上就是“Kafka基础知识点有哪些”的内容了,经过本文的学习后,相信大家对Kafka基础知识点有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI