Java 操作 Hadoop 集群之 HDFS 的应用案例详解

这篇具有很好参考价值的文章主要介绍了Java 操作 Hadoop 集群之 HDFS 的应用案例详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Java 操作 Hadoop

注意:本文内容基于 Hadoop 集群搭建完成基础上:
Linux 系统 CentOS7 上搭建 Hadoop HDFS集群详细步骤

本文的内容是基于下面前提:

  • Hadoop 集群搭建完成并能正常启动和访问
  • Idea 和 Maven 分别安装完成
  • 需要有 JavaSE 基础和熟悉操作hadoop 的 hdfs dfs 命令

内容大纲

  • Maven 及 idea 中 Maven 相关配置
    • 本地仓库
    • 阿里镜像
    • JDK 编译版本
  • Java 操作 Hadoop
    • 查询文件列表
    • 上传文件及应用案例
    • 读取文件内容
    • 新建文件及内容追加
    • 文件删除
    • 文件下载
    • 文件移动

配置 Idea 中的 Maven

配置 Maven

配置文件目录:maven 安装目录/conf/settings.xml

  • 本地仓库
  • 阿里镜像
  • JDK 编译版本
本地仓库
<localRepository>D:/Soft/apache-maven-3.6.3/repo</localRepository>
阿里镜像

默认下载的地址是国外网址,速度比较慢或不稳定,可以配置切换为阿里的网址

settings.xml 中找到<mirrors>节点,在节点中配置子节点<mirror>

配置如下:

<mirrors>   
<!-- mirror
     | Specifies a repository mirror site to use instead of a given repository. The repository that
     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
     |
    <mirror>
      <id>mirrorId</id>
      <mirrorOf>repositoryId</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://my.repository.com/repo/path</url>
    </mirror>
	<mirror>
		<id>nexus-aliyun</id>
		<mirrorOf>central</mirrorOf>
		<name>Nexus aliyun</name>
		<url>http://maven.aliyun.com/nexus/content/groups/public</url>
	</mirror>
     -->
	 
	<mirror>
		<id>nexus-aliyun</id>
		<mirrorOf>central</mirrorOf>
		<name>Nexus aliyun</name>
		<url>http://maven.aliyun.com/nexus/content/groups/public</url>
	</mirror>

  </mirrors>
配置 JDK

在 settings.xml 中找到 <profiles> 节点,在中间增加子节点<profile>

增加的内容如下:

	<profile>
		<id>jdk11</id>
		<activation>
			<activeByDefault>true</activeByDefault>
			<jdk>11</jdk>
		</activation>
		<properties>
			<maven.compiler.source>11</maven.compiler.source>
			<maven.compiler.target>11</maven.compiler.target>
			<maven.compiler.compilerVersion>11</maven.compiler.compilerVersion>
		</properties>
	</profile>

Java 操作 Hadoop

  • 查询指定目录下文件列表 — ls
  • 在 hadoop 上创建目录
  • 上传本地(windows) 上传到 hadoop
  • 下载 hdfs 上的文件到本地
  • 写出内容到 hdfs 指定文件中
  • 删除指定文件

准备

  • 使用 idea 新建 maven 项目
  • 配置 pom.xml

在空工程下新建 module

Java 操作 Hadoop 集群之 HDFS 的应用案例详解,大数据,hadoop,java,hdfs

配置 pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.wdzl</groupId>
    <artifactId>hadoop04</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-hdfs</artifactId>
            <version>3.2.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
            <version>3.2.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>3.2.0</version>
        </dependency>
    </dependencies>

</project>

注意:配置 pom.xml 完成后,一定要注意点击右上角的刷新按钮

现在对文件的操作成功与否,可以通过浏览器访问页面来查看

Java 操作 Hadoop 集群之 HDFS 的应用案例详解,大数据,hadoop,java,hdfs

查询文件列表

用到的 Java 的 API :文章来源地址https://www.toymoban.com/news/detail-853682.html

  • org.apache.hadoop.conf.Configuration
  • org.apache.hadoop.fs.FileSystem
  • org.apache.hadoop.fs.FileStatus
  • org.apache.hadoop.fs.Path
package org.wdzl;

import org.apache.hadoop.conf.Configuration;
import 

到了这里,关于Java 操作 Hadoop 集群之 HDFS 的应用案例详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【hadoop】Java API连接(操作)HDFS

    直接运行下面的代码,会出现权限不够的问题 错误: org.apache.hadoop.security.AccessControlException: Permission denied: user=lenovo, access=WRITE, inode=“/folder1”:root:supergroup:drwxr-xr-x 下面使用四种方式来解决权限不够的问题。 环境变量 :HADOOP_USER_NAME 根据下面的步骤使用Java的-D参数 在linux上,

    2024年02月16日
    浏览(41)
  • Hadoop-HDFS详解与HA,完全分布式集群搭建(细到令人发指的教程)

    本篇篇幅较长,有许多集群搭建干货,和枯燥乏味但是面试可能问到的理论知识。 思来想去不知道怎样才能鼓励自己加油学习,想想要面对的生活还是假吧意思打开学习视频吧。 目录 一、引入 hdfs是什么 hdfs的由来 hdfs架构体系 hdfs的优缺点 优点 缺点 二、HDFS_block简介和注意

    2023年04月19日
    浏览(57)
  • JAVA操作HDFS集群

    HDFS安全模式 注意:只有安全模式关闭时,上传下载文件才会生效 如果Safemode is on 执行 提交文件 在此可对文件进行操作 创建Maven项目 在pom.xml注入依赖 创建两个类 获取hdfs连接对象 在HDFSUTIL创建连接对象,并输出进行测试 可以看到连接成功 实现各种方法 创建目录 在HDFSAPI创

    2024年02月03日
    浏览(37)
  • Hadoop系统应用之MapReduce相关操作【IDEA版】---经典案例“倒排索引、数据去重、TopN”

      倒排索引是文档检索系统中最常用的数据结构,被广泛应用于全文搜索引擎。倒排索引主要用来存储某个单词(或词组)在一组文档中的存储位置的映射,提供了可以根据内容来查找文档的方式,而不是根据文档来确定内容,因此称为倒排索引(Inverted Index)。带有倒排索引

    2024年02月07日
    浏览(49)
  • 【大数据之Hadoop】二十八、生产调优-HDFS集群扩容及缩容

      增加或缩减服务器,注意不允许白名单和黑名单同时出现同一个主机。   原有数据节点不能满足数据存储需求时,需要在原有集群的基础上动态增加节点,即动态增加服务器,增加服务器的同时不需要重启集群。   hadoop完全分布式集群设置了3个datanode节点,当白名

    2024年02月03日
    浏览(62)
  • Hadoop 使用Linux操作系统与Java熟悉常用的HDFS操作

    注意看评论区获取完整代码资料 目录 一、实验目的 二、实验平台 三、实验步骤 理解HDFS在Hadoop体系结构中的角色; 熟练使用HDFS操作常用的Shell命令; 熟悉HDFS操作常用的Java API。 操作系统:Linux(建议Ubuntu16.04); Hadoop版本:2.7.1; JDK版本:1.8或以上版本; Java IDE:Eclipse。

    2024年02月03日
    浏览(53)
  • Hadoop——HDFS的Java API操作(文件上传、下载、删除等)

    1、创建Maven项目 2、修改pom.xml文件 3、添加四个配置文件 为避免运行的一些错误,我们将Hadoop的四个重要配置文件添加到resources中 4、创建测试文件JavaAPI 5、初始化 因为对文件的操作我们都需要获取hdfs对象和关闭对象,所以为避免重复编写,将两个操作对立成单独方法,分别

    2024年02月06日
    浏览(69)
  • 大数据技术之Hadoop:使用命令操作HDFS(四)

    目录 一、创建文件夹 二、查看指定目录下的内容 三、上传文件到HDFS指定目录下 四、查看HDFS文件内容 五、下载HDFS文件 六、拷贝HDFS文件 七、HDFS数据移动操作 八、HDFS数据删除操作 九、HDFS的其他命令 十、hdfs web查看目录 十一、HDFS客户端工具 11.1 下载插件 11.2 本地安装Had

    2024年02月09日
    浏览(47)
  • 0202hdfs的shell操作-hadoop-大数据学习

    以下命令执行默认配置了hadoop的环境变量,且使用新命令。 一键启停脚本 独立进程启停 2.1 HDFS文件系统基本信息 HDFS作为分布式存储的文件系统,有其对数据的路径表达式。如果熟悉Linux文件系统,可以对比学习。 HDFS同Linux系统一样,均是以/作为根目录的组织形式 如何区分

    2024年02月10日
    浏览(53)
  • 大数据与云计算——部署Hadoop集群并运行MapReduce集群案例(超级详细!)

    Linux搭建Hadoop集群(CentOS7+hadoop3.2.0+JDK1.8+Mapreduce完全分布式集群) 本文所用到的版本号: CentOS7 Hadoop3.2.0 JDK1.8 基本概念及重要性 很多小伙伴部署集群用hadoop用mapreduce,却不知道到底部署了什么,有什么用。在部署集群之前先给大家讲一下Hadoop和MapReduce的基本概念,以及它们在大

    2024年02月04日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包