Hadoop偽分布式HDFS環境搭建和使用


1.環境要求

Java版本不低於Hadoop要求,並配置環境變量

2.安裝

1)在網站hadoop.apache.org下載穩定版本的Hadoop包

2)解壓壓縮包

檢查Hadoop是否可用

hadoop/bin/hadoop version

3)修改配置文件

Hadoop配置以.xml文件形式存在

修改文件hadoop/etc/hadoop/core-site.xml:

<configuration>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/home/users/hadoop/hadoop/tmp</value>
        </property>
        <property>
                <name>fs.default.name</name>
                <value>hdfs://localhost:9000</value>
        </property>
</configuration>

修改文件hadoop/etc/hadoop/hdfs-site.xml:

<configuration>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>/home/users/hadoop/hadoop/data</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>/home/users/hadoop/hadoop/name</value>
        </property>
        <property>
                <name>dfs.http.address</name>
                <value>0.0.0.0:8100</value>
        </property>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
</configuration>

4)namenode格式化

hadoop/bin/hdfs namenode -format

格式化成功如上圖所示。

5)開啟Namenode和Datanode

hadoop/sbin/start-dfs.sh

執行成功后,輸入如下命令查看開啟狀態

jps

6)web頁面查看hdfs服務狀況

http://hostname:8100     //8100對應hdfs-site.xml配置文件中的dfs.http.address端口號

7)安裝過程中遇到的問題

<1>namenode格式化的時候遇到JAVA_HOME環境變量問題

解決辦法:hadoop/etc/hadoop/hadoop-env.xml文件中有變量的設置,但是不能滿足要求,還要修改一下hadoop/libexec/hadoop-config.sh文件中大概160行,新增:

export JAVA_HOME=/home/tools/tools/java/jdk1.6.0_20

<2>datanode無法啟動

出現該問題的原因:在第一次格式化dfs后,啟動並使用了hadoop,后來又重新執行了格式化命令(hdfs namenode -format),這時namenode的clusterID會重新生成,而datanode的clusterID 保持不變。

解決辦法:將hadoop/name/current下的VERSION中的clusterID復制到hadoop/data/current下的VERSION中,覆蓋掉原來的clusterID,讓兩個保持一致然后重啟,啟動后執行jps,查看進程

 

3.HDFS的使用

HDFS的命令執行格式:hadoop fs -cmd,其中cmd是類shell的命令

hadoop fs -ls /        //查看hdfs根目錄的文件樹
hadoop fs -mkdir /test        //創建test文件夾
hadoop fs -cp 文件 文件        //拷貝文件

 

 

注:以上命令可以通過添加環境變量來簡化


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM