大数据技术之Hadoop:使用命令操作HDFS(四)

news/2024/5/20 2:22:08 标签: 大数据, hadoop, hdfs, java

目录

一、创建文件夹

二、查看指定目录下的内容

三、上传文件到HDFS指定目录下

四、查看HDFS文件内容

五、下载HDFS文件

六、拷贝HDFS文件

七、HDFS数据移动操作

八、HDFS数据删除操作

九、HDFS的其他命令

hdfs%20web%E6%9F%A5%E7%9C%8B%E7%9B%AE%E5%BD%95-toc" style="margin-left:0px;">十、hdfs web查看目录

十一、HDFS客户端工具

11.1 下载插件

11.2 本地安装Hadoop环境

11.3 配置Big Data Tools插件

11.4 基本功能使用


在HDFS中的命令,基本上就是照搬的Linux命令。只要你熟悉Linux命令,那么HDFS命令基本上一遍过。它的目录结构和linux非常相似。

举个例子:

Linux 中:mkdir -p /opt/mynote

HDFS中:hadoop fs -mkdir -p /opt/mynote

        或者  hdfs dfs -mkdir -p /opt/mynote

所以说,是不是没什么区别?🫢

那么我们这就引出了第一个HDFS操作命令。

一、创建文件夹

hadoop fs -mkdir [-p] <path> ...
hdfs dfs -mkdir [-p] <path> ...

path 为待创建的目录

-p选项的行为与Linux mkdir -p一致,它会沿着路径创建父目录。

举例

如何查看创建的文件夹在哪里呢?

二、查看指定目录下的内容

hadoop fs -ls [-h] [-R] [<path> ...] 
hdfs dfs -ls [-h] [-R] [<path> ...] 

path 指定目录路径 

-h 人性化显示文件size

-R 递归查看指定目录及其子目录

举例

三、上传文件到HDFS指定目录下

hadoop fs -put [-f] [-p] <localsrc> ... <dst>
hdfs dfs -put [-f] [-p] <localsrc> ... <dst>

-f 覆盖目标文件(已存在下) 

-p 保留访问和修改时间,所有权和权限。

localsrc 本地文件系统(客户端所在机器)

dst 目标文件系统(HDFS

例如

注意:如果是客户端所在的机器,我们一般用file://前缀指代,hdfshdfs://指代,当然了默认情况下,我们一般选择省略。

四、查看HDFS文件内容

hadoop fs -cat <src> ... 
hdfs dfs -cat <src> ...
        

读取指定文件全部内容,显示在标准输出控制台。

例如

读取大文件可以使用管道符配合 more

hadoop fs -cat <src> | more
hdfs dfs -cat <src> | more

、下载HDFS文件

hadoop fs -get [-f] [-p] <src> ... <localdst>
hdfs dfs -get [-f] [-p] <src> ... <localdst>

下载文件到本地文件系统指定目录localdst必须是目录

-f 覆盖目标文件(已存在下)

-p 保留访问和修改时间,所有权和权限

六、拷贝HDFS文件

hadoop fs -cp [-f] <src> ... <dst> 
hdfs dfs -cp [-f] <src> ... <dst>

-f 覆盖目标文件(已存在下

例如

七、HDFS数据移动操作

hadoop fs -mv <src> ... <dst>
hdfs dfs -mv <src> ... <dst>

移动文件到指定文件夹下

可以使用该命令移动数据,重命名文件的名称

八、HDFS数据删除操作

hadoop fs -rm -r [-skipTrash] URI [URI ...]
hdfs dfs -rm -r [-skipTrash] URI [URI ...]

删除指定路径的文件或文件夹

-skipTrash 跳过回收站,直接删除

ps

回收站功能默认关闭,如果要开启需要在core-site.xml内配置:

<property>
    <name>fs.trash.interval</name>
    <value>1440</value>
</property>

<property>
    <name>fs.trash.checkpoint.interval</name>
    <value>120</value>
</property>

无需重启集群,在哪个机器配置的,在哪个机器执行命令就生效。

回收站默认位置在:/user/用户名(hadoop)/.Trash

九、HDFS的其他命令

以上命令能够满足绝大多数的hdfs场景,如需更详细的命令,请参考官方文档:

https://hadoop.apache.org/docs/r3.3.4/hadoop-project-dist/hadoop-common/FileSystemShell.html

hdfs%20web%E6%9F%A5%E7%9C%8B%E7%9B%AE%E5%BD%95" style="background-color:transparent;">十、hdfs web查看目录

默认只能查看,不能增删改操作。如果使用WEB浏览操作文件系统,一般会遇到权限问题

这是因为WEB浏览器中是以匿名用户(dr.who)登陆的,其只有只读权限,多数操作是做不了的。

如果需要以特权用户在浏览器中进行操作,需要配置如下内容到core-site.xml并重启集群

  <property>
    <name>hadoop.http.staticuser.user</name>
    <value>hadoop</value>
  </property>

但是,不推荐这样做!

HDFS WEBUI,只读权限挺好的,简单浏览即可

如果给与高权限,会有很大的安全问题,造成数据泄露或丢失

十一、HDFS客户端工具

如果觉得通过命令操作hdfs比较麻烦,其实我们还可以使用客户端工具。

11.1 下载插件

如果你用的IDE工具是IDEA或者Pycharm,又或者使用的是DataGrip这种数据库工具,它们都是Jetbrains家的产品。

那么我们可以在插件市场下载一个插件:Big Data Tools。

它能够更加方便的让我们操作HDFS。

11.2 本地安装Hadoop环境

解压Hadoop安装包到Windows系统,如解压到:D:\it\hadoop-3.3.4\hadoop-3.3.4

设置$HADOOP_HOME环境变量指向:D:\it\hadoop-3.3.4\hadoop-3.3.4

下载如下两个资源

hadoop.dll(https://github.com/steveloughran/winutils/blob/master/hadoop-3.0.0/bin/hadoop.dll)

winutils.exe(https://github.com/steveloughran/winutils/blob/master/hadoop-3.0.0/bin/winutils.exe)

hadoop.dllwinutils.exe放入$HADOOP_HOME/bin

11.3 配置Big Data Tools插件

11.4 基本功能使用

这部分不用多说,有手就行🫢。


http://www.niftyadmin.cn/n/5005079.html

相关文章

[LINUX使用] iptables tcpdump

iptables: 收到来自 10.10.10.10 的数据后都丢弃 iptables -I INPUT -s 10.10.10.10 -j DROP 直接 reject 来自 10.10.10.* 网段的数据 iptables -I INPUT -s 10.10.10.0/24 -j REJECT tcpdump: dump eth0的数据到本地 tcpdump -i eth0 -w dump.pcap 只抓 目的地址是 10…

Vue + Element UI 前端篇(七):功能组件封装

组件封装 为了避免组件代码的臃肿&#xff0c;这里对主要的功能部件进行封装&#xff0c;保证代码的模块化和简洁度。 组件结构 组件封装重构后&#xff0c;试图组件结构如下图所示 代码一览 Home组件被简化&#xff0c;包含导航、头部和主内容三个组件。 Home.vue <te…

java八股文面试[数据库]——Page页的结构

mysql中数据是存储在物理磁盘上的&#xff0c;而真正的数据处理又是在内存中执行的。由于磁盘的读写速度非常慢&#xff0c;如果每次操作都对磁盘进行频繁读写的话&#xff0c;那么性能一定非常差。为了上述问题&#xff0c;InnoDB将数据划分为若干页&#xff0c;以页作为磁盘与…

Javascript中的异常类型6种

以下是一些常见的 JavaScript 异常类型及其使用场景的详细说明&#xff1a; 1.Error try { // 可能抛出异常的代码 } catch (error) { console.error(error); }这是最常见的异常类型&#xff0c;表示程序中出现了未处理的错误。当出现错误时&#xff0c;会创建一个 Err…

从0到1构建界面设计系统思维

用户界面&#xff08;UI&#xff09;是人与机器之间发生交互的载体&#xff0c;也是用户体验&#xff08;UX&#xff09;的一个组成部分。用户界面由两个主要部分组成&#xff1a;视觉设计&#xff08;即传达产品的外观和感觉&#xff09;和交互设计&#xff08;即元素的功能和…

利用 Python-user-agents 解析 User_Agent

利用 Python-user-agents 解析 User_Agen 需求分析 近期在尝试做一个登录日志的功能&#xff0c;及用户登录成功后我在后台进行一个用户的登录记录&#xff0c;两种解决方案&#xff1a; 由前端得到用户的手机型号&#xff0c;我在后台接收后在数据库进行保存使用User_Agent…

FPN模型

【简介】 2017年&#xff0c;T.-Y.Lin等人在Faster RCNN的基础上进一步提出了特征金字塔网络FPN(Feature Pyramid Networks)技术。在FPN技术出现之前&#xff0c;大多数检测算法的检测头都位于网络的最顶层(最深层)&#xff0c;虽说最深层的特征具备更丰富的语义信息&#xff0…

Vue + Element UI 实现权限管理系统 前端篇(四):优化登录流程

完善登录流程 1. 丰富登录界面 1.1 从 Element 指南中选择组件模板丰富登录界面&#xff0c;放置一个登录界面表单&#xff0c;包含账号密码输入框和登录重置按钮。 <template><el-form :model"loginForm" :rules"fieldRules" ref"loginFo…