天天看點

Hadoop系列之一:hadoop部署安裝

簡述:一個分布式系統基礎架構,由Apache基金會開發。使用者可以在不了解分布式底層細節的情況下,開發分布式程式。充分利用叢集的威力高速運算和存儲。Hadoop實作了一個分布式檔案系統(Hadoop Distributed File System),簡稱HDFS。HDFS有着高容錯性的特點,并且設計用來部署在低廉的(low-cost)硬體上。而且它提供高傳輸率(high throughput)來通路應用程式的資料,适合那些有着超大資料集(large data set)的應用程式。HDFS放寬了(relax)POSIX的要求(requirements)這樣可以流的形式通路(streaming access)檔案系統中的資料。

官方網站:http://hadoop.apache.org/

環境:

CentOS 6.0 x64

IP配置:

主機名             IP                 角色

ha01          10.0.0.232          namenode&jobtracker

ha02          10.0.0.233          datanode&tasktracker

ha03          10.0.0.234          datanode&tasktracker

ha04          10.0.0.235          datanode&tasktracker

準備工作:

1、所有伺服器添加hosts 檔案

vi /etc/hosts 

10.0.0.232   ha01 

10.0.0.233   ha02 

10.0.0.234   ha03 

10.0.0.235   ha04 

2、添加使用者hadoop,并對此使用者做信任關系

groupadd -g 690  hadoop 

useradd -g hadoop hadoop -u 690 

從ha01到 ha02、ha03、ha03做SSH信任。

此處略,詳見我的文章:ssh無密碼登入驗證技術 http://www.elain.org/?p=62

安裝部署:

java環境安裝:

cd /root/tools 

wget http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-x64.rpm 

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

scp jdk-7-linux-x64.rpm ha02:/root/tools/ 

scp jdk-7-linux-x64.rpm ha03:/root/tools/ 

scp jdk-7-linux-x64.rpm ha04:/root/tools/ 

依次安裝即可

驗證java環境

[root@ha01 tools]# java -version 

java version "1.6.0_17" 

OpenJDK Runtime Environment (IcedTea6 1.7.4) (rhel-1.21.b17.el6-x86_64) 

OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode) 

安裝hadoop

wget http://mirror.bjtu.edu.cn/apache/hadoop/core/hadoop-0.20.2/hadoop-0.20.2.tar.gz 

tar zxvf hadoop-0.20.2.tar.gz 

mv hadoop-0.20.2 /elain/apps/hadoop 

chown -R hadoop.hadoop /elain/apps/hadoop 

建立hadoop所需目錄(也可不建立,hadoop啟動時會自動建立)

mkdir -p /data/hadoop/{name,data01,data02,data03,tmp} 

chown -R hadoop.hadoop /data/hadoop/{name,data01,data02,data03,tmp} 

cd /elain/apps/hadoop 

配置java路徑

vi /elain/apps/hadoop/conf/hadoop-env.sh 

export JAVA_HOME=/usr/java/jdk1.7.0 

核心配置

vi conf/core-site.xml 

<configuration> 

<property> 

      <name>fs.default.name</name> 

      <value>hdfs://ha01:9000</value> 

  </property> 

</configuration> 

vi mapred-site.xml 

   <property> 

         <name>mapred.job.tracker</name> 

         <value>hdfs://ha01:9001</value> 

                       </property> 

站點節點配置

vi conf/hdfs-site.xml 

      <name>dfs.replication</name> 

            <value>3</value> 

            <name>dfs.name.dir</name> 

            <value>/data/hadoop/name</value> 

            <name>dfs.data.dir</name> 

            <value>/data/hadoop/data01,/data/hadoop/data02,/data/hadoop/data03</value> 

            <name>dfs.tmp.dir</name> 

            <value>/data/hadoop/tmp</value> 

            <name>dfs.block.size</name> 

            <value>2097152</value> 

主節點名稱:masters

ha01

資料節點名稱:slaves

ha02

ha03

ha04

初始化namenode節點

/elain/apps/hadoop/bin/hadoop namenode -format 

注:在此區分大小寫,需輸入大寫Y

scp -r /elain/apps/hadoop ha02:/elain/apps/ 

scp -r /elain/apps/hadoop ha03:/elain/apps/ 

scp -r /elain/apps/hadoop ha04:/elain/apps/ 

ssh ha02 'chown -R hadoop.hadoop /elain/apps/hadoop' 

ssh ha03 'chown -R hadoop.hadoop /elain/apps/hadoop' 

ssh ha04 'chown -R hadoop.hadoop /elain/apps/hadoop' 

啟動HDFS服務

在/elain/apps/hadoop/bin下有很多指令

start-all.sh       啟動所有的Hadoop程序 ,包括namenode, datanode,jobtracker,tasktrack,secondarynamenode。

stop-all.sh        停止所有的Hadoop。

start-mapred.sh    啟動Map/Reduce程序 ,包括Jobtracker和Tasktrack。

stop-mapred.sh     停止Map/Reduce程序 

start-dfs.sh       啟動Hadoop DFS程序 ,Namenode和Datanode。

stop-dfs.sh        停止DFS程序 

[root@ha01 conf]# /elain/apps/hadoop/bin/start-all.sh 

starting namenode, logging to /elain/apps/hadoop/bin/../logs/hadoop-root-namenode-ha01.out 

ha02: starting datanode, logging to /elain/apps/hadoop/bin/../logs/hadoop-root-datanode-ha02.out 

ha03: starting datanode, logging to /elain/apps/hadoop/bin/../logs/hadoop-root-datanode-ha03.out 

ha04: starting datanode, logging to /elain/apps/hadoop/bin/../logs/hadoop-root-datanode-ha04.out 

ha01: starting secondarynamenode, logging to /elain/apps/hadoop/bin/../logs/hadoop-root-secondarynamenode-ha01.out 

starting jobtracker, logging to /elain/apps/hadoop/bin/../logs/hadoop-root-jobtracker-ha01.out 

ha04: starting tasktracker, logging to /elain/apps/hadoop/bin/../logs/hadoop-root-tasktracker-ha04.out 

ha02: starting tasktracker, logging to /elain/apps/hadoop/bin/../logs/hadoop-root-tasktracker-ha02.out 

ha03: starting tasktracker, logging to /elain/apps/hadoop/bin/../logs/hadoop-root-tasktracker-ha03.out 

在Master、Slave可以使用jps檢視Hadoop啟動狀況

驗證:

[root@ha01 conf]# jps 

10955 SecondaryNameNode 

11123 Jps 

11027 JobTracker 

10828 NameNode 

[root@ha02 ~]# jps 

5163 DataNode 

5299 Jps 

5259 TaskTracker 

執行個體測試:等更新……

轉載請注明: 轉載自http://www.elain.org

本文轉自 elain2012 51CTO部落格,原文連結:http://blog.51cto.com/elain/674027