【Hadoop】分布式文件系統(tǒng)HDFS

HDFS分布式文件系統(tǒng)(Hadoop Distributed File System)源于Google的GFS論文,發(fā)表于2003年

1.概述及設(shè)計目標(biāo)

如果讓我們設(shè)計一個分布式文件系統(tǒng),咋辦?

針對4個文件:(file1=0.5T.file2=1T.file3=20G.file4=50G)

file1:node1 node2 node3 ;file2:node2 node3 node4;file3:node3 node4 node5;file4:node5 node6 node7

缺點:不管文件多大,都存儲在一個節(jié)點上,在進(jìn)行數(shù)據(jù)處理的時候很難進(jìn)行并行處理,節(jié)點可能就成為網(wǎng)絡(luò)瓶頸,很難進(jìn)行大數(shù)據(jù)的處理,存儲很男均衡,每個節(jié)點的利用率低

按塊存儲------HDFS(128M),文件以多副本方式存儲

設(shè)計目標(biāo):非常巨大的分布式文件系統(tǒng),運(yùn)行在普通廉價的硬件上,易擴(kuò)展、為用戶提供性能不錯的文件存儲服務(wù)。

2.架構(gòu)

1個Master(NameNode/NN)? ? 帶N個Slaves(DataNode/DN)

1個文件被拆分成多個Block:blocksize128M? ? ?-------130M=>2個Block----->? 128M 和 2M

NN:負(fù)責(zé)客戶端的響應(yīng),負(fù)責(zé)元數(shù)據(jù)管理(文件名稱、副本系數(shù)、Block存放DN)

DN:存儲用戶的文件對應(yīng)的數(shù)據(jù)塊(Block),定期向NN發(fā)送心跳信息,匯報本身及其所有的block信息,健康狀況

A typical deployment has a dedicated machine that runs only the NameNode software. Each of the other machines in the cluster runs one instance of the DataNode software. The architecture does not preclude running multiple DataNodes on the same machine but in a real deployment that is rarely the case.

NameNode + N個DataNode

建議:NameNode和DataNode分布在不同節(jié)點上

replication factor :副本因子

All blocks in a file except the last block are the same size

3.HDFS副本存放策略:存放于不同的機(jī)架,至少2個

4.Hadoop偽分布式安裝:

1)jdk安裝:

創(chuàng)建文件夾mkdir /usr/java

解壓tar -zxvf jdk-7u55-linux-i586.tar.gz -C /usr/java/

添加到系統(tǒng)環(huán)境變量vim /etc/profile

export JAVA_HOME=/usr/java/jdk1.7.0_55

export PATH=$PATH:$JAVA_HOME/bin

使得環(huán)境變量生效source /etc/profile

驗證Java是否配置成功Java -v

2)配置ssh免登陸

sudo yum install ssh

ssh-keygen -t rsa

cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

3)下載并加壓hadoop

http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.7.0.tar.gz

解壓:tar -zxvf?hadoop-2.6.0-cdh5.7.0.tar.gz -C ~/itcast

4)配置文件修改($HADOOP_HOME/etc/hadoop)

hadoop-env.sh

? ? ? export JAVA_HOME=/usr/java/jdk1.7.0_65

core-site.xml

? ? ? ? ? <property>

? ? ? ? ? ? ? ?<name>fs.defaultFS</name>

? ? ? ? ? ? ? ? <value>hdfs://itcast01:9000hadoop.tmp.dir/itcast/hadoop-2.6.0-cdh5.7.0/tmp</value>

? ? ? ? ? </property>

hdfs-site.xml

? ? <property>

? ? ? ? ? <name>dfs.replication1</name>

? ? </property>

5)啟動hdfs

格式化文件系統(tǒng)(僅第一次使用,不需要重復(fù)執(zhí)行)

hadoop namenode -format

啟動HDFS -------sbin/start-dfs.sh

驗證是否啟動成功使用? jps? 或者使用瀏覽器方式驗證是否成功

?Jps

?NameNode

SecondaryNameNode

?DataNode

6)停止HDFS

sbin/stop-dfs.sh

5.HDFS環(huán)境shell命令的使用

ls? ?get? ?mkdir? ?rm? put? cat? ?get? ?rm

hadoop fs-ls /查看? ?hadoop fs-mkdir /test創(chuàng)建文件夾? ?hadoop fs-mkdir -p /test/a/b遞歸創(chuàng)建文件夾.....

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 一、系統(tǒng)參數(shù)配置優(yōu)化 1、系統(tǒng)內(nèi)核參數(shù)優(yōu)化配置 修改文件/etc/sysctl.conf,添加如下配置,然后執(zhí)行s...
    張偉科閱讀 3,783評論 0 14
  • 各版本hadoop文檔地址 Hadoop的框架最核心的設(shè)計就是:HDFS(Hadoop Distributed F...
    MicoCube閱讀 1,033評論 0 2
  • 首先,我們在使用前先看看HDFS是什麼?這將有助于我們是以后的運(yùn)維使用和故障排除思路的獲得。 HDFS采用mast...
    W_Bousquet閱讀 4,229評論 0 2
  • 深深重重的無力感襲來,想要做些什么,但是發(fā)現(xiàn)自己什么都做不了,除了在心里默默的加油打氣,竟然連出謀劃策的能力都沒有...
    王曉懶閱讀 176評論 0 0
  • /** * 創(chuàng)建新View,被LayoutManager所調(diào)用 */@OverridepublicViewHold...
    尚妝楊逍閱讀 816評論 0 0