Hadoop综合编程

一、hadoop编程

1、工具:

                idea:社区版和终极版(注册,参见https://blog.csdn.net/qq_35246620/article/details/79050895)

                maven:跟linux安装差不多

(1)解压apache-maven-3.3.9.jar

(2)找到conf目录下settings.xml文件

(3)打开并修改settings.xml

Hadoop综合编程_第1张图片

(4)创建文件夹D:\software\apache-maven-3.3.9\repository

(5)idea配置maven路径

Hadoop综合编程_第2张图片

Hadoop综合编程_第3张图片

二、idea安装插件

三、创建工程

1、安装scala

Hadoop综合编程_第4张图片

2、创建maven工程

Hadoop综合编程_第5张图片

3、next

Hadoop综合编程_第6张图片

4、newprojece

Hadoop综合编程_第7张图片

5、创建project名字和地址

Hadoop综合编程_第8张图片

Hadoop综合编程_第9张图片

成功

6、删除App、AppTest、MySpec

Hadoop综合编程_第10张图片

7、将pom.xml文件中标红内容删除

Hadoop综合编程_第11张图片

8、将老师项目的pom.xml的复制到自己创建的maven项目中

Hadoop综合编程_第12张图片

四、通过使用maven来自动管理和更新包

1、登陆https://mvnrepository.com

2、找到自己需要的包

Hadoop综合编程_第13张图片

3、点击所需的版本

Hadoop综合编程_第14张图片

4、复制dependency里的内容到自己的pom.xml里

Hadoop综合编程_第15张图片

注意:一定在dependencies里

Hadoop综合编程_第16张图片

五、hadoop编程

1、修改package

Hadoop综合编程_第17张图片

2、将老师给的java文件(3个类)放在此包下

Hadoop综合编程_第18张图片

3、创建一个HDFS的类

Hadoop综合编程_第19张图片

快捷键:psvm

4、定义一个配置文件

根据配置:

Hadoop综合编程_第20张图片

Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://192.168.137.130:9000/");

5、定义一个文件系统

Hadoop综合编程_第21张图片

6、查看FileSystem有多少属性

Hadoop综合编程_第22张图片

Hadoop综合编程_第23张图片

7、由于有两种方式传参,因此可以直接传conf

Hadoop综合编程_第24张图片

8、创建一个文件夹

Hadoop综合编程_第25张图片

Hadoop综合编程_第26张图片

9、分析mkdirs方法

返回boolean类型

Hadoop综合编程_第27张图片

10、运行

注意:

(1)要打开hdfs

(2)要配置dfs无限制

(3)要离开安全模式

Hadoop综合编程_第28张图片

六、上传文件

Hadoop综合编程_第29张图片

用这个copyFromLocalFile方法上传文件

Hadoop综合编程_第30张图片

注意:

用"C:/Users/dell/Desktop/hellohadoop.txt"这个格式传参给Path

Hadoop综合编程_第31张图片

六、下载文件

在不清楚具体下载方法的情况的思路:

1、在服务器输入hdfs dfs 查看命令帮助

Hadoop综合编程_第32张图片

2、与copyFromLocal相对应,我们找的是copyToLocal

3、报错

4、需要在window解压部署hadoop

             * 1. windows 解压hadoop2.8.1

             * 2. 设置环境变量

             * HADOOP_HOME=E:\BIGDATA\hadoop-2.8.1

             * PATH=%HADOOP_HOME/bin;xxxxxxx

             * 3.winutils.exe hadoop.dll 放到bin文件夹

             * 4.重启笔记本 生效

5、成功

Hadoop综合编程_第33张图片

6、其他

七、研究wordcount

1、删除原来的老师给的wordcount,新建自己的wordcount2,仿照官网的类名

2、将官网的内容复制到wordcount2(http://hadoop.apache.org/docs/r2.8.4/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html)

Hadoop综合编程_第34张图片

3 、run

需要传输入/输出两个参数

Hadoop综合编程_第35张图片

4、先不在yarn平台配置,本地程序参数里面配置测试

Hadoop综合编程_第36张图片

Hadoop综合编程_第37张图片

Hadoop综合编程_第38张图片

5、在window新建目录

输入:C:\Users\dell\Desktop\hadoop\input\HBinztast.log

输出:C:\Users\dell\Desktop\hadoop\output\(注意:不要建output文件夹,会出错

报错:

Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)

6、百度解决

https://www.cnblogs.com/duking1991/p/6111490.html

7、解压hadoop-2.8.1-src源码

8、找到NaticeIO.java所在位置

9、新建一个包,并存放NativeIO.java:


org.apache.hadoop.io.nativeio

10、修改606源码,return true;

注意:如果报错只有可读权限,那将找到这个文件夹,将只读权限去掉即可

11、run

Hadoop综合编程_第39张图片

Hadoop综合编程_第40张图片

八、maven打包给linux运行

1、打包

Hadoop综合编程_第41张图片

2、上传到linux服务器

rz 

3、提交到yarn

yarn jar /opt/software/d3-1.0-SNAPSHOT.jar com.ruozedata.hadoop.WordCount2 /wordcount/input /wordcount/output5

注意:这里不是yarn jar xxx.jar wordcount 而是用自己包的名和具体的方法,所以是

yarn jar /opt/software/d3-1.0-SNAPSHOT.jar com.ruozedata.hadoop.WordCount2 /wordcount/input /wordcount/output5

你可能感兴趣的:(Hadoop综合编程)