Hadoop安装手记

1784阅读 0评论2012-02-04 linux_kaige
分类:LINUX



转载:http://blog.chinaunix.net/space.php?uid=20196318&do=blog&id=56981

1. 创建java运行环境

 

l  下载jdk for linux: jdk-6u22-linux-i586.bin

    

 

l  安装jdkchmod a+x jdk-6u22-linux-i586.bin;

         ./ jdk-6u22-linux-i586.bin

 

l  设置环境变量

#vi /etc/profile

export JAVA_HOME=/home/ydzhang/jdk1.6.0_22

export PATH="$JAVA_HOME/bin:$PATH"

export CLASSPATH=".:$JAVA_HOME/lib:$CLASSPATH"

 

l  确认java安装成功

javac/java –version (正确配置PATH

运行hello world (正确配置CLASSPATH)

 

2. 搭建hadoop集群

 

   Hadoop可以在三种模式下运行,单机模式,伪分布式模式(NameNodeDataNode在一个节点上),分布式模式(NameNodeDataNode分散在多个不同的节点上)。

   注:本例为伪分布式模式,搭建hadoop前,确保各个节点已经安装ssh

 

   参数配置:(配置文件在HADOOP_HOME/conf目录中, HADOOP_HOMEhadoop的根目录)

l  设置环境变量 hadoop-env.sh

如果环境变量都已设置好,此处无需再做配置

l  core-site.xml (默认的配置可查看HADOOP_HOME/docs/cn/core-default.html

修改该配置文件如下,更改fs.default.namehadoop.tmp.dir选项。

fs.default.name为文件系统默认名字,其默认值为: 

hadoop.tmp.di为临时文件路径,其默认值为:/tmp/hadoop-${user.name}

 

 

 

   fs.default.name

   hdfs://localhost:9000

    hadoop.tmp.dir

    /home/u/tmp

  

 

 

l  hdfs-site.xml (默认的配置可查看HADOOP_HOME/docs/cn/hdfs-default.html

修改该配置文件如下,修改dfs.replicationdfs.name.dirdfs.data.dir

      dfs.replication为副本数,默认值为3

      dfs.name.dirnamenode存储数据的根目录,默认值为${hadoop.tmp.dir}/dfs/name

      dfs.data.dirdatanode存储数据的根目录,默认值为${hadoop.tmp.dir}/dfs/data

 

 

 

   dfs.replication

   2

   dfs.name.dir

   /home/u/hdfs/name

   dfs.data.dir

   /home/u/hdfs/data

 

l  mapred.xml(默认的配置可查看HADOOP_HOME/docs/cn/mapred-default.html

修改该配置文件如下,修改mapred.job.tracker的值。

mapred.job.trackerjobtracker运行的主机和端口号,默认为localhost

 

 

 

 

    mapred.job.tracker

   localhost:9001

 

如果配置有多个DataNode并且运行在不同的机器上,则将配置好的Hadoop文件夹拷贝到对应的DataNode上。

 

启动hadoop前,需格式化hadoop的文件系统hdfs,在master上,进入hadoop文件夹输入命令:bin/hadoop namenode format

 

启动所有的服务:bin/start-all.sh

 

验证hadoop是否安装成功:

(mapreduceweb页面)

(hdfsweb页面)

 

对于hadoop来说,mapreducehdfs都是必须的,但也可以只启动hdfsstart-dfs.sh)或mapreducestart-mapred.sh

 

向正在运行的集群中添加新的数据节点:

输入以下命令:

bin/hadoop-daemon.sh --config ./conf start datanode

bin/hadoop-daemon.sh --config ./conf start tasktracker

这样就可以把新的节点联入集群中,第一步是启动datanode,第二步是启动tasktracker

 

3. 运行WordCount实例

 

l  方法1:参见HADOOP_HOME/docs/ mapred-default.html

注意:0.20.2版本的hadoop编译WordCount时,还要使用HADOOP_HOME/lib/commons-cli-1.2.jar

 

l  方法2

直接用hadoop提供的jar包(hadoop-0.20.2-examples.jar)中包含的wordcount来运行。(参见方法1,在hdfs中创建输入输出目录,建立输入文件集)

 

执行以下命令:

bin/hadoop jar hadoop-0.19.2-examples.jar wordcount wordcount/input wordcount/output

 

通过hadoop fs -ls wordcount/output 查看输出文件信息,并可通过cat查看。

上一篇:test用法详解
下一篇:用 Linux 和 Apache Hadoop 进行云计算