相關檔案:
jdk-6u22-linux-i586-rpm.bin //hadoop需要昇陽版本的jdk
hadoop-0.21.0.tar.gz
hadoop-0.21.0.tar.gz
環境準備:
1.檢查java環境 //安裝時不要選取java...光碟中的是openjava
# java -version
or
# rpm -qa |grep java/jdk
//如果真的裝了兩三套以上的java..可用以下指令切換實際運作的是哪一套
# alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_22/bin/java 1
//指令格式: alternatives --install <連結> <名稱> <路徑> <優先順序>
# alternatives --config java //這邊的java就是上面的名稱
or
# rpm -qa |grep java/jdk
//如果真的裝了兩三套以上的java..可用以下指令切換實際運作的是哪一套
# alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_22/bin/java 1
//指令格式: alternatives --install <連結> <名稱> <路徑> <優先順序>
# alternatives --config java //這邊的java就是上面的名稱
有 2 程式提供 'java'。 選擇 指令 ----------------------------------------------- 1 /usr/java/jdk1.6.0_22/bin/java *+ 2 /usr/lib/jvm/jre-1.6.0-openjdk/bin/java 請輸入以保留目前的選擇[+],或輸入選擇號碼:1 //+表示目前設定的是哪一套java //輸入數字選擇想要的版本 |
2.建立帳號hadoop並設定不須密碼登入
# useradd hadoop
# su - hadoop
$ ssh-keygen
$ cd .ssh
$ cat id_rsa.pub > authorized_keys //將公鑰內容放到authorized_keys中
//這個範例因為是第一次做可用">",安全應為">>"
$ chmod 600 authorized_keys //要修改權限才可以用
# su - hadoop
$ ssh-keygen
$ cd .ssh
$ cat id_rsa.pub > authorized_keys //將公鑰內容放到authorized_keys中
//這個範例因為是第一次做可用">",安全應為">>"
$ chmod 600 authorized_keys //要修改權限才可以用
3.將hadoop下載到hadoop家目錄並解壓縮
# su - hadoop //用user: hadoop來執行即可
$ wget wget http://ftp.tcc.edu.tw/pub/Apache//hadoop/core/hadoop-0.21.0/hadoop-0.21.0.tar.gz
$ tar zxvf hadoop-0.21.0.tar.gz
$ wget wget http://ftp.tcc.edu.tw/pub/Apache//hadoop/core/hadoop-0.21.0/hadoop-0.21.0.tar.gz
$ tar zxvf hadoop-0.21.0.tar.gz
4.hadoop環境設定:
$ cd hadoop-0.21.0
$ vim conf/hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.6.0_22/
//將這行的註解取消,並根據自己的java版本給予正確目錄
$ tree -L 1 //檢視hadoop-0.21.0目錄內容
$ vim conf/hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.6.0_22/
//將這行的註解取消,並根據自己的java版本給予正確目錄
$ tree -L 1 //檢視hadoop-0.21.0目錄內容
. |-- LICENSE.txt |-- NOTICE.txt |-- README.txt |-- bin //放置執行檔的目錄,會根據conf的設定 |-- c++ |-- common |-- conf //放置設定檔的目錄 |-- hadoop-common-0.21.0.jar |-- hadoop-common-test-0.21.0.jar |-- hadoop-hdfs-0.21.0-sources.jar |-- hadoop-hdfs-0.21.0.jar |-- hadoop-hdfs-ant-0.21.0.jar |-- hadoop-hdfs-test-0.21.0-sources.jar |-- hadoop-hdfs-test-0.21.0.jar |-- hadoop-mapred-0.21.0-sources.jar |-- hadoop-mapred-0.21.0.jar |-- hadoop-mapred-examples-0.21.0.jar |-- hadoop-mapred-test-0.21.0.jar |-- hadoop-mapred-tools-0.21.0.jar //以上為包裝好的java服務程式 |-- hdfs //hadoop節點間共用的檔案系統目錄 |-- lib |-- mapred `-- webapps |
$bin/hadoop //如果可以看到下面訊息代表安裝正常
Usage: hadoop [--config confdir] COMMAND where COMMAND is one of: fs run a generic filesystem user client version print the version jar distcp archive -archiveName NAME -p classpath prints the class path needed to get the Hadoop jar and the required libraries daemonlog get/set the log level for each daemon or CLASSNAME run the class named CLASSNAME Most commands print help when invoked w/o parameters. |
//實作計算pi值
$ bin/hadoop jar hadoop-mapred-examples-0.21.0.jar pi 100 100000 //計算pi的程式放在前面的.jar中
...............
Job Finished in 11.183 seconds
Estimated value of Pi is 3.14158440000000000000
//計算結果
$ export HADOOP_HOME=/home/hadoop/hadoop-0.21.0 //可寫入.bashrc讓登入時自動export
$ bin/hdfs namenode -format
//在執行訊息中可以看到將檔案做在/tmp中
//10/11/19 15:05:54 INFO common.Storage: Storage directory /tmp/hadoop-hadoop/dfs/name has been successfully formatted.
$ ls /tmp/hadoop-hadoop //有東西就好,請勿變動他
$ bin/hdfs namenode -format
//在執行訊息中可以看到將檔案做在/tmp中
//10/11/19 15:05:54 INFO common.Storage: Storage directory /tmp/hadoop-hadoop/dfs/name has been successfully formatted.
$ ls /tmp/hadoop-hadoop //有東西就好,請勿變動他
6.設定XML conf檔
$vim conf/core-site.xml
啟動hadoop:
$ bin/start-all.sh //如果ssh金鑰登入有問題這邊會出現要打密碼
//可再拿pi那個範例來練習玩看看
//可再拿pi那個範例來練習玩看看
檢視:
用browser:
1.http://lcaolhost:50070 //可看到namenode資訊
2.http://localhost:50030 //可看到job tracker資訊
3.http://localhost:50090 //可看到SecondNameNode資訊
1.http://lcaolhost:50070 //可看到namenode資訊
2.http://localhost:50030 //可看到job tracker資訊
3.http://localhost:50090 //可看到SecondNameNode資訊
可參考教學網站:
1.http://www.inside.com.tw/11/04/cloud-diy1
2.建置到三朵雲
沒有留言:
張貼留言