在Oracle Enterprise Linux 6.2上安裝Hadoop 1.0.3(Single-Node)


Step 1. Download and install Oracle JDK 1.6 from Oracle Java SE site. I used jdk-6u30-linux-x64-rpm.bin. I do the following commands in my Linux box.
Setp 1. 下載JAVA(JDK)並安裝
  我下載的版本:jdk-7u5-linux-x64.rpm

  # rpm -ivh jdk-7u5-linux-x64.rpm

Step 2. 下載Hadoop 1.0.3並安裝
  我下載的版本:hadoop-1.0.3-1.x86_64.rpm

  # rpm -ivh hadoop-1.0.3-1.x86_64.rpm

Step 3. 執行Script來設定single node

  # hadoop-setup-single-node.sh

  全部都回答「yes」,完成後會自動啟動including hadoop-namenode、
  hadoop-datanode、hadoop-jobtracker、hadoop-tasktracker。

Step 4. Fix a minor bug.
  一開始安裝完測試卻失敗,查詢log(/var/log/hadoop/mapred/)之後,發現有錯誤的訊息。
  訊息是說權限不足,無法新建/mapred/mapredsystem

  WARN org.apache.hadoop.mapred.JobTracker: Failed to operate on mapred.system.dir
    (hdfs://localhost:8020/mapred/mapredsystem) because of permissions.

  檢查:
    # hadoop fs -ls /

  出現的結果只有/tmp、/user,果然沒有/mapred,最後在網路上找到解決的方法

  # sudo -u hdfs hadoop fs -mkdir /mapred
  # sudo -u hdfs hadoop fs -chown mapred /mapred

  重新啟動JobTracker.

  # service hadoop-jobtracker restart

Step 4. Test Hadoop

  # hadoop-validate-setup.sh --user=hdfs

  會出現一些執行的過程及結果,如果沒有看見Java的執行錯誤,就表示成功了。