当前位置: 首页 > news >正文

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)
http://www.lryc.cn/news/261936.html

相关文章:

  • 大数据Doris(三十七):索引和Rollup基本概念和案例演示
  • 2019年第八届数学建模国际赛小美赛B题数据中心冷出风口的设计解题全过程文档及程序
  • mmpose 使用笔记
  • <url-pattern>/</url-pattern>与<url-pattern>/*</url-pattern>的区别
  • Spring IoCDI
  • vue使用el-tag完成添加标签操作
  • ACM-MM2023 DITN详解:一个部署友好的超分Transformer
  • STM32超声波——HC_SR04
  • [Excel] vlookup函数
  • Python入门第5篇(爬虫相关)
  • 单元测试二(实验)-云计算2023.12-云南农业大学
  • Axure动态面板的使用以及示例分享
  • 容斥原理的并
  • JavaSE第7篇:封装
  • mysql数据库相关知识【MYSQL】
  • android studio 创建按钮项目
  • gitee提交代码步骤介绍(含git环境搭建)
  • 【MyBatis-Plus】常用的插件介绍(乐观锁、逻辑删除、分页)
  • DApp测试网络Ganache本地部署并实现远程连接
  • 好用的硬盘分区工具,傲梅分区助手 V10.2
  • 【华为鸿蒙系统学习】- HarmonyOS4.0开发|自学篇
  • Qt图像处理-Qt中配置OpenCV打开本地图片
  • HTML中RGB颜色表示法和RGBA颜色表示法
  • Openwrt源码下载出现“The remote end hung up unexpected”
  • Spring定时任务动态更改(增、删、改)Cron表达式方案实例详解
  • 常用登录加密之Shiro与Spring Security的使用对比
  • 获取文件路径里的文件名(不包含扩展名)
  • HiveSql语法优化二 :join算法
  • Leetcode—459.重复的子字符串【简单】
  • Mac安装Typora实现markdown自由