天天看點

centos安裝hadoop-1.2.1

系統環境:CentOS 5.10(虛拟機下)

[plain]  view plain copy print ?

centos安裝hadoop-1.2.1
centos安裝hadoop-1.2.1
  1. [[email protected] hadoop]# lsb_release -a  
  2. LSB Version:    :core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-ia32:printing-4.0-noarch  
  3. Distributor ID: CentOS  
  4. Description:    CentOS release 5.10 (Final)  
  5. Release:        5.10  
  6. Codename:       Final  

準備

Jdk安裝與配置 Oracle官網下載下傳jdk,這裡我下載下傳的是jdk-6u45-linux-i586.bin,并上傳到虛拟機上,使用root使用者,執行以下指令建立檔案夾,移動安裝檔案,執行安裝。 [plain]  view plain copy print ?

centos安裝hadoop-1.2.1
centos安裝hadoop-1.2.1
  1. mkdir /usr/java  
  2. mv/home/auxu/Desktop/jdk-6u45-linux-i586.bin /usr/java  
  3. cd /usr/java  
  4. ./jdk-6u45-linux-i586.bin  

配置環境變量 [plain]  view plain copy print ?

centos安裝hadoop-1.2.1
centos安裝hadoop-1.2.1
  1. vi /etc/profile  

加入 export JAVA_HOME=/usr/java/jdk1.6.0_45

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

儲存完畢之後,執行: [sql]  view plain copy print ?

centos安裝hadoop-1.2.1
centos安裝hadoop-1.2.1
  1. source /etc/profile  

驗證java配置 [sql]  view plain copy print ?

centos安裝hadoop-1.2.1
centos安裝hadoop-1.2.1
  1. [[email protected] java]# java -version  
  2. java version "1.6.0_45"  
  3. Java(TM) SE Runtime Environment (build 1.6.0_45-b06)  
  4. Java HotSpot(TM) Client VM (build 20.45-b01, mixed mode, sharing)  

可以簡單寫一個java class來進行測試,這裡不多說明

建立Hadoop使用者及相關應用檔案夾 同樣使用root使用者建立一個名為hadoop的新使用者 [plain]  view plain copy print ?

centos安裝hadoop-1.2.1
centos安裝hadoop-1.2.1
  1. useradd hadoop  
  2. passwd hadoop  

建立應用檔案夾,以便進行之後的hadoop配置 [sql]  view plain copy print ?

centos安裝hadoop-1.2.1
centos安裝hadoop-1.2.1
  1. mkdir /hadoop  
  2. mkdir /hadoop/hdfs  
  3. mkdir /hadoop/hdfs/data  
  4. mkdir /hadoop/hdfs/name  
  5. mkdir /hadoop/mapred  
  6. mkdir /hadoop/mapred/local  
  7. mkdir /hadoop/mapred/system  
  8. mkdir /hadoop/tmp  

将檔案夾屬主更改為hadoop使用者 [plain]  view plain copy print ?

centos安裝hadoop-1.2.1
centos安裝hadoop-1.2.1
  1. chown -R hadoop /hadoop  

設定Hadoop使用者使之可以免密碼ssh到localhost

[sql]  view plain copy print ?

centos安裝hadoop-1.2.1
centos安裝hadoop-1.2.1
  1. su - hadoop  
  2. ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa    
  3. cat ~/.ssh/id_dsa.pub>> ~/.ssh/authorized_keys  
  4. cd /home/hadoop/.ssh   
  5. chmod 600 authorized_keys  

注意這裡的權限問題,保證.ssh目錄權限為700,authorized_keys為600

驗證: [plain]  view plain copy print ?

centos安裝hadoop-1.2.1
centos安裝hadoop-1.2.1
  1. [[email protected] .ssh]$ ssh localhost  
  2. Last login: Sun Nov 17 22:11:55 2013  

ssh localhost之後無需輸入密碼就可以連接配接,配置OK

安裝配置Hadoop

建立目錄并安裝 重新切回root使用者,建立安裝目錄 [plain]  view plain copy print ?

centos安裝hadoop-1.2.1
centos安裝hadoop-1.2.1
  1. su   

[plain]  view plain copy print ?

centos安裝hadoop-1.2.1
centos安裝hadoop-1.2.1
  1. mkdir /opt/hadoop  

将安裝檔案移動到以上建立目錄,確定其執行權限,然後執行 [plain]  view plain copy print ?

centos安裝hadoop-1.2.1
centos安裝hadoop-1.2.1
  1. mv /home/auxu/Desktop/hadoop-1.2.1.tar.gz /opt/hadoop  
  2. cd /opt/hadoop  
  3. tar -xzvf hadoop-1.2.1.tar.gz  

将hadoop安裝目錄的屬主更改為hadoop使用者 [plain]  view plain copy print ?

centos安裝hadoop-1.2.1
centos安裝hadoop-1.2.1
  1. chown -R hadoop /opt/hadoop  

切換到hadoop使用者,修改配置檔案,這裡根據前面建立的應用檔案進行相關配置,依照各自情況而定 [plain]  view plain copy print ?

centos安裝hadoop-1.2.1
centos安裝hadoop-1.2.1
  1. su - hadoop  

[plain]  view plain copy print ?

centos安裝hadoop-1.2.1
centos安裝hadoop-1.2.1
  1. cd /opt/hadoop/hadoop-1.2.1/conf  

core-site.xml [html]  view plain copy print ?

centos安裝hadoop-1.2.1
centos安裝hadoop-1.2.1
  1. <configuration>  
  2.     <property>  
  3.         <name>fs.default.name</name>  
  4.         <value>hdfs://localhost:9000</value>  
  5.     </property>  
  6.     <property>  
  7.         <name>hadoop.tmp.dir</name>  
  8.         <value>/hadoop/tmp</value>  
  9.     </property>  
  10. </configuration>  

hdfs-site.xml

[html]  view plain copy print ?

centos安裝hadoop-1.2.1
centos安裝hadoop-1.2.1
  1. <configuration>  
  2.   <property>  
  3.         <name>dfs.replication</name>  
  4.         <value>1</value>  
  5.     </property>  
  6.     <property>  
  7.         <name>dfs.name.dir</name>  
  8.         <value>/hadoop/hdfs/name</value>  
  9.     </property>  
  10.     <property>  
  11.         <name>dfs.data.dir</name>  
  12.         <value>/hadoop/hdfs/data</value>  
  13.     </property>  
  14. </configuration>  

mapred-site.xml [html]  view plain copy print ?

centos安裝hadoop-1.2.1
centos安裝hadoop-1.2.1
  1. <configuration>  
  2.   <property>  
  3.         <name>mapred.job.tracker</name>  
  4.         <value>localhost:9001</value>  
  5.     </property>  
  6. </configuration>  

hadoop-env.sh 配置JAVA_HOME 與 HADOOP_HOME_WARN_SUPPRESS。 PS:HADOOP_HOME_WARN_SUPPRESS這個變量可以避免某些情況下出現這樣的提醒 "WARM: HADOOP_HOME is deprecated” [plain]  view plain copy print ?

centos安裝hadoop-1.2.1
centos安裝hadoop-1.2.1
  1. export JAVA_HOME=/usr/java/jdk1.6.0_45  
  2. export HADOOP_HOME_WARN_SUPPRESS="TRUE"      
  3. source hadoop-env.sh  

重新配置 /etc/profile 檔案,最終如:

[html]  view plain copy print ?

centos安裝hadoop-1.2.1
centos安裝hadoop-1.2.1
  1. export JAVA_HOME=/usr/java/jdk1.6.0_45  
  2. export JRE_HOME=$JAVA_HOME/jre  
  3. export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  
  4. export HADOOP_HOME=/opt/hadoop/hadoop-1.2.1  
  5. export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin  

使更新後的配置檔案生效 [html]  view plain copy print ?

centos安裝hadoop-1.2.1
centos安裝hadoop-1.2.1
  1. source /etc/profile  

測試hadoop安裝 [html]  view plain copy print ?

centos安裝hadoop-1.2.1
centos安裝hadoop-1.2.1
  1. [[email protected] conf]$ hadoop version  
  2. Hadoop 1.2.1  
  3. Subversion https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152  
  4. Compiled by mattf on Mon Jul 22 15:23:09 PDT 2013  
  5. From source with checksum 6923c86528809c4e7e6f493b6b413a9a  

啟動HADOOP

需要先格式化namenode,再啟動所有服務 [html]  view plain copy print ?

centos安裝hadoop-1.2.1
centos安裝hadoop-1.2.1
  1. hadoop namenode -format  
  2. start-all.sh   

檢視程序 [html]  view plain copy print ?

centos安裝hadoop-1.2.1
centos安裝hadoop-1.2.1
  1. [email protected] conf]$ jps   
  2. 6360 NameNode  
  3. 6481 DataNode  
  4. 6956 Jps  
  5. 6818 TaskTracker  
  6. 6610 SecondaryNameNode  
  7. 6698 JobTracker  

如果能找到這些服務,說明Hadoop已經成功啟動了。 如果有什麼問題,可以去/opt/hadoop/hadoop-1.2.1/logs檢視相應的日志

最後就可以通過以下連結通路haddop服務了

localhost:50030/   for the Jobtracker

localhost:50070/   for the Namenode

localhost:50060/   for the Tasktracker

Hadoop JobTracker: 

centos安裝hadoop-1.2.1

Hadoop Namenode: 

centos安裝hadoop-1.2.1

Hadoop TaskTracker:

centos安裝hadoop-1.2.1

PS:完全分布式的安裝與僞分布式安裝大同小異,注意如下幾點即可 1.叢集内ssh免使用者登入 2.配置檔案中指定具體的ip位址(或機器名),而不是localhost 3.配置masters和slaves檔案,加入相關ip位址(或機器名)即可 以上配置需要在各個節點上保持一緻。

繼續閱讀