环境准备:
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="https://www.linuxidc.com/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="https://www.linuxidc.com/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="https://www.linuxidc.com/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
(四) 创建相应的目录:
/home/hadoop/hadoop/tmp hadoop.tmp.dir :Hadoop的默认临时路径,这个最好配置,如果在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。不过如果删除了NameNode机器的此目录,那么就需要重新执行NameNode格式化的命令。
/home/hadoop/filedata NameNode持久存储名字空间及事务日志的本地文件系统路径。 当这个值是一个逗号分割的目录列表时,nametable数据将会被复制到所有目录中做冗余备份。(他下面有子目录,程序自己创建)