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 文件 文件 //拷貝文件
注:以上命令可以通過添加環境變量來簡化
