Hdfs java API

1.在主机上启动hadoop

sbin/start-all.sh

这里有一个小窍门,可以在本机上打开8088端口查看三台机器的连接状态,以及可以打开50070端口,查看hdfs文件状况。以我的主虚拟机为例,ip地址为192.168.198.200,所以可以采用下面这种方法使用这两个端口:

http://192.168.198.200:8088/
http://192.168.198.200:500070/

没有对hdfs进行任何操作的话,50070端口不会有任何文件显示,这是正常的,不代表发生了异常。8088端口显示的节点正常来说至少要为3,不对的话,说明有从机启动失败,此时就需要到各个从机节点处排错,检查配置文件和环境变量事都有异常。排错完成后重启hadoop

---------------------------------------------------------------------------------------------------------------------------------

2.采用简单命令检查hdfs配置是否正常

采用这个命令查看hdfs目录,没有进行任何操作的话不会有任何显示,这是正常的现象

hadoop fs -ls /

---------------------------------------------------------------------------------------------------------------------------------

3.在idea中创建maven项目

jdk要采用和本机一致的jdk版本,Archetype随便选即可

可以使用java -version命令,查看本机jdk版本

---------------------------------------------------------------------------------------------------------------------------------

4.下载Hdfs依赖

在pom.xml中修改,有一个单独的文件,不是target目录下的pom.xml文件!

在project标签中插入以下内容:

<dependencies>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-client</artifactId>
      <version>3.3.4</version>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-hdfs</artifactId>
      <version>3.3.4</version>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-common</artifactId>
      <version>3.3.4</version>
    </dependency>
  </dependencies>

要选择和hadoop版本一致的依赖文件的版本,我的hadoop版本是3.3.4所以version标签是3.3.4,修改完成后要按提示下载依赖配置文件,然后静静的等待这些文件下载即可

---------------------------------------------------------------------------------------------------------------------------------

5.创建java类

在main文件夹下创建java文件夹,创建java类。但是这里不会一开始就建立主类,要自行调整为主类(New->dictionary->class)

---------------------------------------------------------------------------------------------------------------------------------

6.编写java代码

首先要配置本机环境变量,这一步必须提前设置,不然后续会出现权限错误报错!

代码如下:

import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import org.apache.hadoop.hdfs.DistributedFileSystem;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

public class test {
    public static void main( String[] args ) throws IOException, URISyntaxException, InterruptedException {
        Configuration config = new Configuration();
        config.set("fs.defaultFS", "hdfs://192.168.198.200:9000");
        FileSystem hdfs = FileSystem.get(new URI("hdfs://192.168.198.200:9000"),config,"root");
        Path local = new Path("file:/C:/Users/csr/Desktop/ihadoop.txt");
        Path remote = new Path("hdfs://192.168.198.200:9000/test/ihadoop.txt");
        hdfs.copyFromLocalFile(local, remote);
        System.out.print("file upload success!");
        hdfs.close();
    }
}

其中ip地址,文件地址替换为对应的正确地址即可,不要直接复制粘贴

---------------------------------------------------------------------------------------------------------------------------------

7.检查文件

输入指令查看或者在50070端口查看

---------------------------------------------------------------------------------------------------------------------------------

8.其他操作

和linux中文件的操作基本类似

1.查看目录:hadoop fs -ls /文件夹名字
2.删除文件夹:bin/hdfs dfs -rm -r /文件夹名
  删除文件:bin/hdfs dfs -rm -f /文件夹名/文件名
3.创建文件夹:hadoop fs -mkdir /文件夹名
4.创建文件:mkdir 文件名(hadoop)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/244467.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何处理好面试中的“压力测试”?

作为一名求职者&#xff0c;在面试时有时遇到的是压力测试&#xff0c;有时则遇到的是一些无良企业单位&#xff0c;究竟如何把握忍耐的限度&#xff0c;才合格当一个能经受压力的员工&#xff0c;才能避免对无良单位的一味隐忍! 压力面试是指有意制造紧张&#xff0c;以了解求…

Java_内部类枚举

内部类 内部类: 是类中的五大成分之一&#xff08;成员变量、方法、构造器、内部类、代码块)&#xff0c;如果一个类定义在另一个类的内部&#xff0c;这个类就是内部类。场景:当一个类的内部&#xff0c;包含了一个完整的事物&#xff0c;且这个事物没有必要单独设计时&#x…

L1-042:日期格式化

题目描述 世界上不同国家有不同的写日期的习惯。比如美国人习惯写成“月-日-年”&#xff0c;而中国人习惯写成“年-月-日”。下面请你写个程序&#xff0c;自动把读入的美国格式的日期改写成中国习惯的日期。 输入格式&#xff1a; 输入在一行中按照“mm-dd-yyyy”的格式给出月…

SSL通配符详解

通配符证书是一种特殊的SSL/TLS证书&#xff0c;它允许一个域名及其所有子域名使用相同的证书。这意味着&#xff0c;如果您有一个通配符证书&#xff0c;您可以为该证书中的任何子域名提供SSL/TLS加密&#xff0c;而无需为每个子域名单独购买和配置证书。 通配符证书使用通配…

vue前端访问Django channels WebSocket失败

现象 前端报错&#xff1a;SSH.vue:51 WebSocket connection to ‘ws://127.0.0.1:8000/server/terminal/120.59.88.26/22/1/’ failed: 后端报错&#xff1a;Not Found: /server/terminal/120.79.83.26/22/1/ 原因 django的版本与channels的版本不匹配&#xff08;django…

统计学基础知识

记录一些基础概念 1.总体&#xff1a;是指根据研究目的所确定的观察单位某项特征的集合。 2.样本&#xff1a;就是从总体中抽出的部分观察单位某项特征的集合。 3.参数&#xff1a;是用于描述总体特征的指标&#xff0c;如总体均数&#xff08;μ&#xff09;&#xff0c;总体标…

XCP详解「4.1·问题-polling有效,DAQ无效」

改用DAQ模式后&#xff0c;没有周期报文发出&#xff0c;log如下 正常的LOG 排查发现 &#xff0c;Task里没有mapping CanXcp_MainFunction&#xff0c;只是mapping了Xcp_MainFunction这就导致了XCP polling模式功能正常&#xff0c;daq无数据 修改1 修改2, 如果还没奏效&…

Oracle数据库本地部署结合内网穿透实现公网环境PLSQL远程访问

文章目录 前言1. 数据库搭建2. 内网穿透2.1 安装cpolar内网穿透2.2 创建隧道映射 3. 公网远程访问4. 配置固定TCP端口地址4.1 保留一个固定的公网TCP端口地址4.2 配置固定公网TCP端口地址4.3 测试使用固定TCP端口地址远程Oracle 前言 Oracle&#xff0c;是甲骨文公司的一款关系…

详解接口测试

目录 什么是接口&#xff1f; 接口协议的类型 接口测试是什么 HTTP接口的测试用例设计 HTTP接口的测试方法 什么是接口&#xff1f; 在面向对象编程中&#xff0c;接口是一个抽象的概念&#xff0c;用于定义类应该具有的方法和属性。一个类可以实现一个或多个接口&#xf…

Golang导入导出Excel表格

最近项目开发中有涉及到Excel的导入与导出功能&#xff0c;特别是导出表格时需要特定的格式&#xff08;单元格合并等&#xff09;&#xff0c;废话不多说&#xff0c;直接上代码了。 首先用到一个第三方库&#xff0c;实测还是很强大很好用的&#xff0c;就是这个https://git…

官宣 | HelpLook已入驻企业微信应用市场

HelpLook正式入驻企业微信第三方应用市场。 HelpLook支持自定义域名与AI站内搜索&#xff0c;能够帮助企业微信用户搭建所见即所得的企业知识库、产品帮助中心、用户手册、企业博客。 | 怎么找到HelpLook并开始使用 在企业微信的第三方应用就可直接搜索HelpLook&#xff0c;添…

innovus:generateRCFactor对比第三方spef方法

我正在「拾陆楼」和朋友们讨论有趣的话题&#xff0c;你⼀起来吧&#xff1f; 拾陆楼知识星球入口 preroute/postroute以及signoff工具之间rc factor直接影响&#xff0c;各阶段时序与最终signoff工具之间的差别。 以starrcPT为signoff工具&#xff0c;innovus需要用generate…

迎接更高效的数据安全合规与风险评估,美创科技DCAS正式商用发布!

数据安全合规与风险评估&#xff0c;是清晰数据安全合规与风险差距&#xff0c;实现可落地数据安全建设和持续改进的关键一环。然而实施起来&#xff0c;你的团队是否面临着这些烦恼&#xff1a; 数据安全合规要求繁多&#xff0c;难以全面掌握&#xff1f; 复杂评估流程带来效…

计算两股不同流量的气体,通过换热器换热后,高温气体的出口温度

# -*- coding: utf-8 -*- """ Created on Thu Nov 30 11:23:12 2023 计算两股不同流量的气体&#xff0c;通过换热器换热后&#xff0c;高温气体的出口温度 (煤烟二级&#xff0c;计算煤烟二级热侧出口温度) ------------------------------------------------ …

初识大数据应用,一文掌握大数据知识文集(1)

文章目录 &#x1f3c6;初识大数据应用知识&#x1f50e;一、初识大数据应用知识(1)&#x1f341; 01、请用Java实现非递归二分查询&#xff1f;&#x1f341; 02、是客户端还是Namenode决定输入的分片&#xff1f;&#x1f341; 03、mapred.job.tracker命令的作用&#xff1f;…

Python 接口测试response返回数据对比的方法

背景&#xff1a;之前写的接口测试一直没有支持无限嵌套对比key&#xff0c;上次testerhome逛论坛&#xff0c;有人分享了他的框架&#xff0c;看了一下&#xff0c;有些地方不合适我这边自己修改了一下&#xff0c;部署在jenkins上跑完效果还不错&#xff0c;拿出来分享一下。…

记录 | mac安装node

第一种方法(下载官网对应 node 版本的 .pkg文件) 访问nodejs官网&#xff08;Node.js 中文网&#xff09;选择合适的版本 双击刚下载的 .pkg 文件&#xff0c;进行安装 安装完成后检查 node 和 npm 的版本 node -v npm -v第二种方法,是使用 Homebrew 使用命令安装 //默认安…

Outlook邮箱设置邮件签名的步骤指南

outlook邮箱如何设置邮件签名&#xff1f; 要为Outlook邮箱设置电子邮件签名&#xff0c;请按照以下步骤操作:   1、打开Outlook&#xff0c;从左侧边栏选择“邮件”选项卡。   2、在文件菜单中&#xff0c;从右上角单击“设置”选项。   3、找到“撰写和答复”部分&…

第四十一篇:移动端调试工具

1.下载工具 npm install vconsole 2.在main.js里全局引用 > import Vconsole from vconsole > new Vconsole()

【Linux进程控制】进程终止和等待(waitpid回收僵尸进程)

前言 什么是写时拷贝 创建子进程&#xff0c;没必要将不会被访问 或只读的数据重新拷贝一份 只有将来会被父或子进程写入的数据才 值得拷贝&#xff0c;提前拷贝也并不会立马使用 一般而言即使是os&#xff0c;也无法提前知道 哪些空间可能被写入 所以os选择写时拷贝技术对父子…