流式大數據計算實踐(2)----Hadoop集群和Zookeeper
一、前言
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