环境准备:

Centos 5.5 x64   (3台)


10.129.8.52   (master) ======>> NameNode, SecondaryNameNode,JobTracker

10.129.8.76    (slave01) ======>> DataNode, TaskTracker

10.129.8.33    (slave02) ======>> DataNode, TaskTracker


单台机器的本地host 文件如下:

10.129.8.52    master

10.129.8.76    slave01

10.129.8.33    slave02


(一) 配置好master 到slave 的ssh 登陆信任关系,做好都相互之间到配置好

(二) 安装好 java version "1.6.0_24"   源码包为jdk-6u24-linux-x64.bin

(三) 安装hadoop 集群

     下载hadoop-1.2.0.tar.gz,然后解压到/home/hadoop/hadoop目录下

     修改相应的配置文件:

1 hadoop-env.sh   指明 java 的环境变量    export JAVA_HOME=/usr/local/java/jdk1.6.0_24
2 core-site.xml 
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->

<configuration>
 <property>
    <name>fs.default.name</name>
    <value>hdfs://master:9010</value>
   </property>
<property>
  <name>hadoop.tmp.dir</name>
 <value>/home/hadoop/hadoop/tmp</value>
</property>

</configuration>

3 mapred-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
 <property>
            <name>mapred.job.tracker</name>
            <value>master:9011</value>
        </property>
<property>
  <name>mapred.local.dir</name>
 <value>/home/hadoop/hadoop/tmp</value>
</property>
</configuration>

4 hdfs-site.xml 

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->
<!--

     NameNode 主要存放文件映射和文件更改日志

     SecondaryNameNode 一个守护进程 定时从NameNode同步文件更改日志并合并成一条日志,方便hadoop每次重启时 找到上次宕机的还原点。在后续的版本中会被backupNameNode和nameNode集群取代。

     Jobtracker 任务调度守护进程

     Tasktracker 任务执行进程

     DataName  数据存储节点,往往和Tasktracker部署在同一台机器上。




-->

<configuration>

<property>

        <name>dfs.name.dir</name>        // 指定name 镜像文件存放目录,如不指定则
        <value>/home/hadoop/filedata/name01,/home/hadoop/filedata/name02</value> //默认为core-site中配置的tmp目录

    </property>
 <property>

       <name>dfs.data.dir</name>             // 数据存放的目录,如果不写 默认为

       <value>/home/hadoop/filedata/data01</value>  // core-site中配置的tmp目录

    </property>
  <property>
            <name>dfs.replication</name>
            <value>2</value>
        </property>
</configuration>

5 masters           
  master

6 slaves       (如果这里包含有master的主机名,那么master也会成为datanode,如果没有,那么master就只会成为namenode,不会成为datanode)

  slave01
  slave02


(四)  创建相应的目录:

hadoop.tmp.dir :Hadoop的默认临时路径,这个最好配置,如果在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。不过如果删除了NameNode机器的此目录,那么就需要重新执行NameNode格式化的命令。


NameNode持久存储名字空间及事务日志的本地文件系统路径。 当这个值是一个逗号分割的目录列表时,nametable数据将会被复制到所有目录中做冗余备份。(他下面有子目录,程序自己创建)


DataNode存放块数据的本地文件系统路径,逗号分割的列表。 当这个值是逗号分割的目录列表时,数据将被存储在所有目录下,通常分布在不同设备上。 (程序自己创建)


(五)  在namenode 上格式化

 

/home/hadoop/hadoop/bin/hadoop namenode -format

           查看输出保证分布式文件系统格式化成功
          执行完后可以到master机器上看到/home/hadoop//name1和/home/hadoop//name2两个目录。在主节点                 master上面启动hadoop,主节点会启动所有从节点的hadoop。

(六)   /home/hadoop/hadoop/bin/start-all.sh (启动所有服务)

         执行完毕后,可以用jps 查看所有启动的服务       (启动日志在hadoop安装的logs目录下)    

[hadoop@master ~]$ jps
16276 SecondaryNameNode
16374 JobTracker
16103 NameNode
19003 Jps


这时可以去看看dataname节点上有没有创建数据目录,当然也可以用jps查看,但是我的dataname有得这个命令可以用,有得不可以,原因待查



(七) 上传文件测试

/home/hadoop/hadoop/bin/hadoop dfs -put X-ForWarded-For-survey.beisen.com-10.22.1.35_D2013070* /home/iis_log/survey.beisen.com/20130705

(八) 查看上传的文件
/home/hadoop/hadoop/bin/hadoop dfs -ls /home/iis_log/survey.beisen.com/20130705


advanceiislog map/reduces 处理过程,下一节介绍!!


转载于:https://blog.51cto.com/lubing/1242349