前提都安裝JDK 6版本以上
創(chuàng)新互聯(lián)是一家專業(yè)提供云巖企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為云巖眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。
java -version
java version "1.7.0_79"
測(cè)試環(huán)境集群結(jié)構(gòu)(三臺(tái)集群的hosts一定要互相解析 不然會(huì)很坑)
server1: 192.168.100.10
server1: 192.168.100.13
server1: 192.168.100.20
安裝包:
zookeeper-3.4.9.tar.gz
kafka_2.11-0.10.1.0.tgz
背景:
為了獲得可靠的 ZooKeeper 服務(wù),用戶應(yīng)該在一個(gè)集群上部署 ZooKeeper 。只要集群上大多數(shù)的 ZooKeeper 服務(wù)啟動(dòng)了,那么總的 ZooKeeper 服務(wù)將是可用的。另外,最好使用奇數(shù)臺(tái)機(jī)器。 如果 zookeeper 擁有 5 臺(tái)機(jī)器,那么它就能處理 2 臺(tái)機(jī)器的故障了。
### zookeeper的集群安裝##################
1、安裝包下載到/usr/local/src
2、解壓至安裝路徑/usr/localcd
cd /usr/local/src/
tar -xvf zookeeper-3.4.9.tar.gz -C /usr/local/
cd /usr/local
ln -s zookeeper-3.4.9/ zookeeper
3、修改配置文件
cd cd /usr/local/zookeeper/conf/
cp zoo_sample.cfg zoo.cfg
配置文件(每臺(tái)zookeeper的配置文件都一樣)
[root@master conf]# cat zoo.cfg
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/usr/local/zookeeper/data
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
#第一個(gè)端口( port )是從( follower )機(jī)器連接到主( leader )機(jī)器的端口
#第二個(gè)端口是用來(lái)進(jìn)行 leader 選舉的端口
server.1=192.168.100.10:2888:3888
server.2=192.168.100.13:2888:3888
server.3=192.168.100.20:2888:3888
### 注釋:
在這個(gè)文件中,我們需要指定 dataDir 的值,它指向了一個(gè)目錄,這個(gè)目錄在開(kāi)始的時(shí)候需要為空。下面是每個(gè)參數(shù)的含義:
tickTime :基本事件單元,以毫秒為單位。它用來(lái)指示心跳,最小的 session 過(guò)期時(shí)間為兩倍的 tickTime. 。
dataDir :存儲(chǔ)內(nèi)存中數(shù)據(jù)庫(kù)快照的位置,如果不設(shè)置參數(shù),更新事務(wù)日志將被存儲(chǔ)到默認(rèn)位置。
clientPort :監(jiān)聽(tīng)客戶端連接的端口
#server.A=B:C:D 其中A是一個(gè)數(shù)字,代表這是第幾號(hào)服務(wù)器;B是服務(wù)器的IP地址;C表示服務(wù)器與群集中的“領(lǐng)導(dǎo)者”交換信息的端口;當(dāng)領(lǐng)導(dǎo)者失效后,D表示用來(lái)執(zhí)行選舉時(shí)服務(wù)器相互通信的端口。
4、創(chuàng)建數(shù)據(jù)目錄和創(chuàng)建myid文件
mkdir /usr/local/zookeeper/data
echo "1" > /usr/local/zookeeper/data/myid
### 配置其他節(jié)點(diǎn)
myid要不一樣
5、啟動(dòng)集群
按照上述進(jìn)行配置即可。
第五步:?jiǎn)?dòng)ZooKeeper集群
在ZooKeeper集群的每個(gè)結(jié)點(diǎn)上,執(zhí)行啟動(dòng)ZooKeeper服務(wù)的腳本,如下所示:
cd /usr/local/zookeeper/
bin/zkServer.sh start
bin/zkServer.sh start
bin/zkServer.sh start
查看日志:(日志生成在執(zhí)行啟動(dòng)的目錄下)
tail -f zookeeper.out
查看監(jiān)聽(tīng)的端口:(Leader端 才監(jiān)聽(tīng)2888 端口,follower是不監(jiān)聽(tīng)的,只監(jiān)聽(tīng)3888端口)
[root@agent zookeeper]# netstat -tulnp |grep 88
tcp 0 0 ::ffff:192.168.100.13:3888 :::* LISTEN 18526/java
tcp 0 0 ::ffff:192.168.100.13:2888 :::* LISTEN 18526/java
[root@agent zookeeper]# netstat -tulnp |grep 2181
tcp 0 0 :::2181 :::* LISTEN 18526/java
[root@agent zookeeper]#
6 驗(yàn)證
./bin/zkServer.sh status
注釋: 因?yàn)閱?dòng)順序是從第一臺(tái)開(kāi)始的 所以看日志第一臺(tái)會(huì)有日志因?yàn)榈诙_(tái)第三臺(tái)還未啟動(dòng),一會(huì)就正常了忽略
看到各個(gè)角色(leader選舉出來(lái)表示集群正常) 通過(guò)上面狀態(tài)查詢結(jié)果可見(jiàn),第二臺(tái)是集群的Leader,其余的兩個(gè)結(jié)點(diǎn)是Follower。
[root@agent zookeeper]# ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Mode: leader
7、測(cè)試客戶端命令連接
./bin/zkCli.sh -server 192.168.100.10:2181
連接上去之后:
執(zhí)行命令
[zk: 192.168.100.10:2181(CONNECTED) 4] ls /
[zookeeper]
注: 當(dāng)前根路徑為/zookeeper。
################# 安裝kafka
下載包
[root@master src]# ll kafka_2.11-0.10.1.0.tgz
-rw-r--r-- 1 root root 34373824 Oct 20 2016 kafka_2.11-0.10.1.0.tgz
1、解壓至安裝目錄
tar -xvf kafka_2.11-0.10.1.0.tgz -C /usr/local/
cd /usr/local/
ln -s kafka_2.11-0.10.1.0/ kafka
2、修改配置文件
cd /usr/local/kafka/config
vim server.properties
需要修改的項(xiàng)目:
# The id of the broker. This must be set to a unique integer for each broker
broker.id=1
# A comma seperated list of directories under which to store log files
log.dirs=/usr/local/kafka/logs
# Zookeeper connection string (see zookeeper docs for details).
# This is a comma separated host:port pairs, each corresponding to a zk
zookeeper.connect=192.168.100.10:2181,192.168.100.13:2181,192.168.100.20:2181
注意:每臺(tái)kafka的broer.id 是不一樣的
3、創(chuàng)建日志目錄
mkdir /usr/local/kafka/logs
4、### 配置其他節(jié)點(diǎn)
5、啟動(dòng)
從后臺(tái)啟動(dòng)Kafka集群(3臺(tái)都需要啟動(dòng))
cd /usr/local/kafka/bin/ ./kafka-server-start.sh -daemon ../config/server.properties
[root@master bin]# jps
7449 Jps
7427 Kafka #kafka進(jìn)程
31341 QuorumPeerMain #zk進(jìn)程
如果(3個(gè)kafka進(jìn)程都在表示正常,配置文件錯(cuò)誤是服務(wù)起不了)
查看啟動(dòng)日志:
tail -f /usr/local/kafka/logs/server.log
6、測(cè)試kafka集群
1-進(jìn)入kafka根目錄,創(chuàng)建topic test
./bin/kafka-topics.sh --create --zookeeper 192.168.100.10:2181,192.168.100.13:2181,192.168.100.20:2181 --replication-factor 1 --partitions 1 --topic test
結(jié)果:
Created topic "test".
2-列出已創(chuàng)建的topic列表
./bin/kafka-topics.sh --list --zookeeper 192.168.100.10:2181,192.168.100.13:2181,192.168.100.20:2181
結(jié)果:
test
或者使用zookeeper命令去查看
./bin/zkCli.sh -server 192.168.100.10:2181
[zk: 192.168.100.10:2181(CONNECTED) 3] ls /brokers/topics
[test]
3-模擬客戶端去發(fā)送消息
./bin/kafka-console-producer.sh --broker-list 192.168.100.10:9092,192.168.100.13:9092,192.168.100.20:9092 --topic test
4-模擬客戶端去接受消息(雖然看到的是消費(fèi) 但是因?yàn)橄M(fèi)么有刪除每次 執(zhí)行之前的模擬信息還會(huì)看到)
./bin/kafka-console-consumer.sh --zookeeper 192.168.100.10:2181,192.168.100.13:2181,192.168.100.20:2181 --from-beginning --topic test
5、停止 在啟動(dòng)(重啟)
集群依次kafka都需要停止
./bin/kafka-server-stop.sh
集群依次kafka都需要啟動(dòng)
cd /usr/local/kafka/bin/ ./kafka-server-start.sh -daemon ../config/server.properties
6、 刪除測(cè)試的test 的那個(gè)topic
./bin/kafka-topics.sh --delete --zookeeper 192.168.100.10:2181,192.168.100.13:2181,192.168.100.20:2181 --topic test
結(jié)果
Topic test is marked for deletion.
Note: This will have no impact if delete.topic.enable is not set to true.
因?yàn)?
如果kafaka啟動(dòng)時(shí)加載的配置文件中server.properties沒(méi)有配置(默認(rèn)沒(méi)有配置 默認(rèn)值為false)delete.topic.enable=true,那么此時(shí)的刪除并不是真正的刪除,而是把topic標(biāo)記為:marked for deletion
徹底刪除進(jìn)入zk
./bin/zkCli.sh -server 192.168.100.10:2181
rmr /brokers/topics/test
網(wǎng)頁(yè)題目:zookeeper和kafka的安裝使用
網(wǎng)頁(yè)URL:http://redsoil1982.com.cn/article30/gdospo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、Google、網(wǎng)站策劃、電子商務(wù)、ChatGPT、營(yíng)銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)