中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Kafka-manager部署與測試(完整)

發布時間:2020-07-06 10:08:43 來源:網絡 閱讀:60442 作者:KaliArch 欄目:建站服務器

Kafka-manager部署

一、概念

    概念百度了一下,可以根據相關資料進行理解。

1.1 Kafka是一種高吞吐量的分布式布訂閱消息系統,它可以處理消費者規模的網站中的所有動作流數據。

Broker

Kafka集群包含一個或多個服務器,這種服務器被稱為broker 

Topic

每條發布到Kafka集群的消息都有一個類別,這個類別被稱為Topic。(物理上不同Topic的消息分開存儲,邏輯上一個Topic的消息雖然保存于一個或多個broker上但用戶只需指定消息的Topic即可生產或消費數據而不必關心數據存于何處)

Partition

Partition是物理上的概念,每個Topic包含一個或多個Partition.

Producer

負責發布消息到Kafka broker

Consumer

消息消費者,向Kafka broker讀取消息的客戶端。

Consumer Group

每個Consumer屬于一個特定的Consumer Group(可為每個Consumer指定group name,若不指定group name則屬于默認的group)。

1.2 ZooKeeper是一個分布式的,開放源碼的分布式應用程序協調服務,是GoogleChubby一個開源的實現,是Hadoop和Hbase的重要組件。它是一個為分布式應用提供一致性服務的軟件,提供的功能包括:配置維護、域名服務、分布式同步、組服務等。

ZooKeeper的基本運轉流程:

1、選舉Leader。

2、同步數據。

3、選舉Leader過程中算法有很多,但要達到的選舉標準是一致的。

4、Leader要具有最高的執行ID,類似root權限。

5、集群中大多數的機器得到響應并follow選出的Leader。

1.3 kafka-manager為了簡化開發者和服務工程師維護Kafka集群的工作,yahoo構建了一個叫做Kafka管理器的基于Web工具,叫做 Kafka Manager。這個管理工具可以很容易地發現分布在集群中的哪些topic分布不均勻,或者是分區在整個集群分布不均勻的的情況。它支持管理多個集群、選擇副本、副本重新分配以及創建Topic。同時,這個管理工具也是一個非常好的可以快速瀏覽這個集群的工具,有如下功能:

1.管理多個kafka集群
2.便捷的檢查kafka集群狀態(topics,brokers,備份分布情況,分區分布情況)
3.選擇你要運行的副本
4.基于當前分區狀況進行
5.可以選擇topic配置并創建topic(0.8.1.1和0.8.2的配置不同)
6.刪除topic(只支持0.8.2以上的版本并且要在broker配置中設置delete.topic.enable=true)
7.Topic list會指明哪些topic被刪除(在0.8.2以上版本適用)
8.為已存在的topic增加分區
9.為已存在的topic更新配置
10.在多個topic上批量重分區
11.在多個topic上批量重分區(可選partition broker位置)

kafka-manager 項目地址:https://github.com/yahoo/kafka-manager

二、部署

2.1 初始化環境

初始化系統,關閉防火墻修改主機名與ip名稱

名稱

HOSTNAME

IP

1

kafka-1

172.17.10.207

2

kafka-2

172.17.10.208

3

kafka-3

172.17.10.209

Kafka-manager部署與測試(完整)

2.2 java安裝

yum install -y java-1.8.0-openjdk

2.3 安裝zookeeper(三臺都裝)

cd /usr/local
wget http://apache.fayea.com/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz
tar zxf zookeeper-3.4.9.tar.gz
mv zookeeper-3.4.9 zookeeper
cd zookeeper/conf
cp zoo_sample.cfg zoo.cfg

編輯zoo.cfg

tickTime=2000                            #服務之間或者客戶端與服務段之間心跳時間
initLimit=10                             #Follower啟動過程中,從Leader同步所有最新數據的時間
syncLimit=5                              #Leader與集群之間的通信時間
dataDir=/usr/local/zookeeper/data        #zookeeper存儲數據
datalogDir=/usr/local/zookeeper/logs     #zookeeper存儲數據的日志
clientPort=2181                          #zookeeper默認端口
#集群配置信息
server.1=172.17.10.207:2888:3888
server.2=172.17.10.208:2888:3888
server.3=172.17.10.209:2888:3888

server.1 這個1是服務器的標識也可以是其他的數字, 表示這個是第幾號服務器,用來標識服務器,這個標識要寫到快照目錄下面myid文件里

#172.17.10.207為集群里的IP地址,第一個端口是masterslave之間的通信端口,默認是2888,第二個端口是leader選舉的端口,集群剛啟動的時候選舉或者leader掛掉之后進行新的選舉的端口默認是3888


完整配置

Kafka-manager部署與測試(完整)

cd /usr/local/zookeeper
mkdir data logs                                #創建數據與日志文件夾
cd data
echo  “1”>myid                              #第2 臺zookeeper服務器就echo 2
/usr/local/zookeeper/bin/zkServer.sh start                               #啟動

Kafka-manager部署與測試(完整)

/usr/local/zookeeper/bin/zkServer.sh status                                   #查看狀態

Kafka-manager部署與測試(完整)Kafka-manager部署與測試(完整)

2.4 安裝kafka(三臺都裝)

wget http://apache.fayea.com/kafka/0.10.0.0/kafka_2.11-0.10.0.0.tgz
tar zxf kafka_2.11-0.10.0.0.tgz
mv kafka_2.11-0.10.0.0/ kafka
cd kafka/config

編輯 server.properties

broker.id=1                                              #kafka集群標識,不能相同,第一臺是1以此類推,其他都一樣。
log.dirs=/usr/local/kafka-logs
host.name=172.17.10.184                                  #主機ip
zookeeper.connect=172.17.10.185:2181,172.17.10.184:2181,172.17.10.183:2181
mkdir /usr/local/kafka/kafka-logs
/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties &     #啟動kafka

查看是否啟動成功

netstat -ntpl|grep 9092

Kafka-manager部署與測試(完整)

2.4 安裝kafka-manager

git clone https://github.com/yahoo/kafka-manager
cd kafka-manager
sbt clean distcd            #過程比較長

得到文件kafka-manager-1.3.0.8.zip

unzip kafka-manager-1.3.0.8.zip -d /usr/local
cd /usr/local/kafka-manager-1.3.0.8
修改配置 conf/application.properties
# 如果zk是集群,這里填寫多個zk地址
kafka-manager.zkhosts="172.17.10.185:2181,172.17.10.184:2181,172.17.10.183:2181"

啟動

kafka-manager 默認的端口是9000,可通過 -Dhttp.port,指定端口; -Dconfig.file=conf/application.conf指定配置文件:
nohup bin/kafka-manager -Dconfig.file=conf/application.conf -Dhttp.port=8080 &

瀏覽器訪問

Kafka-manager部署與測試(完整)

三、測試

對Kafka進行測試。分別創建topic,producer,consumer,最好是在不同的節點上創建。在producer的控制臺上輸入信息,觀察consumer控制臺是否能夠接收到。

3.1 創建topic

./kafka-topics.sh --create --zookeeper 172.17.10.207:2181,172.17.10.208:2181,172.17.10.209:2181 --replication-factor 3 --partitions 3 --topic xuel

--replication-factor   指定partition的replicas數,建議設置為2;

--partitions 指定分區數,這個參數需要根據broker數和數據量決定,正常情況下,每個broker上兩個partition最好;

--topic xuel  主題為xuel

3.2 查看topic

./kafka-topics.sh --describe --zookeeper 172.17.10.207:2181,172.17.10.208:2181,172.17.10.209:2181  --topic xuel

通過web界面創建topic-{1-4}

Kafka-manager部署與測試(完整)

3.3 刪除topic

./kafka-topics.sh --delete --zookeeper 172.17.10.207:2181,172.17.10.208:2181,172.17.10.209:2181  --topic xuel

3.4 創建發布者

在一臺服務器上創建一個發布者(發布者發送消息)

創建broker

./kafka-console-producer.sh --broker-list  172.17.10.173:9092,172.17.10.172:9092,172.17.10.171:9092,172.17.10.170:9092 --topic xuel

Kafka-manager部署與測試(完整)

3.5 創建消費者

在一臺服務器上創建一個訂閱者(訂閱者接受消息)

./kafka-console-consumer.sh --zookeeper 172.17.10.173:2181,172.17.10.172:2181,172.17.10.171:2181,172.17.10.170:2181 --from-beginning --topic xuel

Kafka-manager部署與測試(完整)

3.6 通過web界面查看

Kafka-manager部署與測試(完整)

Kafka-manager部署與測試(完整)

Kafka-manager部署與測試(完整)



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平阳县| 温宿县| 革吉县| 岑溪市| 伊宁市| 黔西| 中卫市| 玉屏| 班戈县| 万山特区| 屯昌县| 德庆县| 嫩江县| 隆德县| 宜章县| 榆社县| 宁乡县| 洱源县| 澎湖县| 南安市| 东莞市| 平山县| 尚志市| 松阳县| 鞍山市| 浮山县| 汉沽区| 清原| 扎囊县| 息烽县| 兴文县| 云和县| 时尚| 宁强县| 溆浦县| 岱山县| 墨竹工卡县| 德阳市| 沽源县| 常德市| 景泰县|