1. 程式人生 > >大資料從0到一(HDFS)

大資料從0到一(HDFS)

什麼是HDFS

Hadoop 實現了一個分散式檔案系統 (Hadoop Distributed File System) 
源於Google 的GFS 論文
HDFS DFS的克隆版

設計目標

1. 非常巨大的分散式檔案系統
2. 執行在普通廉價的硬體上
3. 易擴充套件. 為使用者提供效能不錯的檔案儲存服務

HDFS 架構 官方介紹

1.NameNode
HDFS具有主/從體系結構。一個HDFS叢集包含一個NameNode,一個管理檔案系統名稱空間的主伺服器,並管理客戶端對檔案的訪問。
NameNode執行檔案系統名稱空間操作,如開啟,關閉和重新命名檔案和目錄。
2.DataNodes
此外,還有許多DataNode,通常是群集中的每個節點一個DataNode,用於管理連線到它們所執行的節點的儲存。
HDFS公開檔案系統名稱空間,並允許使用者資料儲存在檔案中。在內部,檔案被分成一個或多個塊,這些塊被儲存在一組DataNode中。


檔案副本機制

副本存放策略
與客戶端 同一機架 儲存 —–> 其他機架 儲存多份

HDFS 環境的搭建

使用版本 hadoop-2.6.0-cdh5.7.0
下載地址 : http://archive-primary.cloudera.com/cdh5/cdh/5/
搜尋 hadoop-2.6 cdh
前提軟體儲備
1. jdk的安裝 tar -zxvf jdk-*.tar.gz -C ~/app
2. 解壓 hadoop 壓縮包
3. hadoop配置檔案的修改(hadoop_home/etc/hadoop)

    hadoop-env.sh
        export JAVA_HOME=$JAVA_HOME (這個寫本地的絕對路徑)

    core-site.xml
        <property
>
<name>fs.defaultFS</name> <value>hdfs://localhost:8020</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/tmp</value> </property> hdfs-site.xml <property
>
<name>dfs.replication</name> <value>1</value> </property> slaves
  1. 啟動HDFS 格式化檔案系統 hdfs namenode -format
    啟動hdfs: sbin/start-dfs.sh
    驗證是否啟動成功:
    DataNode
    NameNode
    Bootstrap
    Jps
    SecondaryNameNode
    瀏覽器訪問方式: http://ip:50070
  2. 停止hdfs
    sbin/stop-dfs.sh