1. 程式人生 > >大資料(三十):zookeeper叢集與kafka叢集部署

大資料(三十):zookeeper叢集與kafka叢集部署

一、安裝Zookeeper

1.叢集規劃

在hadoop102、hadoop103和hadoop104三個節點上部署Zookeeper。

2.解壓安裝

       1.解壓zookeeper安裝包到/usr/local/目錄下

tar -zxvf zookeeper-3.4.10.tar.gz -C /usr/local/

       2.在/usr/local/zookeeper-3.4.10/這個目錄下建立zkData

mkdir -p zkData

       3.重新命名/usr/local/zookeeper-3.4.10/conf這個目錄下的zoo_sample.cfg為zoo.cfg

mv zoo_sample.cfg zoo.cfg

3.配置zoo.cfg檔案

        1.具體配置(如果沒有配置hosts,需要使用ip地址來代替)

dataDir=/usr/local/zookeeper-3.4.10/zkData
#######################增加如下配置cluster##########################
server.2=hadoop102:2888:3888
server.3=hadoop103:2888:3888
server.4=hadoop104:2888:3888

        2.配置引數解讀

Server.A=B:C:D。

        A是一個數字,表示這個是第幾號伺服器;

        B是這個伺服器的ip地址;

        C是這個伺服器與叢集中的Leader伺服器交換資訊的埠;

        D是萬一叢集中的Leader伺服器掛了,需要一個埠來重新進行選舉,選出一個新的Leader,而這個埠就是用來執行選舉時伺服器相互通訊的埠。

        叢集模式下配置一個檔案myid,這個檔案在dataDir目錄下,這個檔案裡面有一個數據就是A的值,Zookeeper啟動時讀取此檔案,拿到裡面的資料與zoo.cfg裡面的配置資訊比較從而判斷到底是哪個server。

4.叢集操作

        1.在/usr/local/zookeeper-3.4.10/zkData目錄下建立一個myid的檔案

touch myid

新增myid檔案,注意一定要在linux裡面建立,在notepad++裡面很可能亂碼

        2.編輯myid檔案

vi myid

在檔案中新增與server對應的編號:如2

        3.拷貝配置好的zookeeper到其他機器上(需要配置好ssh,如果沒有可以手動複製)

scp -r zookeeper-3.4.10/ [email protected]:/usr/local/
scp -r zookeeper-3.4.10/ [email protected]:/usr/local/

並分別修改myid檔案中內容為3、4

        4.分別啟動zookeeper (每一個伺服器上都要啟動)

bin/zkServer.sh start

        5.檢視狀態

bin/zkServer.sh status

JMX enabled by default

Using config: /usr/local/zookeeper-3.4.10/bin/../conf/zoo.cfg

Mode: follower

二、Kafka叢集部署

1.解壓安裝包

tar -zxvf kafka_2.11-0.11.0.0.tgz -C /usr/local

2.修改解壓後的檔名稱

mv kafka_2.11-0.11.0.0/ kafka

3.在/usr/local/kafka目錄下建立logs資料夾

mkdir logs

4.修改配置檔案

cd config/
vi server.properties

輸入以下內容:

#broker的全域性唯一編號,不能重複
broker.id=0
#是否允許刪除topic
delete.topic.enable=true
#處理網路請求的執行緒數量
num.network.threads=3
#用來處理磁碟IO的執行緒數量
num.io.threads=8
#傳送套接字的緩衝區大小
socket.send.buffer.bytes=102400
#接收套接字的緩衝區大小
socket.receive.buffer.bytes=102400
#請求套接字的最大緩衝區大小
socket.request.max.bytes=104857600
#kafka執行日誌存放的路徑
log.dirs=/usr/local/kafka/logs
#topic在當前broker上的分割槽個數
num.partitions=1
#用來恢復和清理data下資料的執行緒數量
num.recovery.threads.per.data.dir=1
#segment檔案保留的最長時間,超時將被刪除
log.retention.hours=168
#配置連線Zookeeper叢集地址
zookeeper.connect=hadoop102:2181,hadoop103:2181,hadoop104:2181

5.配置環境變數

        1.修改配置檔案

vi /etc/profile

        2.新增以下內容

#KAFKA_HOME
export KAFKA_HOME=/usr/local/kafka
export PATH=$PATH:$KAFKA_HOME/bin

        3.更新環境變數

source /etc/profile

6.分發安裝包,將配置檔案和kafka程式拷貝到其他兩個伺服器上

7.分別在hadoop103和hadoop104上修改配置檔案/usr/local/kafka/config/server.properties中的

broker.id=1、broker.id=2

       注:broker.id不得重複

8.啟動叢集

依次在hadoop102、hadoop103、hadoop104節點上啟動kafka

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

9.關閉叢集

bin/kafka-server-stop.sh stop

相關推薦

資料zookeeper叢集kafka叢集部署

一、安裝Zookeeper 1.叢集規劃 在hadoop102、hadoop103和hadoop104三個節點上部署Zookeeper。 2.解壓安裝        1.解壓zookeeper安裝包到/usr/local/目錄下 tar -zxvf zookeepe

資料hive分割槽表、修改表語句資料的匯入匯出

一、分割槽表         分割槽表實際上就是對應一個HDFS檔案系統上的一個獨立的資料夾,該資料夾下是該分割槽所有的資料檔案,hive中的分割槽就是分目錄,把一個大的資料集更具業務需求分割成小的資料集。在查詢時通過where子句中的

資料kafka消費過程

一、kafka在zookeeper中的儲存結構 producer不在zk中註冊,消費者在zk中註冊。 二、kafka消費過程分析 kafka提供了兩套consumer API:高階Consumer Api和低階Api 1.高階Api 優點: 編

資料HBASE【mapreduce操作hbase】

現在有一些大的檔案,需要存入HBase中,其思想是先把檔案傳到HDFS上,利用map階段讀取<key,value>對,可在reduce把這些鍵值對上傳到HBase中。 package test; import java.io.IOException; imp

資料二十三hive優化、表優化

一、Fetch抓取         Fetch抓取是指,Hive中對某些情況的查詢可以不必使用MapReduce計算。例如,select * from employees;在這種情況下,Hive可以簡單讀取employee對應的儲存目錄

區塊鏈技術基礎語言Go語言常用工具包

原文連結:區塊鏈技術基礎語言(三十):Go語言常用工具包(下) 一、JSON處理 JSON(JavaScript Object Notation)是一種輕量級的資料交換格式,方便人們閱讀和編寫,也方便程式地解析和生成。雖然JSON是JavaScript的子集,但其格式完全獨立於程式語言,表現

Java基礎系列區域性內部類

What 區域性內部類就是定義在某個方法內部的內部類,它的作用域僅限於這個方法。 Why 當我們在外圍類中定義的內部類僅僅在某個方法中使用了一次,這種情況下,我們就可以選擇去使用區域性內部類。 How 以上節課的例子繼續講解,由於TestListener這個內部類僅僅

通證經濟大局觀貴族的沒落

西羅馬帝國滅亡後,整個西歐就像一塊玻璃摔在地上,碎了一地。一塊塊的碎片就是一塊塊的封地。 封地的主人是領主,最小的領主是騎士,往上是公侯伯子男各種爵,再往上就是國王了。封地內是一座座莊園和一個個城堡。城堡裡住著貴族,莊園裡勞作的是農奴。 那個時候,只有少量農民有自己的土地

小甲魚《零基礎學習Python》課後筆記檔案系統——介紹一個高大上的東西

動動手 0.編寫一個程式,統計當前目錄下每個檔案型別的檔案數,程式實現如圖: 程式碼如下: import os filename_list = os.listdir(os.curdir) filetype_dict = dict() for each_fi

Unity3D學習筆記Lua

path 單行 一個數 eat 之間 分享 mst pat ole Lua:是一個輕量級的腳本語句。不需要編譯,直接運行的語言。 環境配置: 執行Lua有兩種方式: 1、交互式編程(輸入後能立即看到效果) 2、腳本式編程:運行lua文件,.lua為文件後綴 Lu

資料機器學習【線性迴歸】

一、一元一次線性迴歸         如果用上述概念去理解線性迴歸與機器學習的關係還有點抽象,那麼下面我們來舉一個具體的例子來說明。         歷史上美國法社會見的次數很多,失敗的次數也很多。基於歷史樣本,我們希望分析火箭中一個組成(O-Ring)溫度對火箭發

通證經濟大局觀價值生產率供給、需求

價值是個主觀的東西,一個東西對你有效用,你才覺得有價值。對應於供給和需求來說,那就是有人用,也就是有需求的供給才是有價值的供給。 傳統經濟裡的物品和勞務大多帶有“原子”屬性,你用了別人就沒法用,或者是你用的時候別人就沒辦法用,比如一個蘋果,你吃了別人就沒辦法吃;一個座位你坐了,別人就沒辦法坐。所

資料hive分桶及抽樣查詢、自定義函式、壓縮儲存

一、分桶及抽樣查詢 1.分桶表資料儲存         分割槽針對的是資料儲存路徑(HDFS中表現出來的便是資料夾),分桶針對的是資料檔案。分割槽提供一個隔離資料和優化查詢的便利方式。不過,並非所有的資料集都可形成合理的分割槽,特別是當資料要

資料hive查詢語句

一、查詢語句 1.基本語法 SELECT [ALL|DISTINCT] select_expr,select_expr,... FROM table_reference [WHERE where_condition] [GROUP BY col_list] [ORDER BY col_lis

資料Sqoop的介紹和安裝

一、Sqoop簡介        Sqoop是一種旨在有效的Hadoop和關係型資料庫等結構化資料儲存之間傳輸大量資料的工具。Sqoop的原理就是將匯入或者匯出命令翻譯成mapreduce程式來實現。在翻譯出的mapreduce中主要就是對inputfor

資料資料傾斜優化、並行執行、嚴格模式、JVM重用、執行計劃

一、資料傾斜優化 1.合理設定Map數量        1.通常情況下,作業會通過input的目錄產生一個或者多個map任務        主要的決定因素有:input的檔案總個數,input的檔案大小,叢集

資料Sqoop的import、export命令和命令指令碼

一、sqoop匯入命令(import)         在Sqoop中,“匯入”概念指:從非大資料叢集(RDBMS)向大資料叢集(HDFS,HIVE,HBASE)中傳輸資料。 1.在MySql中新建一張表並插入一些資料 create&nb

資料Sqoop常用命令和公用引數

一、常用命令列舉 命令 類 說明 import ImportTool 將資料匯入到叢集 export ExportTool

資料kafka簡介、架構、原理

一、kafka是什麼 在流式計算中,kafka一般用來快取資料,storm通過消費kafka的資料進行計算。 1.Apache kafka是一個開源的訊息系統,由scala寫成,是由Apache軟體基金會開發的一個開源訊息系統專案。 2.kafka最初始由Linkedi

分派調用靜態分派和動態分派

技術 args 不同 什麽 AI over src println override 分派調用 其實分派分為兩種,即動態分派和靜態分派。我們在了解分派的時候,通常把它們與重寫和重載結合到一起。 重載(overload)與靜態分派 我們先看一個題: public clas