初識Hadoop(1)

1.Hadoop前世此生node

  1)搜索引擎:網絡爬蟲+索引服務器(生成索引+檢索)
  2)Doung Cutting寫了lucene包(生成索引+檢索)
  3)Nutch:網絡爬蟲+索引服務器(lucene封裝)
linux


  4)2002年開源GFS論文,Doung Cutting寫了HDFS模塊
  5)2004年穀歌開源了MapReduce論文,Doung Cutting寫了MapReduce模塊
  6)Nutch0.9版本後將HDFS和MapReduce模塊拆分出來,造成了一個大數據處理框架Hadoopweb

2.Hadoop概述
  1)四大模塊
    common、hdfs、mapreduce、yarn
  2)hafs(hadoop distributed file system):分佈式文件系統
    a.文件系統:文件管理+block塊管理
  單機文件系統:
  windows:FAT1六、FAT3二、NTFS
  linux:ext2/3/四、VFS
  b.分佈式文件系統
    多個服務器存儲文件
  c.三大組件
<1>NameNode:
I.元數據:文件名、目錄名、屬性(生成時間、權限、副本)
II.文件名與block列表映射關係
III.block與DataNode列表映射關係
<2>DateNode:
block快數據、校驗和編碼
<3>SeondaryNameNode:
分擔NameNode壓力,合併編輯日誌edis和鏡像文件fsimage(由於合併操做須要佔很大資源,影響客戶端請求)
合併後將最終的鏡像文件fsimage返回給NameNode進行處理
3)yarn:資源調度和任務管理
a.四大組件
ResourceManager(RM)、NodeManager(NM)、ApplicationMaster(AM)、Container
b.執行流程
<1>client鏈接RM提交做業,RM給client一個JobId(注:ApplicationMaster(AM)和ResourceScheduler)
<2>RM中的ApplicationMaster鏈接一個NM,讓NM建立一個AM處理客戶端請求
<3>AM鏈接RM中ApplicationMaster申請NodeManager
<4>AM去ResourceScheduler給client的做業申請資源(cpu、內存、磁盤、網絡)
<5>AM鏈接NM,發送client job做業程序和申請資源(cpu、內存、磁盤、網絡)
<6>NM啓動Container進程運行job的不一樣任務
<7>Container進程運行狀態實時反饋給AM
<8>AM反饋任務狀態信息給RM中的ApplicationMaster
<9>client端能夠鏈接RM或AM查詢job的執行狀況

注:NM啓動後去RM上進行註冊,會不斷髮送心跳,說明其存活狀態
4)MapReduce:分而治之
a.概述
<1>將分佈式計算做業拆分爲兩個階段:Mapper和Reducer (Map階段並行處理輸入數據 Reduce階段對Map結果進行彙總)
<2>Shuffer流程:鏈接Mapper和Reducer兩個階段
I.shuffle寫入流程
Map Task任務將輸出數據寫到本地磁盤上
II.shuffle讀取流程
Reduce Task任務從每一個Map Task磁盤上遠程讀取數據信息
<3>使用場景:僅適合離線批處理,具備很好的容錯性和擴展性,適合簡單的批處理任務
<4>缺點:速度慢、系統開銷大、各個task任務須要不斷申請釋放資源,過多使用磁盤致使效率低下等
b.執行流程
<1>輸入文件切片
<2>mapper進程處理切片
<3>shuffle流程
<4>reducer進程聚合數據
<5>輸出文件
3.Hadoop生態系統
1)Hadoop:分佈式儲存、分佈式計算、資源調度與任務管理
hdfs、mapreduce、yarn、common
2)Lucene:索引檢索工具包;Solr:索引服務器
3)Nutch:開源的搜索引擎
4)Hbase/Cassandra:基於谷歌的BigTable開源的列式存儲的非關係行數據庫
5)Hive:基於SQL的分佈式計算引擎,同時是一個鏈接數據倉庫的工具
pig:基於Pig Latin腳本的計算引擎
6)Thrift/Avro:RPC框架,用於網絡通訊
7)BigTop:項目測試、打包、部署
8)Oozie/Azakban:大數據的工做流框架(任務調度)
9)Flume/Chukwa/Scribe:數據收集框架
10)Whirr:部署爲雲服務的類庫
11)sqoop:數據遷移工具
12)Zookeeper:分佈式協調服務框架
13)HAMA:圖計算框架
14)Mahout:機器學習框架
4.Hadoop環境搭建 下載:http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.14.0.tar.gz
1)三個環境
單機、僞分佈式、分佈式
2)三個分支
apache版本(Apache基金會)
cdh版本(cloudera公司)
hdp版本(HortOnWorks公司)
3)部署環境
服務器:VMWare虛擬機、Centos6.9操做系統
客戶端:xshell
4)配置
a.設置靜態IP
I.圖形畫界面

II.命令行
vim /etc/sysconfig/network-scripts/ifcfg-eth0
service network restart
b.設置主機名
I.暫時性
服務器重啓後就會失效
hostname <主機名>
II.永久性
vim /etc/sysconfig/network
服務器重啓後依然有效
c.主機名與IP映射關係
vim /etc/hosts
IP地址 <主機名>
注:本地DNS
5)hadoop安裝配置
a.單機(僅僅適用於單機運行分佈式計算做業)
直接執行mapreduce-examples.jar案例
b.爲分佈式(一個服務器上運行多個進程)
I.HDFS
<1>配置core-site.xml
fs.defaultFS
<2>配置hdfs-site.xml
dfs.replication
<3>格式化NameNode
做用:清空NameNode目錄下的全部數據,生成目錄結構,初始化一些信息到文件中
<4>啓動HDFS各個過程
sbin/start-dfs.sh

sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
sbin/hadoop-daemon.sh start secondarynamenode
<5>瀏覽器訪問
http://<主機名>:50070
注:http協議端口號:50070;RPC tcp協議端口號:8020
II.YARN
<1>配置mapred-site.xml
<2>配置yarn-site.xml
<3>啓動YARN進程:ResourceManager(RM)、NodeManager(NM)
sbin/start-yarn.sh

sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager
<4>瀏覽器訪問
http://<主機名>:8088
注:http協議端口號:8088;RPC tcp協議端口號:8032
c.分佈式環境(多個服務器運行Hadoop各個進程)
參考《分佈式環境搭建》
5.初始MapReduce
1)啓動Hadoop服務器
sbin/start-all.sh
2)瀏覽器訪問
http://node01:8088
3)各個指標
a.Cluster Metrics
集羣指標:app(提交、排隊、運行、完成)、Container個數、資源(內存、cpu)
b.Cluster Node Metrics
機器狀態:active、decommissioning、decommissioned、lost、unhealthy、reboot
c.dr.who用戶指標
dr.who用戶:經過瀏覽器訪問默認使用dr.who用戶
配置:hadoop.http.staticuser.user:dr.who
d.做業指標
4)聚合日誌
a.含義:
I.分佈式計算做業放到NodeManager運行,日誌信息放在NodeManager本地目錄
yarn.nodemanager.log-dirs:${yarn.log.dir}/userlogs
II.經過配置將本地日誌放到HDFS服務器上,即聚合日誌的概念
b.配置yarn-site.xml
<!--啓用日誌聚合功能-->
<property>
<name>yarn.log-aggregation-enble</name>
<value>true</value>
</property>
<!--存放多長時間-->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>3600</value>
</property>
5)歷史服務器
a.配置項
<!--RPC訪問地址-->
mapreduce.jobhistory.address
<!--HTTP訪問地址-->
mapreduce.jobhistory.webapp.address
b.啓動/訪問/中止
sbin/mr-jobhistory-daemon.sh start historyserver
yarn主界面跳轉:http://<主機名>:19888
sbin/mr-jobhistory-daemon.sh stop historyserver
shell

 

 

 

 

 

 

 

 

 

 


---恢復內容結束---數據庫

相關文章
相關標籤/搜索