1. 程式人生 > >流式大數據計算實踐(2)----Hadoop集群和Zookeeper

流式大數據計算實踐(2)----Hadoop集群和Zookeeper

nts 環境變量 技術 文件創建 con mon orm rm2 sam

一、前言

1、上一文搭建好了Hadoop單機模式,這一文繼續搭建Hadoop集群

二、搭建Hadoop集群

1、根據上文的流程得到兩臺單機模式的機器,並保證兩臺單機模式正常啟動,記得第二臺機器core-site.xml內的fs.defaultFS參數值要改成本機的來啟動,啟動完畢後再改回來

2、清空數據,首先把運行單機模式後生成的數據全部清理掉

rm -rf /work/hadoop/nn/current

rm -rf /work/hadoop/dn/current

hdfs namenode -format

3、啟動集群

(1)storm1作為namenode節點,所以在這臺機上面執行命令啟動namenode

$HADOOP_PREFIX/sbin/hadoop-daemon.sh --script hdfs start namenode

(2)storm2作為datanode節點,所以在這臺機上面執行命令啟動datanode

$HADOOP_PREFIX/sbin/hadoop-daemon.sh --script hdfs start datanode

(3)通過jps命令可以看到對應的節點,然後通過50070的控制臺可以看到storm2的datanode節點

技術分享圖片

三、ZooKeeper

1、Zookeeper是分布式框架經常要用到的應用協調服務,相當於讓分布式內的每個組件同步起來

2、Zookeeper安裝

(1)下載Zookeeper的tar.gz包,並解壓

(2)配置環境變量

vim /etc/profile

#set zookeeper env
export ZOOKEEPER_HOME=/work/soft/zookeeper-3.4.13

source /etc/profile

(3)配置ZooKeeper

①進入到Zookeeper目錄的conf文件夾,可以看到裏面有一個配置文件的模板zoo_sample.cfg,將模板復制一份到zoo.cfg

②然後編輯內容,只需要修改Zookeeper的存放數據的目錄(記得創建對應文件夾)

vim /work/soft/zookeeper-3.4
.13/conf/zoo.cfg dataDir=/work/zookeeper/data

③繼續編輯bin目錄下的zkEnv.sh文件來修改Zookeeper存放日誌的目錄(記得創建對應文件夾)

vim /work/soft/zookeeper-3.4.13/bin/zkEnv.sh

ZOO_LOG_DIR=/work/zookeeper/logs

④進入到剛剛設定的數據目錄,創建一個文件myid,並寫入本臺機器的Zookeeper Id,這個id的取值範圍是1-255,我這裏取得分別是1和2

vim /work/zookeeper/data/myid

1

(4)啟動單機版Zookeeper

①首先啟動Zookeeper

$ZOOKEEPER_HOME/bin/zkServer.sh start

②進入到Zookeeper的控制臺查看數據目錄是否正常

$ZOOKEEPER_HOME/bin/zkCli.sh

ls /

技術分享圖片

(5)啟動集群版Zookeeper

①先停止單機版

$ZOOKEEPER_HOME/bin/zkServer.sh stop

②把剛剛單機版產生的數據刪除,執行刪除目錄時,一定要小心不要輸錯,還有記得再把剛才的myid文件創建出來- -

rm -rf /work/zookeeper/data/*
rm -rf /work/zookeeper/logs/*

③進入Zookeeper的conf目錄,編輯zoo.cfg,在文件末尾配置Zookeeper集群的節點信息

vim /work/soft/zookeeper-3.4.13/conf/zoo.cfg

server.1=storm1:2888:3888
server.2=storm2:2888:3888

④在每臺機器啟動Zookeeper,然後通過jps命令查看進程是否存在

$ZOOKEEPER_HOME/bin/zkServer.sh start

jps

技術分享圖片

⑤使用查看集群狀態命令,在每臺機器執行,可以發現一臺是leader,另一臺是follower,說明集群是OK的

$ZOOKEEPER_HOME/bin/zkServer.sh status

技術分享圖片

技術分享圖片

流式大數據計算實踐(2)----Hadoop集群和Zookeeper