溫馨提示×

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

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

單節(jié)點(diǎn)KAFKA的安裝部署是怎樣的

發(fā)布時(shí)間:2021-12-15 15:48:44 來源:億速云 閱讀:288 作者:柒染 欄目:大數(shù)據(jù)

本篇文章給大家分享的是有關(guān)單節(jié)點(diǎn)KAFKA的安裝部署是怎樣的,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

項(xiàng)目背景:
    項(xiàng)目需要為使用增量數(shù)據(jù)同步工具,接入大數(shù)據(jù)平臺(tái),實(shí)現(xiàn)增量同步功能。根據(jù)公司要求kafka版本為0.11
    本文搭建的是單節(jié)點(diǎn)的kafka。

下載地址

http://kafka.apache.org/downloads.html

一、測(cè)試環(huán)境信息(個(gè)人虛擬機(jī))

[root@zrd soft]# uname -a

Linux zrd 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

[root@zrd soft]# free -h

             total       used       free     shared    buffers     cached

Mem:          1.8G       448M       1.4G       1.1M        26M       204M

-/+ buffers/cache:       216M       1.6G

Swap:         1.0G         0B       1.0G

[root@zrd soft]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda2              29G   11G   18G  39% /

tmpfs                 932M   72K  932M   1% /dev/shm

/dev/mapper/vg_test-lv_test

                       21G  211M   20G   2% /data

/CentOS-6.9-x86_64-LiveDVD.iso

                      1.9G  1.9G     0 100% /yumdir

[root@zrd soft]# java -version

java version "1.8.0_144"

Java(TM) SE Runtime Environment (build 1.8.0_144-b01)

Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

二、kafka簡(jiǎn)介

     kafka是一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng),它可以處理消費(fèi)者規(guī)模的網(wǎng)站中的所有動(dòng)作流數(shù)據(jù)。這種動(dòng)作(網(wǎng)頁瀏覽,搜索和其他用戶的行動(dòng))是在現(xiàn)代網(wǎng)絡(luò)上的許多社會(huì)功能的一個(gè)關(guān)鍵因素。這些數(shù)據(jù)通常是由于吞吐量的要求而通過處理日志和日志聚合來解決。

2.1kafka目錄介紹

/bin 操作kafka的可執(zhí)行腳本,還包含windows下腳本

/config 配置文件所在目錄

/libs 依賴庫目錄

/logs 日志數(shù)據(jù)目錄,目錄kafka把server端日志分為5種類型,分為:server,request,state,log-cleaner,controller

2.2kafka名詞解釋

producer:生產(chǎn)者。

consumer:消費(fèi)者。

topic: 消息以topic為類別記錄,Kafka將消息種子(Feed)分門別類,每一類的消息稱之為一個(gè)主題(Topic)。

broker:以集群的方式運(yùn)行,可以由一個(gè)或多個(gè)服務(wù)組成,每個(gè)服務(wù)叫做一個(gè)broker;消費(fèi)者可以訂閱一個(gè)或多個(gè)主題(topic),并從Broker拉數(shù)據(jù),從而消費(fèi)這些已發(fā)布的消息。

      每個(gè)消息(也叫作record記錄,也被稱為消息)是由一個(gè)key,一個(gè)value和時(shí)間戳構(gòu)成。

2.3kafka有四個(gè)核心API介紹

應(yīng)用程序使用producer API發(fā)布消息到1個(gè)或多個(gè)topic中。

應(yīng)用程序使用consumer API來訂閱一個(gè)或多個(gè)topic,并處理產(chǎn)生的消息。

應(yīng)用程序使用streams API充當(dāng)一個(gè)流處理器,從1個(gè)或多個(gè)topic消費(fèi)輸入流,并產(chǎn)生一個(gè)輸出流到1個(gè)或多個(gè)topic,有效地將輸入流轉(zhuǎn)換到輸出流。

connector API允許構(gòu)建或運(yùn)行可重復(fù)使用的生產(chǎn)者或消費(fèi)者,將topic鏈接到現(xiàn)有的應(yīng)用程序或數(shù)據(jù)系統(tǒng)。     

2.4kafka應(yīng)用場(chǎng)景

構(gòu)建實(shí)時(shí)的流數(shù)據(jù)管道,可靠地獲取系統(tǒng)和應(yīng)用程序之間的數(shù)據(jù)。

構(gòu)建實(shí)時(shí)流的應(yīng)用程序,對(duì)數(shù)據(jù)流進(jìn)行轉(zhuǎn)換或反應(yīng)。  

2.5kafka消費(fèi)者組

  什么是consumer group? 一言以蔽之,consumer group是kafka提供的可擴(kuò)展且具有容錯(cuò)性的消費(fèi)者機(jī)制。既然是一個(gè)組,那么組內(nèi)必然可以有多個(gè)消費(fèi)者或消費(fèi)者實(shí)例(consumer instance),它們共享一個(gè)公共的ID,即group ID。組內(nèi)的所有消費(fèi)者協(xié)調(diào)在一起來消費(fèi)訂閱主題(subscribed topics)的所有分區(qū)(partition)。當(dāng)然,每個(gè)分區(qū)只能由同一個(gè)消費(fèi)組內(nèi)的一個(gè)consumer來消費(fèi)。 

    三個(gè)特性:

      1consumer group下可以有一個(gè)或多個(gè)consumer instance,consumer instance可以是一個(gè)進(jìn)程,也可以是一個(gè)線程

     2group.id是一個(gè)字符串,唯一標(biāo)識(shí)一個(gè)consumer group     

     3consumer group下訂閱的topic下的每個(gè)分區(qū)只能分配給某個(gè)group下的一個(gè)consumer(當(dāng)然該分區(qū)還可以被分配給其他group)

三、安裝步驟

3.1安裝jdk(自行安裝)

3.2安裝zookeeper(單節(jié)點(diǎn))

[root@zrd soft]# tar -zxvf zookeeper-3.4.10.tar.gz

在主目錄下創(chuàng)建data和logs兩個(gè)目錄用于存儲(chǔ)數(shù)據(jù)和日志

在conf目錄下新建zoo.cfg文件,寫入以下內(nèi)容保存   

tickTime=2000

dataDir=/soft/zookeeper-3.4.10/data

dataLogDir=/soft/zookeeper-3.4.10/logs

clientPort=2181

進(jìn)入bin目錄,啟動(dòng)、停止、重啟分和查看當(dāng)前節(jié)點(diǎn)狀態(tài)(包括集群中是何角色)別執(zhí)行:

./zkServer.sh start

./zkServer.sh stop

./zkServer.sh restart

./zkServer.sh status

touch /soft/zookeeper-3.4.10/data/myid

echo '1' > data/myid

3.2安裝kafka

3.2.1解壓包

tar -zxvf kafka_2.11-0.11.0.2

單節(jié)點(diǎn)KAFKA的安裝部署是怎樣的

3.2.2配置

[root@zrd config]# ls

connect-console-sink.properties    connect-log4j.properties       server.properties

connect-console-source.properties  connect-standalone.properties  tools-log4j.properties

connect-distributed.properties     consumer.properties            zookeeper.properties

connect-file-sink.properties       log4j.properties

connect-file-source.properties     producer.properties

[root@zrd config]# pwd

/soft/kafka_2.11-0.11.0.2/config

//kafka最為重要三個(gè)配置依次為:broker.id、log.dir、zookeeper.connect,kafka server端config/server.properties參數(shù)說明和解釋如下:https://blog.csdn.net/lizhitao/article/details/25667831

[root@zrd config]# vim server.properties

broker.id=0

delete.topic.enable=true

listeners=PLAINTEXT://192.168.15.131:9092

num.network.threads=3

num.io.threads=8

socket.send.buffer.bytes=102400

socket.receive.buffer.bytes=102400

socket.request.max.bytes=104857600

log.dirs=/data/kafka/data

num.partitions=1

num.recovery.threads.per.data.dir=1

offsets.topic.replication.factor=1

transaction.state.log.replication.factor=1

transaction.state.log.min.isr=1

log.flush.interval.messages=10000

log.flush.interval.ms=1000

log.retention.hours=168

log.retention.bytes=1073741824

log.segment.bytes=1073741824

log.retention.check.interval.ms=300000

zookeeper.connect=192.168.15.131:2181,192.168.15.132:2181,192.168.15.133:2181

zookeeper.connection.timeout.ms=6000

group.initial.rebalance.delay.ms=0

啟動(dòng)進(jìn)程

./kafka-server-start.sh ./kafka/config/server.properties

單節(jié)點(diǎn)KAFKA的安裝部署是怎樣的

進(jìn)行測(cè)試:創(chuàng)建topic --test

[root@zrd bin]# jps

4729 Kafka

3049 QuorumPeerMain

5019 Jps

4238 QuorumPeerMain

[root@zrd bin]# ./kafka-topics.sh --create --zookeeper 192.168.6.105:2181 --replication-factor 1 --partitions 1 --topic test

Created topic "test".

另一個(gè)窗口:列出已創(chuàng)建的topic列表

[root@zrd bin]# ./kafka-topics.sh --list --zookeeper 192.168.6.105:2181

test

單節(jié)點(diǎn)KAFKA的安裝部署是怎樣的

單節(jié)點(diǎn)KAFKA的安裝部署是怎樣的

模擬客戶端去發(fā)送消息

[root@zrd bin]# ./kafka-console-producer.sh --broker-list 192.168.6.105:9092 --topic r7_test

>hello world

[2018-05-17 15:26:39,412] WARN Error while fetching metadata with correlation id 1 : {r7_test=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)

>20180517

模擬客戶端去接受消息

[root@zrd bin]# ./kafka-console-consumer.sh --zookeeper 192.168.6.105:2181 --from-beginning --topic r7_test

Using the ConsoleConsumer with old consumer is deprecated and will be removed in a future major release. Consider using the new consumer by passing [bootstrap-server] instead of [zookeeper].

以上就是單節(jié)點(diǎn)KAFKA的安裝部署是怎樣的,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向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