Goole论文
在学习Hadoop之前,强烈建议先阅读goole的2大论文:The Google File System,MapReduce。
Hadoop的开发周期一般是:
1)开发和部署环境准备
2)编写mapper和reducer
2)单元测试
3)编译、打包
4)提交作业和结果检索
在用Hadoop处理大数据之间,需要首先将运行和开发环境部署好,下面是基础环境的安装过程,所有软件都安装在Linux系统上。下面先介绍在一台机器上的部署,该机器信息如下:
1)下载最新的JDK并减压 jdk-7u17-linux-x64.gz
2) 设置Java环境变量
切换到root用户的根目录, 编辑/etc/profile文件, 在该文件的最下方添加如下语句:
export JAVA_HOME=/opt/jdk1.7(可以改变)
export CLASSPATH=$CLASSPATH:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:
export PATH=$JAVA_HOME/bin:$PATH
重新执行修改过的文件
# source /root/.bashrc3) 测试是否安装成功
在终端执行:java –version, 如果显示的版本号和安装的版本号一致,则表明java设置安装成功。
后期需要在Eclipse中进行mapper和reducer函数的编程,现在这里搭建好IDE环境。
1)下载最新版本Eclipse
eclipse-jee-juno-SR2-linux-gtk-x86_64.tar.gz
2) 减压 tar.gz 文件
3) 在Windows系统上使用 VNC 启动 Eclipse
进入减压后的文件,点击eclipse图标或者在终端执行如下命令
./eclipse
设置工作目录
4) 常见问题解决
如果出现以下问题,但是安装的JDK在1.5以上
需要在启动Eclipse时指定它使用的JVM,为了方便我们这里写了一个脚本(startEclipse.sh)来启动eclipse,脚本如下:
使该脚本可以执行: chmod 777 startEclipse.sh
执行该脚本,eclipse即可正常启动
Hadoop有3种安装模式单机模式、伪分布模式和全分布模式。
1)下载最新版本的Hadoop,并减压
% tar xzf hadoop-x.y.z.tar.gz
2) Hadoop路径配置
切换到root用户的根目录, 编辑/etc/profile文件, 在该文件的最下方添加如下语句:
(如果只在终端输入输入exoprt,只在当前shell下生效,以后重启就不生效了,所有一劳永逸在.bashrc文件中配置)
#hadoop path(hadoop安装主目录)
export HADOOP_HOME=/home/hadoop/hadoop-1.0.4
export PATH=$PATH:$HADOO_HOME/bin
# log dir(日志文件路径)
export HADOOP_LOG_DIR=$HADOOP_HOME/log
重新执行修改过的文件(如果没有这一步,有时输入hadoop命令会出现:Hadoop commondnot found)
# . /root/profilecore-site.xml用于配置Common组件的属性,hdfs-site.xml用于配置HDFS属性,mapred-sit.xml用于配置MapReduce实现。这些配置文件都放在conf子目录下。
单机模式(Standalone or local mode)
单台机器、单线程运行、不需要启动hadoop进程,所有程序都在单个JVM上执行。该模式适合在开发阶段测试和调试MapReduce程序。
伪分布模式(Pseudo-distributed mode)单台机器,启动hadoop所有进程(如NameNode, DataNode, TaskTracker, JobTracker, SecondaryNameNode),较好的模拟hadoop集群情况。
全分布模式
需要利用多台机器,实现hadoop的分布式集群,通过高仿真环境进行集成测试。
在特定模式下运行hadoop需要做2件事:正确设置属性和启动hadoop进程。下图是配置不同模式所需要的最小属性集合。