实验环境:ubuntu11.04 1.安装jdk和hadoop 1.1 下载jdk1.6,下载hadoop0.2

1.2 解压

xiaoming@ustc:~$ sh ./jdk1.6.0_31-linux-i586.bin

执行解压。

把jdk1.6*的那个文件夹拷贝到 /usr/lib/jvm

要用到命令

cp -a

1.3 设置环境变量

命令:

sudo vim /etc/profile    

设置环境变量 :

export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_31  
export HADOOP_HOME=/home/xiaoming/hadoop0.2  
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH  
export CLASSPATH=$JAVA_HOME/lib  

source一下:

xiaoming@ustc:~$ source /etc/profile  

1.4 测试

xiaoming@ustc:/usr/lib/jvm$ java -version  
java version "1.6.0_31"  
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)  
Java HotSpot(TM) Server VM (build 20.6-b01, mixed mode)  

xiaoming@ustc:~$ hadoop version  
Hadoop 0.20.204.0  
Subversion git://hrt8n35.cc1.ygridcore.net/ on branch branch-0.20-security-204 -r65e258bf0813ac2b15bb4c954660eaf9e8fba141  
Compiled by hortonow on Thu Aug 25 23:35:31 UTC 2011  

2.配置伪分布模式 由于只有一台机器,所以只能配置伪分布模式了,即hadoop守护进程运行在本地机器上,模拟一个小规模的集群。

2.1 说明

配置文件一般放在conf目录中,其实也可以放在任意的目录中,只要启动守护进程时使用 --config选项即可。

2.2 core-site.xml 的配置

<?xml version="1.0"?>  
<!-- core-site.xml -->  
<configuration>  
  <property>  
    <name>fs.default.name</name>  
    <value>hdfs://localhost/</value>  
</property>  
</configuration>  

2.3 hdfs-site.xml的配置

<?xml version="1.0"?>  
<!-- hdfs-site.xml -->  
<configuration>  
 <property>  
  <name>dfs.replication</name>  
  <value>1</value>  
 </property>  
</configuration>  

2.4 mapred-site.xml的配置

<?xml version="1.0"?>  
<!-- mapred-site.xml -->  
<configuration>  
 <property>  
  <name>mapred.job.tracker</name>  
  <value>localhost:8021</value>  
</property>  
</configuration>  

3.配置SSH

3.1 安装ssh

命令为

sudo apt-get install ssh  

3.2 基于空命令创建一个新的ssh密钥,以启用无密码登录。

xiaoming@ustc:~$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa  

xiaoming@ustc:~$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys  

在该用户下会有.ssh文件夹,并且有一些keys 3.3 测试

xiaoming@ustc:~$ ssh localhost   

4.格式化HDFS文件系统 格式化文件系统非常简单,只需键入如下指令:

xiaoming@ustc:~$ hadoop namenode -format  

5.启动和终止守护进程 为了启动HDFS和MapReduce守护进程,需要如下指令:

start-dfs.sh  
start-mapred.sh  

注:1.启动start-all.sh时出现如下错误:

localhost: Error: JAVA_HOME is not set.

在hadoop-0.2/conf/文件夹里有个hadoop-env.sh的文件,它的作用是配置与hadoop运行环境相关的变量,添加如下变量

export JAVA_HOME=/usr/lib/jvm/java-6-openjdk  
   2. 如果配置文件没有在conf目录下,则启动守护进程时使用--conf选项,采用绝对路径指向目录


start-dfs.sh --config  配置文件的绝对路径  

此时可以logs目录下的日志文件查看守护进程是否启动成功,或者通过web页面,jobtracker在

http://localhost:50030  

namenode 在

http://localhost:50070  

终止守护进程也很容易,只需命令

stop-dfs.sh  
stop-mapred.sh  

参考资料:Hadoop权威指南