欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Kafka 安裝與配置詳細(xì)過程

 更新時(shí)間:2021年11月26日 09:16:58   作者:碼農(nóng)架構(gòu)  
本節(jié)詳細(xì)介紹 Kafka 運(yùn)行環(huán)境的搭建,為了節(jié)省篇幅,本節(jié)的內(nèi)容以 Linux CentOS 作為安裝演示的操作系統(tǒng),其他 Linux 系列的操作系統(tǒng)也可以參考本節(jié)的內(nèi)容,對(duì)Kafka 安裝與配置相關(guān)知識(shí)感興趣的朋友一起看看吧

本節(jié)詳細(xì)介紹 Kafka 運(yùn)行環(huán)境的搭建,為了節(jié)省篇幅,本節(jié)的內(nèi)容以 Linux CentOS 作為安裝演示的操作系統(tǒng),其他 Linux 系列的操作系統(tǒng)也可以參考本節(jié)的內(nèi)容。具體的操作系統(tǒng)的信息如下:

[root@node1 ~]# uname -a
Linux node1 2.6.32-504.23.4.el6.x86_64 #1 SMP Tue Jun 9 20:57:37 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
[root@node1 ~]# cat /etc/issue
CentOS release 6.6 (Final)
Kernel \r on an \m

由第1節(jié)中第1張圖可知,搭建 Kafka 運(yùn)行環(huán)境還需要涉及 ZooKeeper,Kafka 和 ZooKeeper 都是運(yùn)行在 JVM 之上的服務(wù),所以還需要安裝 JDK。Kafka 從2.0.0版本開始就不再支持 JDK7 及以下版本,本節(jié)就以 JDK8 為例來進(jìn)行演示。

1. JDK的安裝與配置

很多學(xué)習(xí) Kafka 的讀者也都是 JVM 系語言的支持者,如果你的操作系統(tǒng)中已經(jīng)安裝了 JDK8 及以上版本則可以跳過這段內(nèi)容。

安裝 JDK 的第一步就是下載 JDK 1.8的安裝包,可以進(jìn)入 Oracle 官網(wǎng)頁面進(jìn)行下載。示例中選擇的安裝包是 jdk-8u181-linux-x64.tar.gz,我們這里將其先復(fù)制至/opt 目錄下,本書所有與安裝有關(guān)的操作都在這個(gè)目錄下進(jìn)行。

其次將/opt 目錄下的安裝包解壓,相關(guān)信息如下:

[root@node1 opt]# ll jdk-8u181-linux-x64.tar.gz 
-rw-r--r-- 1 root root 185646832 Aug 31 14:48 jdk-8u181-linux-x64.tar.gz
[root@node1 opt]# tar zxvf jdk-8u181-linux-x64.tar.gz 
# 解壓之后當(dāng)前/opt目錄下生成一個(gè)名為jdk1.8.0_181的文件夾
[root@node1 opt]# cd jdk1.8.0_181/
[root@node1 jdk1.8.0_181]# pwd
/opt/jdk1.8.0_181
# 上面這個(gè)就是當(dāng)前JDK8的安裝目錄

然后配置 JDK 的環(huán)境變量。修改/etc/profile 文件并向其中添加如下配置:

export JAVA_HOME=/opt/jdk1.8.0_181
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=./://$JAVA_HOME/lib:$JRE_HOME/lib

再執(zhí)行 source /etc/profile 命令使配置生效,最后可以通過 java –version命令驗(yàn)證 JDK 是否已經(jīng)安裝配置成功。如果安裝配置成功,則會(huì)正確顯示出 JDK 的版本信息,參考如下:

[root@node1 ~]# java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

2. ZooKeeper安裝與配置

ZooKeeper 是安裝 Kafka 集群的必要組件,Kafka 通過 ZooKeeper 來實(shí)施對(duì)元數(shù)據(jù)信息的管理,包括集群、broker、主題、分區(qū)等內(nèi)容。

ZooKeeper 是一個(gè)開源的分布式協(xié)調(diào)服務(wù),是 Google Chubby的一個(gè)開源實(shí)現(xiàn)。分布式應(yīng)用程序可以基于 ZooKeeper 實(shí)現(xiàn)諸如數(shù)據(jù)發(fā)布/訂閱、負(fù)載均衡、命名服務(wù)、分布式協(xié)調(diào)/通知、集群管理、Master 選舉、配置維護(hù)等功能。

在 ZooKeeper 中共有3個(gè)角色:leader、follower 和 observer,同一時(shí)刻 ZooKeeper 集群中只會(huì)有一個(gè) leader,其他的都是 follower 和 observer。observer 不參與投票,默認(rèn)情況下 ZooKeeper 中只有 leader 和 follower 兩個(gè)角色。更多相關(guān)知識(shí)可以查閱 ZooKeeper 官方網(wǎng)站來獲得。

安裝 ZooKeeper 的第一步也是下載相應(yīng)的安裝包,安裝包可以從官網(wǎng)中獲得,示例中使用的安裝包是 zookeeper-3.4.12.tar.gz,同樣將其復(fù)制到/opt 目錄下,然后解壓縮,參考如下:

[root@node1 opt]# ll zookeeper-3.4.12.tar.gz 
-rw-r--r-- 1 root root 36667596 Aug 31 15:55 zookeeper-3.4.12.tar.gz
[root@node1 opt]# tar zxvf zookeeper-3.4.12.tar.gz 
# 解壓之后當(dāng)前/opt目錄下生成一個(gè)名為zookeeper-3.4.12的文件夾
[root@node1 opt]# cd zookeeper-3.4.12
[root@node1 zookeeper-3.4.12]# pwd
/opt/zookeeper-3.4.12

第二步,向/etc/profile 配置文件中添加如下內(nèi)容,并執(zhí)行 source /etc/profile 命令使配置生效:

export ZOOKEEPER_HOME=/opt/zookeeper-3.4.12
export PATH=$PATH:$ZOOKEEPER_HOME/bin

第三步,修改 ZooKeeper 的配置文件。首先進(jìn)入$ZOOKEEPER_HOME/conf目錄,并將zoo_sample.cfg 文件修改為 zoo.cfg:

[root@node1 zookeeper-3.4.12]# cd conf
[root@node1 conf]# cp zoo_sample.cfg zoo.cfg

然后修改 zoo.cfg 配置文件,zoo.cfg 文件的內(nèi)容參考如下:

# ZooKeeper服務(wù)器心跳時(shí)間,單位為ms
tickTime=2000
# 允許follower連接并同步到leader的初始化連接時(shí)間,以tickTime的倍數(shù)來表示
initLimit=10
# leader與follower心跳檢測(cè)最大容忍時(shí)間,響應(yīng)超過syncLimit*tickTime,leader認(rèn)為
# follower“死掉”,從服務(wù)器列表中刪除follower
syncLimit=5
# 數(shù)據(jù)目錄
dataDir=/tmp/zookeeper/data
# 日志目錄
dataLogDir=/tmp/zookeeper/log
# ZooKeeper對(duì)外服務(wù)端口
clientPort=2181

默認(rèn)情況下,Linux 系統(tǒng)中沒有/tmp/zookeeper/data 和/tmp/zookeeper/log 這兩個(gè)目錄,所以接下來還要?jiǎng)?chuàng)建這兩個(gè)目錄:

[root@node1 conf]# mkdir -p /tmp/zookeeper/data
[root@node1 conf]# mkdir -p /tmp/zookeeper/log

第四步,在${dataDir}目錄(也就是/tmp/zookeeper/data)下創(chuàng)建一個(gè) myid 文件,并寫入一個(gè)數(shù)值,比如0。myid 文件里存放的是服務(wù)器的編號(hào)。

第五步,啟動(dòng) Zookeeper 服務(wù),詳情如下:

[root@node1 conf]# zkServer.sh start
JMX enabled by default
Using config: /opt/zookeeper-3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

可以通過 zkServer.sh status 命令查看 Zookeeper 服務(wù)狀態(tài),示例如下:

[root@node1 ]# zkServer.sh status
JMX enabled by default
Using config: /opt/zookeeper-3.4.12/bin/../conf/zoo.cfg
Mode: Standalone

以上是關(guān)于 ZooKeeper 單機(jī)模式的安裝與配置,一般在生產(chǎn)環(huán)境中使用的都是集群模式,集群模式的配置也比較簡(jiǎn)單,相比單機(jī)模式而言只需要修改一些配置即可。下面以3臺(tái)機(jī)器為例來配置一個(gè) ZooKeeper 集群。首先在這3臺(tái)機(jī)器的 /etc/hosts 文件中添加3臺(tái)集群的IP地址與機(jī)器域名的映射,示例如下(3個(gè)IP地址分別對(duì)應(yīng)3臺(tái)機(jī)器):

192.168.0.2 node1
192.168.0.3 node2
192.168.0.4 node3

然后在這3臺(tái)機(jī)器的 zoo.cfg 文件中添加以下配置:

server.0=192.168.0.2:2888:3888
server.1=192.168.0.3:2888:3888
server.2=192.168.0.4:2888:3888

為了便于講解上面的配置,這里抽象出一個(gè)公式,即 server.A=B:C:D。其中A是一個(gè)數(shù)字,代表服務(wù)器的編號(hào),就是前面所說的 myid 文件里面的值。集群中每臺(tái)服務(wù)器的編號(hào)都必須唯一,所以要保證每臺(tái)服務(wù)器中的 myid 文件中的值不同。B代表服務(wù)器的IP地址。C表示服務(wù)器與集群中的 leader 服務(wù)器交換信息的端口。D表示選舉時(shí)服務(wù)器相互通信的端口。如此,集群模式的配置就告一段落,可以在這3臺(tái)機(jī)器上各自執(zhí)行 zkServer.sh start 命令來啟動(dòng)服務(wù)。

3. Kafka的安裝與配置

在安裝完 JDK 和 ZooKeeper 之后,就可以執(zhí)行 Kafka broker 的安裝了,首先也是從官網(wǎng)中下載安裝包,示例中選用的安裝包是 kafka_2.11-2.0.0.tgz,將其復(fù)制至/opt 目錄下并進(jìn)行解壓縮,示例如下:

[root@node1 opt]# ll kafka_2.11-2.0.0.tgz 
-rw-r--r-- 1 root root 55751827 Jul 31 10:45 kafka_2.11-2.0.0.tgz
[root@node1 opt]# tar zxvf kafka_2.11-2.0.0.tgz
# 解壓之后當(dāng)前/opt目錄下生成一個(gè)名為kafka_2.11-2.0.0的文件夾
[root@node1 opt]# cd kafka_2.11-2.0.0
[root@node1 kafka_2.11-2.0.0]#
# Kafka的根目錄$KAFKA_HOME即為/opt/kafka_2.11-2.0.0,可以將Kafka_HOME添加到/etc/profile文件中,具體做法可以參考前面JDK和ZooKeeper的安裝示例

接下來需要修改 broker 的配置文件 $KAFKA_HOME/conf/server.properties。主要關(guān)注以下幾個(gè)配置參數(shù)即可:

# broker的編號(hào),如果集群中有多個(gè)broker,則每個(gè)broker的編號(hào)需要設(shè)置的不同
broker.id=0
# broker對(duì)外提供的服務(wù)入口地址
listeners=PLAINTEXT://localhost:9092
# 存放消息日志文件的地址
log.dirs=/tmp/kafka-logs
# Kafka所需的ZooKeeper集群地址,為了方便演示,我們假設(shè)Kafka和ZooKeeper都安裝在本機(jī)
zookeeper.connect=localhost:2181/kafka

如果是單機(jī)模式,那么修改完上述配置參數(shù)之后就可以啟動(dòng)服務(wù)。如果是集群模式,那么只需要對(duì)單機(jī)模式的配置文件做相應(yīng)的修改即可:確保集群中每個(gè) broker 的 broker.id 配置參數(shù)的值不一樣,以及 listeners 配置參數(shù)也需要修改為與 broker 對(duì)應(yīng)的IP地址或域名,之后就可以各自啟動(dòng)服務(wù)。注意,在啟動(dòng) Kafka 服務(wù)之前同樣需要確保 zookeeper.connect 參數(shù)所配置的 ZooKeeper 服務(wù)已經(jīng)正確啟動(dòng)。

啟動(dòng) Kafka 服務(wù)的方式比較簡(jiǎn)單,在$KAFKA_HOME 目錄下執(zhí)行下面的命令即可:

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

如果要在后臺(tái)運(yùn)行 Kafka 服務(wù),那么可以在啟動(dòng)命令中加入 -daemon 參數(shù)或&字符,示例如下:

bin/kafka-server-start.sh –daemon config/server.properties
# 或者
bin/kafka-server-start.sh config/server.properties &

可以通過 jps 命令查看 Kafka 服務(wù)進(jìn)程是否已經(jīng)啟動(dòng),示例如下:

[root@node1 kafka_2.11-2.0.0]# jps -l
23152 sun.tools.jps.Jps
16052 org.apache.zookeeper.server.quorum.QuorumPeerMain
22807 kafka.Kafka  # 這個(gè)就是Kafka服務(wù)端的進(jìn)程

到此這篇關(guān)于Kafka 安裝與配置的文章就介紹到這了,更多相關(guān)Kafka 安裝與配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論