首页 > 技术文章 > Hadoop单机模式配置

manhua 2014-01-22 15:59 原文

 

默认情况下,Hadoop被配置成以非分布式模式运行的一个独立Java进程。这对调试非常有帮助。

(只有一个JVM进程,没有分布式,不使用HDFS)

 

环境:

Java 查看安装教程

Ubuntu13.10(32位/64位均可) 下载

hadoop-2.2.0.tar.gz 更新发布下载 

安装:

在用户主目录新建文件夹hadoop,Hadoop将安装在该目录~/hadoop

 

Hadoop安装 

wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/core/hadoop-3.2.0/hadoop-3.2.0.tar.gz  

INSTALL_PATH=/opt/soft
TAR_FILE=`pwd`/hadoop-3.2.0.tar.gz 

# 安装
mkdir -p $INSTALL_PATH
tar -xzf $TAR_FILE -C $INSTALL_PATH
HADOOP_FOLDER=`tar -tvzf $TAR_FILE |head -1 |awk -F' ' {'print $6'} |awk -F'/' {'print $1'}`
ln -s $INSTALL_PATH/$HADOOP_FOLDER $INSTALL_PATH/hadoop

# 修改系统环境变量
echo -e '\n\n#Hadoop' >> /etc/profile
echo 'export HADOOP_HOME='$INSTALL_PATH'/hadoop' >> /etc/profile
echo 'export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH' >> /etc/profile

# 测试
source /etc/profile
hadoop version

 

运行测试 (注:Hadoop刚完成安装不修改配置文件即为单机模式)

 测试一:wordcount

在主文件下新建hadoopTest文件夹,创建in子文件夹,创建任意文本文档内容

cd ~/hadoop/hadoop/share/hadoop/mapreduce
hadoop jar hadoop-mapreduce-examples-2.2.0.jar wordcount ~/hadoopTest/in ~/hadoopTest/out

查看结果

cat ~/hadoopTest/out/part-r-00000

 


hadoop单机运行可以不打包成jar: hadoop 主类名 [输入输出目录等参数]
相比用java运行,使用hadoop命令会自动添加hadoop库文件到classpath

[注意]要实现不打包运行,需要修改环境变量

sudo gedit /etc/profile
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:.

 

输出命名方式:
map输出:part-m-nnnnn
reduce输出:part-r-nnnnn
其中nnnnn为分块序号,从0开始。
分布式下Map的输出是在硬盘上而不是hdfs,因为它作为中间结果是临时的,一旦写入hdfs就会分布式存储并备份。

 


 

example中的样例程序说明

 

资料:

Hadoop - YDN https://developer.yahoo.com/hadoop/

推荐阅读