10.21.4.112 namenode112
10.21.14.54 datanode054
10.21.14.62 datanode062
10.21.14.111 datanode111
将以上内容分别放入四台机器的/etc/hosts文件中
在四台机器上分别创建用户hadoop,密码为:hadoop
1、安装JDK
从sun官网下载1.6的jdk安装,本人的安装路径为:/home/hadoop/program/java。配置环境变量,在/home/.bash_profile的末尾加入一下内容:
JAVA_HOME=/home/hadoop/program/java
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
2、配置ssh无密码登录
在namenode112上执行以下命令:
ssh-keygen
然后按照提示输入必要的信息,当要求输入密码的时候留空。
执行cp命令拷贝上一步生成的密钥对中的公钥到/home/hadoop/.ssh目录底下。
cp /home/hadoop/.ssh/id_rsa.pub/home/hadoop/.ssh/authorized_keys
执行scp命令将authorized_keys文件分别拷贝到其他datanode节点
scp /home/hadoop/.ssh/authorized_keys hadoop@datanode111:/home/hadoop/.ssh/authorized_keys
scp /home/hadoop/.ssh/authorized_keys hadoop@datanode062:/home/hadoop/.ssh/authorized_keys
scp /home/hadoop/.ssh/authorized_keys hadoop@datanode054:/home/hadoop/.ssh/authorized_keys
在namenode112机器使用以下命令分别查看是否可以无密码登录其他三台机器
ssh datanode111
ssh datanode054
ssh datanode062
如果不成功,请检查原因
3、安装配置hadoop
从apache网站下载hadoop的压缩包(hadoop-0.20.205.0.tar.gz),执行一下命令解压
tar -zxvf hadoop-0.20.205.0.tar.gz
在四台机器上分别创建数据文件存放文件夹,这里是/home/hadoop/hadoop-data,执行chmod修改该文件夹的权限为755,注意,这里貌似只能是755,权限过大或过小都不能启动datanode节点。
mkdir /home/hadoop/hadoop-data
chmod 755 /home/hadoop/hadoop-data
配置hadoop-env.sh,在其中加入JAVA_HOME环境变量的配置,内容如下:
export JAVA_HOME=/home/hadoop/program/java
配置conf/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://namenode112:9000</value> </property> </configuration>
配置conf/hdfs-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>dfs.replication</name> <value>2</value><!--数据备份数量--> </property> <property> <name>dfs.data.dir</name> <value>/home/hadoop/program/hadoop-data</value><!--数据文件存放地址--> </property> </configuration>
配置conf/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>namdenode112:9001</value> </property> </configuration>
配置masters,在其中加入namenode节点的主机名
namenode112
配置slaves,在其中加入datanode节点的主机名
datanode111
datanode054
datanode062
将hadoop整个文件夹通过scp命令分别拷贝到其他几个datanode的相同路径下。
4、运行hadoop
转到hadoop安装路径的bin目录下,运行以下命令格式化hadoop的文件系统
./hadoop namenode -format
启动hadoop
./start-all.sh
打开浏览器,输入namenode节点的IP和50070端口查看运行状态
http://10.21.4.112:50070/dfshealth.jsp
访问结果如下:
NameNode'namenode112.hadoop:9000'
Started:
Wed Dec 21 21:55:47 CST 2011
Version:
0.20.205.0, r1179940
Compiled:
Fri Oct 7 06:20:32 UTC 2011 by hortonfo
Upgrades:
There are no upgrades in progress.
Browse the filesystem
Namenode Logs
--------------------------------------------------------------------------------
Cluster Summary
1files and directories, 0 blocks = 1 total. Heap Size is 57.38 MB / 888.94 MB(6%)
Configured Capacity
:
549.29 GB
DFS Used
:
84 KB
Non DFS Used
:
39.81 GB
DFS Remaining
:
509.47 GB
DFS Used%
:
0 %
DFS Remaining%
:
92.75 %
Live Nodes
:
3
Dead Nodes
:
0
Decommissioning
Nodes
:
0
Number of Under-Replicated Blocks
:
0
--------------------------------------------------------------------------------
NameNode Storage:
Storage Directory
Type
State
/tmp/hadoop-hadoop/dfs/name
IMAGE_AND_EDITS
Active
--------------------------------------------------------------------------------
Thisis Apache Hadoop release 0.20.205.0