前言:

本篇文章针对于2020秋季学期的复习操作,一是对该学期的巩固,二是让老师知道他的努力没有白费,同时,在此感谢徐老师对我们的精心教导…

本文所需材料

IntelliJ IDEA
官网→https://www.jetbrains.com/idea/
我的网盘→https://pan.baidu.com/s/1LPU4H0OcmH8NELdCwWOtIA
→t123

实操

前提:
打开hadoop集群
打开IDEA
①创建maven工程之javaAPI操作hadoop




上面的setting.xml里面可以定制成阿里云的,国内的服务器嘛,下载更快!
接着会下载maven项目的‘架子’
好了之后是这样的

接下来导入我们需要的jar包
在pom文件添加

<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><!--    xml配置文件中, hdfs.version称之为“标签”, 2.7.6 称之为“标签体” →--><hdfs.version>2.7.6</hdfs.version></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><!-- 导入hdfs api所需要的jar包对应的依赖--><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-common</artifactId><version>${hdfs.version}</version></dependency><!--hadoop-client hadoop的客户端,借助该模块下的api,操作远程的hadoop分布式文件系统  --><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-client</artifactId><!--  $:el表达式,expression language的缩写  读取properties节点下指定的子节点的标签体的值--><version>${hdfs.version}</version></dependency><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-hdfs</artifactId><version>${hdfs.version}</version></dependency></dependencies>

添加好了我们刷新它会自动从远程仓库下载依赖包jar到本地
或者点击download sources and documentation也可以

出现以下依赖包且没有报红说明成功了!!!

配置log4j
resources
log4j.properties

log4j.rootLogger=WARN,stdout,file,Rlog4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%nlog4j.appender.file = org.apache.log4j.FileAppender
log4j.appender.file.File = ./logs/log-infos.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%nlog4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=./logs/log-infos.log
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d-[TS] %p %t %c - %m%n

创建测试Java文件

/*** Copyright (C), 2021-01-23** @author 田信坤* Author:   TianXinKun* Date:     2021/1/23 19:35* Description: 测试JavaAPI操作远程hadoop集群*/
package org.example;import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;/*** <功能简要> <br>* <测试JavaAPI操作远程hadoop集群>** @Author TianXinKun* @createTime 2021/1/23 19:35* This program is protected by copyright laws. <br/>* @version : 1.0*/
public class TestHadoop {/*** FileSystem就是对HDFS的抽取和封装*/private FileSystem fileSystem;/*** 对hdfs核心配置文件的抽取和封装,如:cores-site.xml,hdfs-site.xml*/Configuration conf;/*** 进行初始化*/@Beforepublic void init() {//对全局变量进行初始化conf = new Configuration();try {//URI: uniform resource indentifer, 统一资源标识符,如:hdfs,http,ftp等等协议所标注的远程资源//URL: uniform resource locator, 统一资源定位符,一般指的是http所标识的网络资源,如:https://fanyi.baidu.com/#en/zh/artifact//URL是URI的子集URI uri = new URI("hdfs://Mymaster:8020/");fileSystem = FileSystem.get(uri,conf);} catch (IOException e) {e.printStackTrace();} catch (URISyntaxException e) {e.printStackTrace();}}/*** 测试环境→ 用来验证java客户端能够正常连接远程的hadoop分布式集群** [root@master ~]# hdfs dfs -cat /input/a.txt* hello you** hello kitty** are you ok* 最近可好* 感觉如何?* [root@master ~]#*/@Testpublic void testEnv() {System.out.println("fileSystem = " + fileSystem);try (FSDataInputStream in = fileSystem.open(new Path("hdfs://Mymaster:8020/input/Test.txt"))) {byte[] bytes = new byte[1024];int len = -1;while ((len = in.read(bytes)) != -1) {String content = new String(bytes, 0, len);System.out.print(content);}} catch (IOException e) {e.printStackTrace();}}/*** 进行资源释放*/@Afterpublic void releaseResource() {if (fileSystem != null) {try {fileSystem.close();} catch (IOException e) {e.printStackTrace();}}}
}

进程确认

资源确定

在测试类中执行

结果正确,maven项目创建成功!!
那么本文复习到此结束!!!
编写于2021-1-23

大数据学习之javaAPI远程操作hadoop相关推荐

  1. 大数据学习笔记第1课 Hadoop基础理论与集群搭建

    大数据学习笔记第1课 Hadoop基础理论与集群搭建 一.环境准备 二.下载JDK 三.安装JDK 四.下载hadoop 五.安装hadoop集群 六.打通3台服务器的免密登录 七.hadoop集群配 ...

  2. 大数据学习笔记(四)Hadoop集群(完全分布式)

    一.Hadoop集群(完全分布式) 1. 准备工作 1.1 拿模板机克隆三台虚拟机(DT100,DT101,dt102),其中DT100作为master,DT101,102作为slaves A.在ma ...

  3. 大数据学习笔记(二)hadoop

    一.Hadoop生态 ​​ 二.Hadoop环境的搭建 1. 准备工作 A-新建一台虚拟机 (刚刚安装的全新系统)dt100 B.关闭防火墙 systemctl stop firewalld #关闭防 ...

  4. 大数据学习1 - hadoop环境搭建及操作

    目录 目录 目录 一.什么是大数据? 二.什么是hadoop? 1.Hadoop核心组件 2.HDFS架构 3.MapReduce 3.Yarn架构 ​编辑 三.Hadoop的集群模式 1.完全分布模 ...

  5. 大数据学习之hadoop——07阿里云服务器搭建集群以及遇到的问题解决办法

    在这段服务器搭建伪分布集群中我遇到了如下问题 1.进入远程连接界面却不知道密码 2.使用MobaXtem工具连接服务器失败 3.集群格式化失败 4.web访问失败 按照下面的所有步骤操作.以上的问题都 ...

  6. 大数据学习笔记:Hadoop生态系统

    文章目录 一.Hadoop是什么 二.Hadoop生态系统图 三.Hadoop生态圈常用组件 (一)Hadoop (二)HDFS (三)MapReduce (四)Hive (五)Hbase (六)Zo ...

  7. hdp对应hadoop的版本_好程序员大数据学习路线分享hadoop的知识总结

    大数据学习路线分享hadoop的知识总结,Hadoop的背景:原生公司是apache, cdh的cloudar公司,hortworks公司提供hdp. 其中apache的发行版本大致有1.x ,2.x ...

  8. 正式进入Hadoop学习 不会再有比我还全面的大数据学习(三) Hadoop生态圈

    废寝忘食整理出来的知识梳理,希望能对大家有所帮助 一.概述 1.1 大数据概念 大数据是需要新处理模式才能具有更强的决策力 .洞察发现力和流程优化能力来适应海量.高增长率和多样化的信息资产 1.2 大 ...

  9. 大数据学习--kafka+flume++sqoop+hadoop+zookeeper+spark+flink

    大数据工程师 学习指南 一必备技能 Zookeeper.Hadoop.Hive.HBase.Flume.Sqoop.Flink 等等 1定义(from百度百科) 1.1Zookeeper 百度百科-验 ...

最新文章

  1. mvc的宿舍管理系统源码 基于jsp_[源码和文档分享]基于JSP的MVC框架实现的图书推荐系统展示平台网站...
  2. 微信公众号可快速创建“门店小程序” 不用开发
  3. 发一张你认为很漂亮的美女照片?
  4. 策略(strategy)模式
  5. security 底层原理_spring security 实现remeber me(免登陆功能)的原理
  6. java data jpa_Spring Data JPA(一)简介
  7. mysql隔离级别和mvcc_数据库MVCC和隔离级别的关系是什么?
  8. 如何在CentOS 7.x / RHEL 7.x上搭建Docker Private Registry(Docker私有仓库)
  9. 一起谈谈 Java 9 的新特性
  10. [jquery]高级篇--获取div子元素
  11. 进化计算-遗传算法-入门级最好教程
  12. java cmd退出_在Java中关闭命令行窗口
  13. 下载任意范围的DEM数据 国产谷歌地球统统满足你
  14. 配对碱基链(C语言)
  15. 鸿蒙OS分布式任务调度,鸿蒙子系统解读-分布式任务调度篇(下)
  16. 快门速度,光圈,感光度
  17. 在KTV选什么歌才能成为麦霸?
  18. oracle 数据库网络传输,Oracle数据库之间数据传输方法探讨
  19. 测距仪控制c语言程序,激光测距仪系统设计(机械图电路图c语言程序)
  20. 简易双人坦克大战制作流程(二)

热门文章

  1. PTA 天梯赛 L1-079 天梯赛的善良 (20 分) 详解
  2. 世界各国劳动力总数数据集1990-2019年
  3. 转自g+,一个有意思的故事
  4. BatchNorm的通俗解释
  5. 全球与中国石材加工机械市场现状及未来发展趋势
  6. 计算机原理理解编程语言_计算机如何理解我们对编程语言及其工作原理的高级概述...
  7. 我在谷歌大脑见习机器学习的一年:Node.js创始人的尝试笔记
  8. 为什么有的人特别招蚊子?
  9. Win10、Win7定时开关机
  10. zynq 移植ubuntu_ROS ZYNQ移植