Hadoop在linux下的搭建

小明發表於2012-05-03

實驗環境:ubuntu11.04 1.安裝jdk和hadoop 1.1 下載jdk1.6,下載hadoop0.2

1.2 解壓

xiaoming@ustc:~$ sh ./jdk1.6.0_31-linux-i586.bin

執行解壓。

把jdk1.6*的那個資料夾拷貝到 /usr/lib/jvm

要用到命令

cp -a

1.3 設定環境變數

命令:

sudo vim /etc/profile    

設定環境變數 :

export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_31  
export HADOOP_HOME=/home/xiaoming/hadoop0.2  
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH  
export CLASSPATH=$JAVA_HOME/lib  

source一下:

xiaoming@ustc:~$ source /etc/profile  

1.4 測試

xiaoming@ustc:/usr/lib/jvm$ java -version  
java version "1.6.0_31"  
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)  
Java HotSpot(TM) Server VM (build 20.6-b01, mixed mode)  

xiaoming@ustc:~$ hadoop version  
Hadoop 0.20.204.0  
Subversion git://hrt8n35.cc1.ygridcore.net/ on branch branch-0.20-security-204 -r65e258bf0813ac2b15bb4c954660eaf9e8fba141  
Compiled by hortonow on Thu Aug 25 23:35:31 UTC 2011  

2.配置偽分佈模式 由於只有一臺機器,所以只能配置偽分佈模式了,即hadoop守護程式執行在本地機器上,模擬一個小規模的叢集。

2.1 說明

配置檔案一般放在conf目錄中,其實也可以放在任意的目錄中,只要啟動守護程式時使用 --config選項即可。

2.2 core-site.xml 的配置

<?xml version="1.0"?>  
<!-- core-site.xml -->  
<configuration>  
  <property>  
    <name>fs.default.name</name>  
    <value>hdfs://localhost/</value>  
</property>  
</configuration>  

2.3 hdfs-site.xml的配置

<?xml version="1.0"?>  
<!-- hdfs-site.xml -->  
<configuration>  
 <property>  
  <name>dfs.replication</name>  
  <value>1</value>  
 </property>  
</configuration>  

2.4 mapred-site.xml的配置

<?xml version="1.0"?>  
<!-- mapred-site.xml -->  
<configuration>  
 <property>  
  <name>mapred.job.tracker</name>  
  <value>localhost:8021</value>  
</property>  
</configuration>  

3.配置SSH

3.1 安裝ssh

命令為

sudo apt-get install ssh  

3.2 基於空命令建立一個新的ssh金鑰,以啟用無密碼登入。

xiaoming@ustc:~$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa  

xiaoming@ustc:~$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys  

在該使用者下會有.ssh資料夾,並且有一些keys 3.3 測試

xiaoming@ustc:~$ ssh localhost   

4.格式化HDFS檔案系統 格式化檔案系統非常簡單,只需鍵入如下指令:

xiaoming@ustc:~$ hadoop namenode -format  

5.啟動和終止守護程式 為了啟動HDFS和MapReduce守護程式,需要如下指令:

start-dfs.sh  
start-mapred.sh  

注:1.啟動start-all.sh時出現如下錯誤:

localhost: Error: JAVA_HOME is not set.

在hadoop-0.2/conf/資料夾裡有個hadoop-env.sh的檔案,它的作用是配置與hadoop執行環境相關的變數,新增如下變數

export JAVA_HOME=/usr/lib/jvm/java-6-openjdk  
   2. 如果配置檔案沒有在conf目錄下,則啟動守護程式時使用--conf選項,採用絕對路徑指向目錄


start-dfs.sh --config  配置檔案的絕對路徑  

此時可以logs目錄下的日誌檔案檢視守護程式是否啟動成功,或者通過web頁面,jobtracker在

http://localhost:50030  

namenode 在

http://localhost:50070  

終止守護程式也很容易,只需命令

stop-dfs.sh  
stop-mapred.sh  

參考資料:Hadoop權威指南

相關文章