hadoop2.xx 集群搭建:http://bigtrash.blog.51cto.com/8966424/1830423
成都創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)網(wǎng)站建設與網(wǎng)站營銷,提供網(wǎng)站設計、成都做網(wǎng)站、網(wǎng)站開發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營銷、小程序開發(fā)、公眾號商城、等建站開發(fā),成都創(chuàng)新互聯(lián)網(wǎng)站建設策劃專家,為不同類型的客戶提供良好的互聯(lián)網(wǎng)應用定制解決方案,幫助客戶在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢。1.HDFS(Hadoop Distributed File System):hadoop分布式文件系統(tǒng),由管理文件系統(tǒng)元數(shù)據(jù)(metadata)的NameNode和存儲實際數(shù)據(jù)的DataNode組成。
通過分布式的存儲機制支持線性增長的海量存儲能力
數(shù)據(jù)自動冗余,無須通過RAID進行備份
一次寫入,多次讀,不能修改,簡單一致,1.xx版不支持append功能
按照“數(shù)據(jù)就近”原則分配節(jié)點執(zhí)行
2.NameNode:管理hdfs的命名空間
保存metadata信息:
文件owership與permissions
文件包含那些Block
Block保存在哪個DataNode
NameNode的metadata信息存儲到磁盤中的fsp_w_picpath,在hdfs啟動后加載到內存;
內存中NameNode操作信息會保存到磁盤中的edits日志中。
NameNode啟動時的安全模式階段:
1)不產生數(shù)據(jù)寫
2)收集DataNode的報告,當數(shù)據(jù)塊達到最小副本數(shù)以上,則視為安全;當安全塊達到一定比例后,過若干時間退出安全模式
3)針對副本數(shù)不足的數(shù)據(jù)塊,自動復制使其達到最小副本數(shù)
3.DataNode:真正存儲數(shù)據(jù)的地方
以Block形式存儲,每個塊Block預設128M,比目前大多數(shù)文件系統(tǒng)的block塊大,但是物理存儲上不會占用這么多的空間
每個區(qū)塊至少分到三臺(默認)DataNode上,其副本數(shù)可以調整。其副本機制提高可靠度和讀取吞吐量
啟動DataNode線程時,遍歷本地文件系統(tǒng),產生一份hdfs數(shù)據(jù)塊和本地文件的對應關系列表,并匯報給NameNode。
4.Secondary NameNode:
當NameNode啟動時,需要合并硬盤上的fsp_w_picpath(HDFS的最新狀態(tài))和edits(fsp_w_picpath創(chuàng)建后的),需要消耗大量的啟動時間。這里的Secondary NameNode定時去下載namenode的fsp_w_picpath文件和edits文件進行合并,同時namenode上啟用新的edits,然后再將合并后的fsp_w_picpath上傳覆蓋namenode,并開啟一個新的edits日志,減少了hdfs啟動啟動時間。
5.Checkpoint node:可能是為了避免名字上的混淆,1.0.4 版本后建議使用CheckPoint Node去代替Secondary NameNode,作用及配置基本一樣。
使用bin/hdfs namenode -checkpoint去啟動
啟動NameNode時-importCheckpoint,可以從checkpioint中導入namenode
常用配置文件:
dfs.namenode.checkpoint.period #edits觸發(fā)一次合并的時間
fs.checkpoint.size #edits觸發(fā)一次合并的大小臨界值
dfs.namenode.checkpoint.dir #指定secondary namenode的保存路勁
dfs.namenode.checkpoint.edits.dir #指定secondary namenode的edits保存路徑
6.Backup Node:namenode的完全備份。除了提供Checkpoint功能,還復制master內存中的Namespace到自己的內存中。Backup Node不僅接收NameNode上的edits保存到磁盤,還應用edits到自己的Namespace內存復本,建立了Namespace的完全備份。
目前hdfs只支持一個backup node,使用了backup之后就不能使用checkpoing了
dfs.backup.address #backup node的位置
dfs.backup.http.address #backup node web界面地址
dfs.backup.address配置的節(jié)點上,運行bin/hdfs namenode -checkpoint
7. Block三副本放置策略:
副本1:client的節(jié)點上
副本2:不同機架的節(jié)點上
副本3:與副本2同一機架的另一個節(jié)點上
8.DataNode損壞處理機制:
1.從DataNode中讀取Block的時候,它會計算checksum
2.計算后的checksum與創(chuàng)建時值不一樣,說明該block已經損壞
3.client會讀取其他DataNode上的block,NameNode標記該塊已經損壞,然后復制block達到預設的副本數(shù)(通常在文件創(chuàng)建后三周(默認)驗證其checksum)
9.HDFS的訪問方式:
HDFS SHELL 命令
HDFS JAVA API
HDFS REST API
HDFS FUSE
HDFS lib hdfs:C/C++訪問接口
thrift
。。。
10.Hadoop與HDFS的交互類shell:hadoop fs –help命令
hadoop fs –ls PATH:查看指定目錄下內容
hadoop fs –cat PATH/FILE:查看FILE
hadoop fs –put LOCAL_PATH/FILE HADOOP_PATH:將本地文件存儲至hadoop
hadoop fs –put LOCAL_PATH HADOOP_PATH:將本地文件夾存儲至hadoop
hadoop fs –rm PATH/FILE:刪除FILE
hadoop fs –rmr PATH:刪除PATH下所有文件
hadoop fs –mkdir PATH: 新建目錄
hadoop fs -touchz PATH/FILE:創(chuàng)建一個文件
hadoop fs –mv PATH/OLD_FILE PATH/NEW_FILE: 文件重命名
......
11.hdfs管理
hadoop-deamon.sh start namenode #啟動namenode
hadoop-deamon.sh start datanode #啟動datanode
hdfs dfsadmin -help:獲取一些hdfs管理的操作
-report:報告HDFS的基本統(tǒng)計數(shù)據(jù)
-safemode:安全模式
-finalizeUpgrade:移除集群最后一次升級前的備份
-refreshNodes:重新讀取hosts和exclude文件(dfs.hosts.exclude選項中指定),NameNode重新識別節(jié)點的改動
-printTopology:顯示集群的拓撲
-upgradeProgress status/details/force:顯示升級狀態(tài)/升級狀態(tài)的細節(jié)/強制升級操作
hadoop fsck: 文件管理
-move 破損的文件移至/lost+found目錄
-delete 刪除破損的文件
-openforwrite 打印正在打開寫操作的文件
-files 打印正在check的文件名
-blocks 打印block報告 (需要和-files參數(shù)一起使用)
-locations 打印每個block的位置信息(需要和-files參數(shù)一起使用)
-racks 打印位置信息的網(wǎng)絡拓撲圖 (需要和-files參數(shù)一起使用)
start-balancer.sh -threshold:數(shù)據(jù)塊重新分布
可以通過Web服務查看集群中NameNode和DataNode的狀態(tài)。
http://master:50070/ :顯示集群當前基本狀態(tài)
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。