溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Kafka基礎(chǔ)知識(shí)點(diǎn)有哪些

發(fā)布時(shí)間:2021-11-22 09:55:20 來源:億速云 閱讀:143 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要講解了“Kafka基礎(chǔ)知識(shí)點(diǎn)有哪些”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Kafka基礎(chǔ)知識(shí)點(diǎn)有哪些”吧!

1、安裝部署

1.1、集群規(guī)劃
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目錄下創(chuàng)建logs文件夾
	mkdir logs
4)修改配置文件
	cd config/
	vi server.properties
輸入以下內(nèi)容:
	#broker的全局唯一編號(hào),不能重復(fù)
	broker.id=2				--需要修改
	#處理網(wǎng)絡(luò)請(qǐng)求的線程數(shù)量
	num.network.threads=3
	#用來處理磁盤IO的現(xiàn)成數(shù)量
	num.io.threads=8
	#發(fā)送套接字的緩沖區(qū)大小
	socket.send.buffer.bytes=102400
	#接收套接字的緩沖區(qū)大小
	socket.receive.buffer.bytes=102400
	#請(qǐng)求套接字的緩沖區(qū)大小
	socket.request.max.bytes=104857600
	#kafka運(yùn)行日志存放的路徑
	log.dirs=/opt/module/kafka/logs		--需要修改
	#topic在當(dāng)前broker上的分區(qū)個(gè)數(shù)
	num.partitions=1
	#用來恢復(fù)和清理data下數(shù)據(jù)的線程數(shù)量
	num.recovery.threads.per.data.dir=1
	#segment文件保留的最長(zhǎng)時(shí)間,超時(shí)將被刪除
	log.retention.hours=168
	#配置連接Zookeeper集群地址
	zookeeper.connect=hadoop102:2181,hadoop103:2181,hadoop104:2181/kafka	--需要修改
5)配置環(huán)境變量
	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)分發(fā)安裝包
	xsync kafka/
	注意:分發(fā)之后記得配置其他機(jī)器的環(huán)境變量
	分別在hadoop103和hadoop104上修改配置文件
	/opt/module/kafka/config/server.properties中的broker.id=3、broker.id=4
	注:broker.id不得重復(fù)!!!!
7)啟動(dòng)集群
依次在hadoop102、hadoop103、hadoop104節(jié)點(diǎn)上啟動(dòng)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)關(guān)閉集群
[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、判斷參數(shù)個(gè)數(shù)
if [ $# -ne 1 ];then
	echo "args num is error!!!"
	exit
fi
#2、根據(jù)輸入的參數(shù)執(zhí)行邏輯
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進(jìn)程正常" || echo "kafka進(jìn)程不存在或者異常"
	done
;;
*)
	echo "input arg error!!! (stop,start,status)"
;;
esac

2、Kafka命令行操作

2.1 查看當(dāng)前服務(wù)器中的所有topic
kafka-topics.sh --list  --bootstrap-server hadoop102:9092,hadoop103:9092,hadoop104:9092
2.2 創(chuàng)建topic
kafka-topics.sh --create --bootstrap-server hadoop102:9092,hadoop103:9092 --topic second  
--partitions 2 --replication-factor 2
選項(xiàng)說明:
--topic 定義topic名
--replication-factor  定義副本數(shù)
--partitions  定義分區(qū)數(shù)
2.3 刪除topic
kafka-topics.sh --delete --bootstrap-server hadoop102:9092,hadoop103:9092 --topic second
2.4 發(fā)送消息
kafka-console-producer.sh --broker-list hadoop102:9092 --topic first
2.5 消費(fèi)消息
kafka-console-consumer.sh --bootstrap-server hadoop102:9092 --from-beginning --topic first

--from-beginning:會(huì)把主題中以往所有的數(shù)據(jù)都讀取出來。
2.6 查看某個(gè)Topic的詳情
kafka-topics.sh --describe --bootstrap-server hadoop102:9092,hadoop103:9092 --topic first
2.7 修改分區(qū)數(shù)
kafka-topics.sh --alter --bootstrap-server hadoop102:9092,hadoop103:9092 --topic first --partition 6

注意:分區(qū)只能改大不能改小,不能修改副本數(shù)

感謝各位的閱讀,以上就是“Kafka基礎(chǔ)知識(shí)點(diǎn)有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Kafka基礎(chǔ)知識(shí)點(diǎn)有哪些這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI