「大数据-2.2」使用命令操作HDFS文件系统
目录
一、HDFS文件系统基本信息
1. HDFS的路径表达形式
2.HDFS和Linux的根目录的区分
二、 使用命令操作HDFS文件系统
0. Hadoop的两套命令体系
1. 创建文件夹
2. 查看指定目录下内容
3. 上传文件到HDFS指定目录下
4. 查看HDFS文件内容
5. 下载HDFS文件
6. 拷贝HDFS文件
7. 追加数据到HDFS文件中
8. HDFS数据移动操作
9. HDFS数据删除操作
拓. 开启HDFS文件系统回收站
10. HDFS的其它命令
三、 HDFS WEB操作HDFS文件系统
1. HDFS WEB浏览HDFS文件系统
2. HDFS WEB操作HDFS文件系统
2.1 默认以匿名用户进入HDFS WEB
2.2 配置core-site.xml文件以特权用户进入HDFS WEB
2.3 使用HDFS WEB对HDFS文件系统进行基本操作
一、HDFS文件系统基本信息
1. HDFS的路径表达形式
HDFS作为分布式存储的文件系统,有其对数据的路径表达方式。
HDFS同Linux系统一样,均是以/作为根目录的组织形式。
2.HDFS和Linux的根目录的区分
2.1 HDFS和Linux的根目录都是/ 那该如何区分两者的根目录呢?
使用协议头file:// 和 hdfs://namenode:port 来区分。
- Linux :file:///
- HDFS:hdfs://namenode:port/ (namenode:主节点 port:端口号)
示例:
- Linux根目录下的test.txt文件路径 :file:///test.txt
- HDFS根目录下的test.txt文件路径:hdfs://node1:8020/test.txt
2.2 协议头file:/// 或 hdfs://node1:8020/可以省略
一般情况下,命令中需要提供Linux路径的参数,会自动识别为file:// ,需要提供HDFS路径的参数,会自动识别为hdfs://
除非命令的文档中明确需要写或不写会有BUG,否则一般不用写协议头,在下面的命令讲解中我会详细说明。
二、 使用命令操作HDFS文件系统
0. Hadoop的两套命令体系
对于HDFS文件系统的操作,Hadoop有2套命令体系:
- hadoop命令(老版本用法),用法:hadoop fs [generic options]
- hdfs命令(新版本用法),用法:hdfs dfs [generic options]
两者在文件系统操作上,用法完全一致 用哪个都可以
某些特殊操作需要选择hadoop命令或hdfs命令 讲到的时候具体分析
1. 创建文件夹
命令: hadoop fs -mkdir [-p] <path> ... hdfs dfs -mkdir [-p] <path> ... 示例: hadoop fs -mkdir -p /bigdata1/test1 hdfs dfs -mkdir -p /bigdata2/test2说明: 如果不带协议头默认是在hdfs的根目录中创建目录 path 为待创建的目录 -p选项的行为与Linux mkdir -p一致,它会沿着路径创建父目录。
2. 查看指定目录下内容
命令: hadoop fs -ls [-h] [-R] [<path> ...] hdfs dfs -ls [-h] [-R] [<path> ...] 示例: hadoop fs -ls -h -R /bigdata1 hdfs dfs -ls -h -R /bigdata12 说明: path 指定目录路径 -h 显示文件大小,带单位 -R 递归查看指定目录及其子目录
3. 上传文件到HDFS指定目录下
上传命令的作用是从Linux文件系统上传文件到HDFS文件系统下。
命令: hadoop fs -put [-f] [-p] <localsrc> ... <dst> hdfs dfs -put [-f] [-p] <localsrc> ... <dst>示例: hadoop fs -put /data/test.txt / hdfs dfs -put -f /data/test.txt /说明: -f 覆盖目标文件(如果已存在同名文件,只能用-f选项强行覆盖,不然无法上传) -p 保留访问和修改时间、所有权和权限。 localsrc 本地文件系统路径(Linux路径) dst 目标文件系统路径(HDFS路径)
4. 查看HDFS文件内容
命令: hadoop fs -cat <dst> ... hdfs dfs -cat <dst> ...示例: hdfs dfs -cat /test.txt说明: dst HDFS文件系统路径
读取大文件可以使用管道符配合more hadoop fs -cat <dst> | more hdfs dfs -cat <dst> | more示例: hadoop fs -cat /test.txt | more hdfs dfs -cat /test.txt | more说明: dst HDFS文件系统路径 | Linux下的管道符 more Linux下的翻页指令 | 和 more配合使用,即可实现翻页查看大文件,不会直接一股脑往后面跳
5. 下载HDFS文件
命令: hadoop fs -get [-f] [-p] <src> ... <localdst> hdfs dfs -get [-f] [-p] <src> ... <localdst>示例: hadoop fs -get ./test.txt . hdfs dfs -get ./test.txt .说明: 下载文件到本地文件系统指定目录,localdst必须是目录 -f 覆盖目标文件(如果已存在同名文件,只能用-f选项强行覆盖,不然无法下载) -p 保留访问和修改时间,所有权和权限。
下载命令的作用是从HDFS文件系统下载文件到Linux文件系统下。
6. 拷贝HDFS文件
命令: hadoop fs -cp [-f] <src> ... <dst> hdfs dfs -cp [-f] <src> ... <dst>示例: hadoop fs -cp /test.txt /bigdata1/test1/说明: -f 覆盖目标文件(已存在下) src HDFS文件系统路径(HDFS路径) dst 目标HDFS文件系统路径(HDFS路径) 该命令用于HDFS文件系统中文件拷贝,从Linux到HDFS这叫上传
7. 追加数据到HDFS文件中
命令: hadoop fs -appendToFile <localsrc> ... <dst> hdfs dfs -appendToFile <localsrc> ... <dst>示例: hadoop fs -appendToFile说明: 该命令用于将给定本地文件的内容追加到给定HDFS文件末尾。 dst如果文件不存在,将创建该文件。 对于HDFS中的文件,我们只能追加和删除,无法随意修改。 如果<localSrc>为-,则输入为从标准输入中读取。
8. HDFS数据移动操作
命令: hadoop fs -mv <src> ... <dst> hdfs dfs -mv <src> ... <dst>示例: hadoop fs -mv /test.txt /test hdfs dfs -mv /test.txt /test说明: 该命令可以移动HDFS文件到指HDFS定文件夹下 也可以使用该命令对文件进行重命名
9. HDFS数据删除操作
命令: hadoop fs -rm -r [-skipTrash] URI [URI ...] hdfs dfs -rm -r [-skipTrash] URI [URI ...] 示例: hadoop fs -rm -r bigdata说明: 带-r就是删除文件夹 删除指定路径的文件或文件夹 -skipTrash 跳过回收站,直接删除(如果没有设置回收站,不用这个选项也是直接删除)
拓. 开启HDFS文件系统回收站
HDFS文件系统是支持回收站的,不过回收站功能默认关闭,如果要开启需要在core-site.xml内配置:
1. 使用vim打开core-site.xml文件: vim /export/server/hadoop/etc/hadoop/core-site.xml2. 按i进入插入模式3. 在<configuration></configuration>中间加入以下内容: <property> <name>fs.trash.interval</name> <value>1440</value> </property><property> <name>fs.trash.checkpoint.interval</name> <value>120</value> </property>4. 按下Esc退出插入模式,按下Shift+:进入底行模式,按下wq!和回车保存文件并退出。说明: 1. <name>fs.trash.interval</name> <value>1440</value> 是在设置回收站保留时间,这里设置的是保留1440分钟,也就是一天。 2. <name>fs.trash.checkpoint.interval</name> <value>120</value> 是在设置回收站检查时间,检查回收站要删除的文件,这里设置的是120分钟。 3.无需重启集群,在哪个机器配置的,保存配置后,在哪个机器执行命令就生效。 4.回收站默认位置在:/user/用户名(hadoop)/.Trash
10. HDFS的其它命令
HDFS还有其他许多命令,博主在这里只介绍几个日常中常用的基本命令,如果对这块感兴趣的话,可以看这个:命令官方指导文档
三、 HDFS WEB操作HDFS文件系统
1. HDFS WEB浏览HDFS文件系统
除了使用命令操作HDFS文件系统外,在HDFS的WEB UI上也可以查看HDFS文件系统的内容。
1. 在浏览器输入http://node1:9870/进入HDFS WEB
2. 选择导航栏Utilities下的Browse the file system
2. HDFS WEB操作HDFS文件系统
2.1 默认以匿名用户进入HDFS WEB
我们进入HDFS WEB是以匿名用户(dr.who)进入,只有只读权限,默认是没有权限操作HDFS文件系统的。
2.2 配置core-site.xml文件以特权用户进入HDFS WEB
想要操作的话需要以特权用户在浏览器中进行操作,需要配置core-site.xml文件并重启集群。
步骤:
1. 使用vim打开core-site.xml文件: vim /export/server/hadoop/etc/hadoop/core-site.xml2. 按i进入插入模式3. 在<configuration></configuration>中间加入以下内容:<property><name>hadoop.http.staticuser.user</name><value>hadoop</value></property>4. 按下Esc退出插入模式,按下Shift+:进入底行模式,按下wq!和回车保存文件并退出。说明: <name>hadoop.http.staticuser.user</name> <value>hadoop</value> 默认以hadoop用户登录HDFS WEB,hadoop在之前已经被授权为了最高级别用户。
2.3 使用HDFS WEB对HDFS文件系统进行基本操作
现在我们能使用HDFS WEB对HDFS文件系统进行基本操作了。
博主写这个,这是想告诉大家我们可以这样做。但是,不推荐这样做!
因为以匿名用户(dr.who)进入HDFS WEBUI,只有只读权限就够了,我们用HDFS WEBUI能简单浏览即可,如果给与高权限,会有很大的安全问题,如容易造成数据泄露或丢失。
------------------------END-------------------------
才疏学浅,谬误难免,欢迎各位批评指正。
相关文章:
「大数据-2.2」使用命令操作HDFS文件系统
目录 一、HDFS文件系统基本信息 1. HDFS的路径表达形式 2.HDFS和Linux的根目录的区分 二、 使用命令操作HDFS文件系统 0. Hadoop的两套命令体系 1. 创建文件夹 2. 查看指定目录下内容 3. 上传文件到HDFS指定目录下 4. 查看HDFS文件内容 5. 下载HDFS文件 6. 拷贝HDFS文件 7.…...
面试买书复习就能进大厂?
大家好,我是苍何。 现在进大仓是越来越难了,想通过简单的刷题面试背书,比几年前难的不少, 但也并非毫无希望,那究竟该如何准备才能有希望进大厂呢? 我总结了 4 点: 1、不差的学历背景 2、丰富…...
使用Http Interface客户端解析text/html类型参数
前言 Spring6和Spring Boot3的正式发布也有一段时间了,最低支持的java版本也是直接跳到了17。而且最近java21也出来了,作为一个javaer,你不会还在坚守java8吧? Http Interface是Spring6新推出的一个声明式http客户端,…...
Linux - linux命令进阶
打包压缩解压 基本概述 打包 将多数文件或目录汇总成一个整体 打包默认没有压缩功能,不节省磁盘空间 压缩 将大文件压缩成小文件 可以节省磁盘空间 打包压缩 将一堆零散的文件打包到一起,然后再压缩,可以节省磁盘空间 打包命令 命令格式 ta…...
排序篇(一)----插入排序
1.直接插入排序 插入排序的思想: 把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列 。 你可以想像成打牌一样,比如说斗地主,一张一张的摸牌,然后把手上的这些牌变成手续的排列.…...
通俗讲解深度学习轻量网络MobileNet-v1/v2/v3
MobileNet网络是由google团队在2017年提出的,专注于移动端或者嵌入式设备中的轻量级CNN网络。相比传统卷积神经网络,在准确率小幅降低的前提下大大减少模型参数与运算量。(相比VGG16准确率减少了0.9%,但模型参数只有VGG的1/32)。MobileNet网络…...
mmpretrain学习笔记
深度学习模型的训练涉及几个方面 1、模型结构:模型有几层、每层多少通道数等 2、数据:数据集划分、数据文件路径、批大小、数据增强策略等 3、训练优化 :梯度下降算法、学习率参数、训练总轮次、学习率变化策略等 4、运行时:GPU、…...
rhel8 网络操作学习
一、查询dns服务器地址汇总 1.查询dns服务器地址: (1)方法一:执行命令 cat /etc/resolv.conf 执行结果如下: nameserver后面就是dns服务器的ip地址。 (2)方法2:查看/etc/syscon…...
有车型(CarModel),车厂(CarFactory),经销商(Distributor)三个表
用drf编写 1 有车型(CarModel),车厂(CarFactory),经销商(Distributor)三个表, 一个车厂可以生产多种车型,一个经销商可以出售多种车型,一个车型可以有多个经销商出售车型:车型名,车型…...
Python函数:chr()和ord()
两个函数是基于Unicode编码表进行进行字符与字码之间的转换。 chr()函数是通过字码转换成字符: 如图,坐标(1,4e10)丑 使用chr需要线将坐标相加得到:4e11 chr默认传入10进制的字码. 如图是各进制的字码。 也可以传入其他进制,不过需要在前面传入的参数最前…...
flink sql 使用
1.准备工作 安装flink 1.16.2 将以下jar包放到/data/cmpt/flink-1.16.2/lib 目录下 antlr-runtime-3.5.2.jar flink-connector-hive_2.12-1.16.2.jar flink-connector-jdbc-1.16.2.jar mysql-connector-java-6.0.6.jar hive-exec-3.1.3.jar libfb303-0.9.3.ja…...
面试官:谈谈 Go 泛型编程
大家好,我是木川 泛型编程是一种编程范式,它允许编写具有参数化类型的代码,从而增加代码的复用性和灵活性。在泛型编程中,你可以编写一段代码,使其适用于不同类型的参数,而不需要为每种类型编写不同的实现。…...
脚手架开发流程详解
开发流程 创建npm项目创建脚手架入口文件,最上方添加 #!/usr/bin/env/ node配置package.json,添加bin属性编写脚手架代码将脚手架发布到npm 使用流程 安装脚手架 npm install -g your-own-cli使用脚手架 your-own-cli脚手架开发难点解析 分包&…...
架构真题2021(四十三)
产品配置是指一个产品在其生命周期各个阶段所产生的各种形式(机器刻可读或人工可读)和各种版本()的集合。 需求规格说明、设计说明、测试报告需求规则说明、设计说明、计算机程序设计说明、用户手册、计算机程序文档、计算机程序…...
数据统计和分析怎么做?spss如何做好数据分析?
为什么要做数据分析?数据分析有什么意义?数据分析可以为企业和组织提供多方面的帮助,包括提高工作效率、优化业务流程、升职加薪、提高管理效率以及改进汇报效果等方面。 IBM SPSS Statistics 26是一款功能强大的统计分析软件,适用于Mac操作…...
【多线程】线程安全的集合类
文章目录 1. 多线程环境使用ArrayList1.1 自己使用同步机制1.2 Collections.synchronizedList(new ArrayList);1.3 使用 CopyOnWriteArrayList 2. 多线程使用队列3. 多线程环境使用哈希表3.1 HashTable3.2 ConcurrentHashMap3.3 Hashtable和HashMap、ConcurrentHashMap 之间的区…...
Goby 漏洞发布|Revive Adserver 广告管理系统 adxmlrpc.php 文件远程代码执行漏洞(CVE-2019-5434)
漏洞名称:Revive Adserver 广告管理系统 adxmlrpc.php 文件远程代码执行漏洞(CVE-2019-5434) English Name: Revive Adserver adxmlrpc.php Remote Code Execution Vulnerability (CVE-2019-5434) CVSS core: 9.0 影响资产数&a…...
Docker(三)、Dockerfile探究
Dockerfile探究 一、镜像层概念1、通过执行命令显化docker的机制 二、Dockerfile基础命令1、FROM 基于基准镜像【即构建镜像的时候,依托原有镜像做拓展】2、LABEL & MAINTAINER -说明信息3、WORKDIR 设置工作目录4、ADD & COPY 复制文件5、ENV 设置环境常量…...
C++读取文件夹下多个文件,包括图片等等
话不多说,直接上代码: int main() {//读入图片路径下的所有文件,D:\APP\VS\vs_projects_repos\Isp\imagesstring imgdirpath"D:\\APP\\VS\\vs_projects_repos\\Isp\\proimages\\";// 只读取文件夹下的png的文件名,也可以改成“*.b…...
DirectX 12 学习笔记 -结构
上篇文章我们创建了一个窗口,看样子还不难,我们继续玩DX12 引用一些文件 头文件 #include <d3d12.h> #include <dxgi1_4.h> #include <wrl.h>还有一些库 #pragma comment(lib, "d3d12.lib") #pragma comment(lib, "…...
【Redis】Redis 的学习教程(十二)之在 Redis使用 lua 脚本
lua 菜鸟教程:https://www.runoob.com/lua/lua-tutorial.html 在 Redis 使用 lua 脚本的好处: 减少网络开销。可以将多个请求通过脚本的形式一次发送,减少网络时延及开销原子性操作。Redis会将整个脚本作为一个整体执行,中间不会…...
标准/扩展库中对象的导入与使用
博主:命运之光 专栏:Python程序设计 Python扩展库导入和使用 Python启动时,仅加载了很少一部分模块,其它模块需要由程序员显示加载。使用“sys.modules.items()”显示所有预加载的模块信息。 import 模块名[.对象名] [as 别名] …...
87、Redis 的 value 所支持的数据类型(String、List、Set、Zset、Hash)---->List相关命令
本次讲解要点: List相关命令:是指value中的数据类型 启动redis服务器: 打开小黑窗: C:\Users\JH>e: E:>cd E:\install\Redis6.0\Redis-x64-6.0.14\bin E:\install\Redis6.0\Redis-x64-6.0.14\bin>redis-server.exe redi…...
Celery结合flask完成异步任务与定时任务
Celery 常用于 web 异步任务、定时任务等。 使用 redis 作为 Celery的「消息代理 / 消息中间件」。 这里通过Flask-Mail使用qq邮箱延时发送邮件作为示例 pip install celery pip install redis pip install Flask-Mail1、使用flask发送邮件 使用 Flask-Mail 发送邮件需要进行…...
前端项目练习(练习-001-纯原生)
先创建一个空文件夹,名字为web-001,然后用idea开发工具打开,如图: 可以看到,这是个彻底的空项目,创建 index.html index.js index.css三个文件,如图: 其中,html文件内容如下&am…...
基于微信小程序的游戏账号交易买卖平台设计与实现(源码+lw+部署文档+讲解等)
文章目录 前言系统主要功能:具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计…...
2023 年 Bitget Wallet 测评
对Bitget Wallet钱包的看法 Bitget Wallet在安全性、产品实力和使用体验方面可与Metamask媲美,甚至有所超越,唯一稍显不足的是知名度稍逊一筹。在众多钱包中,Bitget Wallet是拥有最全面的钱包之一,尤其适合那些希望一步到位&…...
医疗图像分割指标
医疗图像其中两种图像格式:MRI(Magnetic Resonance Imaging,磁共振成像)、CT(Computed Tomography,计算机断层),常存成 .nii.gz 格式。都是 3D 的 H W L H \times W \times L HWL…...
零代码编程:用ChatGPT批量修改文件夹名称中的大小写
一个文件夹下面有很多个子文件夹,要把文件夹中的大写数字全部重命名为小写数字,比如将二 三 四,改成: 2 34 在ChatGPT中输入提示词如下: 你是一个Python编程专家,要完成一个文件夹重命名的任务。具体步骤如…...
webpack:详解cache模块常用配置
背景 持久化缓存算得上是 Webpack 5 最令人振奋的特性之一,它能够将首次构建结果持久化到本地文件系统,在下次执行构建时跳过一系列解析、链接、编译等非常消耗性能的操作,直接复用 module、chunk 的构建结果。 cache 会在开发模式被设置成…...
建公司网站步骤/天津网络推广公司
往期精彩回顾前言 基于上一期的理论知识,我们本期跟大家分享一下如何通过Python和R语言完成Logistic回归分类器的构建。大家都知道,Logistic模型主要是用来解决二元分类问题,通过构建分类器,计算每一个样本为目标分类的概率&#…...
九江的网站建设公司/手机网页制作软件
最近来自Docker官方网站的文章提到,从OpenStack Icehouse开始,Docker将与Heat集成。 而最早在OpenStack Havana 版本中,Docker 已经作为 Nova driver方式与OpenStack集成。本文将首先简单介绍Docker,然后介绍其与OpenStack 的集成…...
福州市代办注册公司/惠州seo代理
这个话题比较永恒,关注的人很多,特别是学校刚出来的学生几乎对“企业不愿意招聘新人”那是关心的厉害。社会上对这个现象讨论已久,说企业没有社会责任的有之,说新人培养成本高的有之,说现在新人娇气难伺候的有之&#…...
做餐饮网站建设/常用的关键词挖掘工具有哪些
昨天同事的一台电脑出了点问题,需要客服人员远程登陆解决,由于是内网,不能用team viewer这类的远程服务软件。过去看了一下,win7的系统,先在“我的电脑”右键打开“属性”,点击左边的“远程设置”ÿ…...
怎么制作网站主题/营销推广活动策划
你应该认真对待Sprint目标的8个理由 在sprint期间,开发团队可以讨论并跟踪与sprint目标相关的进度。这有助于监控和评估整个sprint过程中的进展。冲刺目标 (Sprint Goal) 为构建产品增量提供了一个理由: 在“冲刺”的末尾,团队应该产生一个潜在的可发布…...
上海做网站公司qinmoo/手机百度账号登录个人中心
子查询的小秘密 多表查询之间使用子查询, 需要表之间具有联系, 比如让两张表进行联系, 需要一个共同所有的标识来联系; 两张表表示两个对象, 对象之间是独立的, 通过一个字段进行了联系。 (还具…...