新聞網大數據實時分析可視化系統項目——3、Hadoop2.X分布式集群部署
(一)hadoop2.x版本下載及安裝
Hadoop 版本選擇目前主要基於三個廠商(國外)如下所示:
1.基於Apache廠商的最原始的hadoop版本, 所有發行版均基於這個版本進行改進。
2.基於HortonWorks廠商的開源免費的hdp版本。
3.基於Cloudera廠商的cdh版本,Cloudera有免費版和企業版, 企業版只有試用期。不過cdh大部分功能都是免費的。
(二)hadoop2.x分布式集群配置
1.集群資源規劃設計
2.hadoop2.x分布式集群配置
1)hadoop2.x分布式集群配置-HDFS
安裝hdfs需要修改4個配置文件:hadoop-env.sh、core-site.xml、hdfs-site.xml和slaves
2)hadoop2.x分布式集群配置-YARN
安裝yarn需要修改4個配置文件:yarn-env.sh、mapred-env.sh、yarn-site.xml和mapred-site.xml
(三)分發到其他各個機器節點
hadoop相關配置在第一個節點配置好之後,可以通過腳本命令分發給另外兩個節點即可,具體操作如下所示。
#將安裝包分發給第二個節點
scp -r hadoop-2.5.0 [email protected]:/opt/modules/
#將安裝包分發給第三個節點
scp -r hadoop-2.5.0 [email protected]:/opt/modules/
(四)HDFS啟動集群運行測試
hdfs相關配置好之後,可以啟動hdfs集群。
1.格式化NameNode
通過命令:bin/hdfs namenode -format 格式化NameNode。
2.啟動各個節點機器服務
1)啟動NameNode命令:sbin/hadoop-daemon.sh start namenode
2) 啟動DataNode命令:sbin/hadoop-daemon.sh start datanode
3)啟動ResourceManager命令:sbin/yarn-daemon.sh start resourcemanager
4)啟動NodeManager命令:sbin/yarn-daemon.sh start resourcemanager
5)啟動log日誌命令:sbin/mr-jobhistory-daemon.sh start historyserver
(五)YARN集群運行MapReduce程序測試
前面hdfs和yarn都啟動起來之後,可以通過運行WordCount程序檢測一下集群是否能run起來。
集群自帶的WordCount程序執行命令:bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount input output
(六)ssh無秘鑰登錄
在集群搭建的過程中,需要不同節點分發文件,那麽節點間分發文件每次都需要輸入密碼,比較麻煩。另外在hadoop 集群啟動過程中,也需要使用批量腳本統一啟動各個節點服務,此時也需要節點之間實現無秘鑰登錄。具體操作步驟如下所示:
1.主節點上創建 .ssh 目錄,然後生成公鑰文件id_rsa.pub和私鑰文件id_rsa
mkdir .ssh
ssh-keygen -t rsa
2.拷貝公鑰到各個機器
ssh-copy-id bigdata-pro1.kfk.com
ssh-copy-id bigdata-pro2.kfk.com
ssh-copy-id bigdata-pro3.kfk.com
3.測試ssh連接
ssh bigdata-pro1.kfk.com
ssh bigdata-pro2.kfk.com
ssh bigdata-pro3.kfk.com
4.測試hdfs
ssh無秘鑰登錄做好之後,可以在主節點通過一鍵啟動命令,啟動hdfs各個節點的服務,具體操作如下所示:
sbin/start-dfs.sh
如果yarn和hdfs主節點共用,配置一個節點即可。否則,yarn也需要單獨配置ssh無秘鑰登錄。
(七)配置集群內機器時間同步(使用Linux ntp進行)
選擇一臺機器作為時間服務器,比如bigdata-pro1.kfk.com節點。
1.查看ntp服務是否已經存在
sudo rpm -qa|grep ntp
2.ntp服務相關操作
1)查看ntp狀態
sudo service ntpd status
2)啟動ntp
sudo service ntpd start
3)關閉ntp
sudo service ntpd stop
3.設置ntp隨機器啟動
sudo chkconfig ntpd on
4.修改ntp配置文件
vi /etc/ntp.conf
#釋放註釋並將ip地址修改為
restrict 192.168.31.151 mask 255.255.255.0 nomodify notrap
#註釋掉以下命令行
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
#釋放以下命令行
server 127.127.1.0 #local clock
fudge 127.127.1.0 stratum 10
重啟ntp服務
sudo service ntpd restart
5.修改服務器時間
#設置當前日期
sudo date -s 2017-06-16
#設置當前時間
sudo date -s 22:06:00
6.其他節點手動同步主服務器時間
#查看ntp位置
which ntpdate
/usr/sbin/ntpdate
1)手動同步bigdata-pro2.kfk.com節點時間
sudo /usr/sbin/ntpdate bigdata-pro2.kfk.com
2)手動同步bigdata-pro3.kfk.com節點時間
sudo /usr/sbin/ntpdate bigdata-pro3.kfk.com
7.其他節點定時同步主服務器時間
bigdata-pro2.kfk.com和bigdata-pro3.kfk.com節點分別切換到root用戶, 通過crontab -e 命令,每10分鐘同步一次主服務器節點的時間。
crontab -e
#定時,每隔10分鐘同步bigdata-pro1.kfk.com服務器時間
0-59/10 * * * * /usr/sbin/ntpdate bigdata-pro1.kfk.com
新聞網大數據實時分析可視化系統項目——3、Hadoop2.X分布式集群部署