啟動Zookeeper + Hadoop + Hbase + Kafka大資料服務
Hadoop是非常流行的大資料框架,Zookeeper提供了高效的協調服務,Hbase高度依賴zk,是基於HDFS系統,具有可伸縮性,非常適合儲存複雜的資料結構,這三者作為一個系統整體,Kafka是作為快取佇列彌補Hbase寫入效能較差的不足,讓我們去走進它。
1、Zookeeper + Hadoop + Hbase大資料服務的架構圖
如上圖所示,是我根據公司在實際大資料業務中所抽象出來的軟體架構,其中比較清晰的描繪了zk、Hadoop和Hbase中的作用概況。
2、啟動zk、Hadoop和Hbase服務
因為hbase 依賴 hadoop和zookeeper,所以啟動順序:zookeeper-->hadoop-->hbase
2.1、啟動zookeeper
cd到zookeeper的/bin目錄下,後臺啟動zookeeper,指令為:
nohup /application/zookeeper3_1/bin/zkServer.sh start >> ./zookeeper.file 2>&1 & ps -ax | grep zookeerper
如下啟動成功:
2.2 啟動Hadoop
cd到hmaster的Hadoop的/sbin目錄下,啟動Hadoop叢集:
./start-all.sh
ps -ax| grep hadoop
啟動成功後:
可以檢查一下各hadoop節點的hadoop是否都起來了。
2. 3 啟動hbase
cd到hbasean安裝目錄中的/bin目錄下,啟動Hbase
start-hbase.sh
啟動成功後,可以發現副節點有hregion 代表啟動成功:
2.4 啟動Kafka
Kafka叢集作為消費模型,這裡用作高併發資料的快取。cd到Kafka的/bin目錄下,分別後臺啟動Kafka叢集的各節點:
./kafka-server-start.sh -daemon ../config/server.properties
檢查,啟動成功:
3、綜述
在公司的實際業務中,各方面採集到的資料結構非常複雜,使用Hbase儲存是一個非常優秀的方案,通過Hive非常方便的接入查詢,但是Hbase資料寫入效能較差,直接批量寫入很容易導致Hbase掛掉,所以我們選用了Kafka叢集消費模型作為快取,最終呈現的軟體架構就如上圖所示。