大資料(三十):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