[toc]

环境说明

物理机 虚拟机
CPU I5-3代
RAM 8GB
虚拟化软件 vmware 14
Linux centos 6.5
内存 4gb
硬盘 20gb
hadoop版本 3.0.0
java版本 1.8.0_162
intellij版本 2017.3.3

配置过程

Hadoop在Linux上的配置

1、 解包java1.8.0_162到/usr/lib下

2、 解包hadoop3.0.0到/usr/lib下

配置Hosts:192.168.157.10 client

Hadoop在windows上的配置

1、 下载Hadoop-3.0.0.tar.gz的压缩包,解压到随意目录,(例如放置到:D:\Program Environment目录中),解压过程会报一个链接错误,无视即可。

2、 下载winuntils(https://github.com/steveloughran/winutils),找到与自己hadoop的对应版本,本文使用的Hadoop-3.0.0,将bin中的文件放置到Hadoop-3.0.0的bin中,覆盖文件。

3、 添加Hadoop环境变量。

HADOOP_HOME=D:\Program Environment\hadoop-3.0.0
HADOOP_BIN_PATH=%HADOOP_HOME%\bin
HADOOP_PREFIX=D:\Program Environment\hadoop-3.0.0

Intellij IDEA配置

1、 新建一个Maven工程,其他工程也可以,但是方便后期添加依赖(GroupId[Hadoop]->ArtifactId[Hadoop]->Version[1.0-SNAPSHOT]->Project name[Hadoop]->Project Location[D:\WorkSpace\Hadoop]->More Setting->Module name[Hadoop]->Content root[D:\WorkSpace\Hadoop]->Module file location[D:\WorkSpace\Hadoop]->finish)

2、 配置Hadoop自动生成Maven的工作目录(Default Setting->Build, Execution, Deployment->Build Tools->Maven->Importing->Keep source and test folders on reimport)

3、 导入Hadoop依赖包到工程目录(cmd[mklink /d d:\workspace\hadoop\lib D:\Program Enviroment\hadoop-3.0.0\share\hadoop])

4、 检查java环境(Setting->Build, Execution, Deployment->Compiler->Java Compiler->Project bytecode version[1.8]->Per-module bytecode version->Module[Hadoop] Target bytecode version [1.8])

5、 添加模块依赖(Project Structure->Modules->Hadoop->Dependencies->add->JARS or directories—>Hadoop->lib[client,common,hdfs,mapreduce,tools,yarn]->OK->取消选择所有的jdiff->OK->add->JARS or directories—>Hadoop->lib[common[lib]]->OK->勾选所有->Apply)

6、 配置Artifacts(Project Structure->Artifacts->add->JAR->Empty->Name[Hadoop]->Creat Manifest…->OK->Output Layout->add->Module Output->OK

7、 添加Hadoop-3.0.0/etc/hadoop下的Hadoop-site.xml和log4j.properties到工程目录的src/main/resources下面,在core-site.xml写入

<configuration>  
  <property>
    <name>fs.defaultFS</name>   
    <value>hdfs://client:9000</value>
  </property>
</configuration> 

8、 在src/main/java下新建WordCount.java,复制官网的代码到WordCount.java中

9、 配置Run/Debug Configurations(Run/Debug Configurations->add->Application->Configuration->Main Class[WordCount]->Program arguments[hdfs://192.168.157.10:9000/input hdfs://192.168.157.10:9000/output]->work directory[D:\Program Enviroment\hadoop-3.0.0]->Use classpath of module[Hadoop]->Apply)

10、运行WordCount,结果会放到虚拟机中的hdfs文件系统下的output中

遇到的坑