您好,登錄后才能下訂單哦!
hadoop2.xx 集群搭建:http://bigtrash.blog.51cto.com/8966424/1830423
1.HDFS(Hadoop Distributed File System):hadoop分布式文件系統(tǒng),由管理文件系統(tǒng)元數(shù)據(jù)(metadata)的NameNode和存儲(chǔ)實(shí)際數(shù)據(jù)的DataNode組成。
通過(guò)分布式的存儲(chǔ)機(jī)制支持線性增長(zhǎng)的海量存儲(chǔ)能力
數(shù)據(jù)自動(dòng)冗余,無(wú)須通過(guò)RAID進(jìn)行備份
一次寫入,多次讀,不能修改,簡(jiǎn)單一致,1.xx版不支持append功能
按照“數(shù)據(jù)就近”原則分配節(jié)點(diǎn)執(zhí)行
2.NameNode:管理hdfs的命名空間
保存metadata信息:
文件owership與permissions
文件包含那些Block
Block保存在哪個(gè)DataNode
NameNode的metadata信息存儲(chǔ)到磁盤中的fsp_w_picpath,在hdfs啟動(dòng)后加載到內(nèi)存;
內(nèi)存中NameNode操作信息會(huì)保存到磁盤中的edits日志中。
NameNode啟動(dòng)時(shí)的安全模式階段:
1)不產(chǎn)生數(shù)據(jù)寫
2)收集DataNode的報(bào)告,當(dāng)數(shù)據(jù)塊達(dá)到最小副本數(shù)以上,則視為安全;當(dāng)安全塊達(dá)到一定比例后,過(guò)若干時(shí)間退出安全模式
3)針對(duì)副本數(shù)不足的數(shù)據(jù)塊,自動(dòng)復(fù)制使其達(dá)到最小副本數(shù)
3.DataNode:真正存儲(chǔ)數(shù)據(jù)的地方
以Block形式存儲(chǔ),每個(gè)塊Block預(yù)設(shè)128M,比目前大多數(shù)文件系統(tǒng)的block塊大,但是物理存儲(chǔ)上不會(huì)占用這么多的空間
每個(gè)區(qū)塊至少分到三臺(tái)(默認(rèn))DataNode上,其副本數(shù)可以調(diào)整。其副本機(jī)制提高可靠度和讀取吞吐量
啟動(dòng)DataNode線程時(shí),遍歷本地文件系統(tǒng),產(chǎn)生一份hdfs數(shù)據(jù)塊和本地文件的對(duì)應(yīng)關(guān)系列表,并匯報(bào)給NameNode。
4.Secondary NameNode:
當(dāng)NameNode啟動(dòng)時(shí),需要合并硬盤上的fsp_w_picpath(HDFS的最新?tīng)顟B(tài))和edits(fsp_w_picpath創(chuàng)建后的),需要消耗大量的啟動(dòng)時(shí)間。這里的Secondary NameNode定時(shí)去下載namenode的fsp_w_picpath文件和edits文件進(jìn)行合并,同時(shí)namenode上啟用新的edits,然后再將合并后的fsp_w_picpath上傳覆蓋namenode,并開(kāi)啟一個(gè)新的edits日志,減少了hdfs啟動(dòng)啟動(dòng)時(shí)間。
5.Checkpoint node:可能是為了避免名字上的混淆,1.0.4 版本后建議使用CheckPoint Node去代替Secondary NameNode,作用及配置基本一樣。
使用bin/hdfs namenode -checkpoint去啟動(dòng)
啟動(dòng)NameNode時(shí)-importCheckpoint,可以從checkpioint中導(dǎo)入namenode
常用配置文件:
dfs.namenode.checkpoint.period #edits觸發(fā)一次合并的時(shí)間
fs.checkpoint.size #edits觸發(fā)一次合并的大小臨界值
dfs.namenode.checkpoint.dir #指定secondary namenode的保存路勁
dfs.namenode.checkpoint.edits.dir #指定secondary namenode的edits保存路徑
6.Backup Node:namenode的完全備份。除了提供Checkpoint功能,還復(fù)制master內(nèi)存中的Namespace到自己的內(nèi)存中。Backup Node不僅接收NameNode上的edits保存到磁盤,還應(yīng)用edits到自己的Namespace內(nèi)存復(fù)本,建立了Namespace的完全備份。
目前hdfs只支持一個(gè)backup node,使用了backup之后就不能使用checkpoing了
dfs.backup.address #backup node的位置
dfs.backup.http.address #backup node web界面地址
dfs.backup.address配置的節(jié)點(diǎn)上,運(yùn)行bin/hdfs namenode -checkpoint
7. Block三副本放置策略:
副本1:client的節(jié)點(diǎn)上
副本2:不同機(jī)架的節(jié)點(diǎn)上
副本3:與副本2同一機(jī)架的另一個(gè)節(jié)點(diǎn)上
8.DataNode損壞處理機(jī)制:
1.從DataNode中讀取Block的時(shí)候,它會(huì)計(jì)算checksum
2.計(jì)算后的checksum與創(chuàng)建時(shí)值不一樣,說(shuō)明該block已經(jīng)損壞
3.client會(huì)讀取其他DataNode上的block,NameNode標(biāo)記該塊已經(jīng)損壞,然后復(fù)制block達(dá)到預(yù)設(shè)的副本數(shù)(通常在文件創(chuàng)建后三周(默認(rèn))驗(yàn)證其checksum)
9.HDFS的訪問(wèn)方式:
HDFS SHELL 命令
HDFS JAVA API
HDFS REST API
HDFS FUSE
HDFS lib hdfs:C/C++訪問(wèn)接口
thrift
。。。
10.Hadoop與HDFS的交互類shell:hadoop fs –help命令
hadoop fs –ls PATH:查看指定目錄下內(nèi)容
hadoop fs –cat PATH/FILE:查看FILE
hadoop fs –put LOCAL_PATH/FILE HADOOP_PATH:將本地文件存儲(chǔ)至hadoop
hadoop fs –put LOCAL_PATH HADOOP_PATH:將本地文件夾存儲(chǔ)至hadoop
hadoop fs –rm PATH/FILE:刪除FILE
hadoop fs –rmr PATH:刪除PATH下所有文件
hadoop fs –mkdir PATH: 新建目錄
hadoop fs -touchz PATH/FILE:創(chuàng)建一個(gè)文件
hadoop fs –mv PATH/OLD_FILE PATH/NEW_FILE: 文件重命名
......
11.hdfs管理
hadoop-deamon.sh start namenode #啟動(dòng)namenode
hadoop-deamon.sh start datanode #啟動(dòng)datanode
hdfs dfsadmin -help:獲取一些hdfs管理的操作
-report:報(bào)告HDFS的基本統(tǒng)計(jì)數(shù)據(jù)
-safemode:安全模式
-finalizeUpgrade:移除集群最后一次升級(jí)前的備份
-refreshNodes:重新讀取hosts和exclude文件(dfs.hosts.exclude選項(xiàng)中指定),NameNode重新識(shí)別節(jié)點(diǎn)的改動(dòng)
-printTopology:顯示集群的拓?fù)?/span>
-upgradeProgress status/details/force:顯示升級(jí)狀態(tài)/升級(jí)狀態(tài)的細(xì)節(jié)/強(qiáng)制升級(jí)操作
hadoop fsck: 文件管理
<path> 檢查這個(gè)目錄中的文件是否完整
-move 破損的文件移至/lost+found目錄
-delete 刪除破損的文件
-openforwrite 打印正在打開(kāi)寫操作的文件
-files 打印正在check的文件名
-blocks 打印block報(bào)告 (需要和-files參數(shù)一起使用)
-locations 打印每個(gè)block的位置信息(需要和-files參數(shù)一起使用)
-racks 打印位置信息的網(wǎng)絡(luò)拓?fù)鋱D (需要和-files參數(shù)一起使用)
start-balancer.sh -threshold:數(shù)據(jù)塊重新分布
可以通過(guò)Web服務(wù)查看集群中NameNode和DataNode的狀態(tài)。
http://master:50070/ :顯示集群當(dāng)前基本狀態(tài)
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。