概述
本文记录windows下hadoop本地开发环境的搭建:
OS:windows
hadoop执行模式:独立模式
安装包结构:
Hadoop-2.6.0-Windows.zip
- cygwinInstall // cygwin离线安装包
- hadoop-2.6.0-windows.tar.gz // hadoop-2.6.0 windows安装包
PS:
hadoop-2.6.0-windows.tar.gz是基于官方发行包hadoop-2.6.0.tar.gz,并为windows单机測试而自己定义的包,修改例如以下:
1. 在bin文件夹下,加入了hadoop.dll和winutils.exe
2. 修改了org\apache\hadoop\io\nativeio\NativeIO.java源代码第558行
*因为源代码有修改,此包不能用于生产环境,仅仅限于windows环境下的开发測试
1. 安装cygwin
- 双击cygwinInstall下的setup-x86_64.exe
选择从本地安装
选择安装位置
选择本地安装文件位置
点击All旁边的default,使其变为Install,再点击下一步就可以開始安装
2. 安装hadoop
在cygwin的根文件夹下。建立opt文件夹,并把安装包复制到opt文件夹下
cd /; mkdir opt
解压
cd /opt; tar xzf hadoop-2.6.0-windows.tar.gz
环境变量设置
设置windows环境变量HADOOP_PREFIX指向hadoop安装文件夹
设置windows环境变量HADOOP_HOME指向hadoop安装文件夹
设置windows环境变量JAVA_HOME指向java安装文件夹
Path环境变量后追加:
;%HADOOP_HOME%\bin
~/.bashrc中设置下面环境变量:
export HADOOP_CLASSPATH=$(cygpath -pw $(hadoop classpath)):$HADOOP_CLASSPATH
使~/.bashrc生效,并验证hadoop是否工作
source ~/.bashrc
验证hadoop:
hadoop version
若正常显示版本号信息则成功安装
执行演示样例代码。验证hadoop是否可以执行mapreduce
cd /opt/hadoop-2.6.0; mkdir input; cd input; echo "Hello World" > test
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar wordcount input output
若正常执行则显示:
在/opt/hadoop-2.6.0/output下会生成part-r-00000文件,包括下面内容:
Hello 1 world 1
3. idea开发环境配置
创建一个mapreduce项目
选择项目。按下F12。加入外部依赖
加入HADOOP_HOME下必要的jar包
进入执行配置
配置执行參数
Working directory设置为hadoop安装文件夹
并设置输入參数
调试
和普通java程序一样打断点进行调试