HDFS常见的Shell操作

news2024/11/23 5:02:46

HDFS常见的Shell操作


文章目录

  • HDFS常见的Shell操作
    • 写在前面
    • 基本语法
    • HDFS命令大全
    • 常用命令实操
      • 准备工作
      • 上传文件
      • 下载文件
      • HDFS直接操作


写在前面

  • Hadoop版本:Hadoop-3.x
  • Linux版本:CentOS7.5

HDFS的Shell操作是入门Hadoop开发的学习重点

基本语法

Shell客户端操作就是在linux的控制台中操作,shell脚本中操作,Hadoop的shell客户端的命令都在bin目录

hadoop fs 具体命令 或者表述为 hdfs dfs 具体命令,两个是完全相同的。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kpU4nGuh-1676719486517)(0.png)]

HDFS命令大全

查看HDFS的Shell命令大全

[whybigdata@node01 hadoop-3.1.3]$ bin/hadoop fs
[-appendToFile <localsrc> ... <dst>]
    [-cat [-ignoreCrc] <src> ...]
    [-checksum <src> ...]
    [-chgrp [-R] GROUP PATH...]
    [-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]
     [-chown [-R] [OWNER][:[GROUP]] PATH...]
    [-copyFromLocal [-f] [-p] <localsrc> ... <dst>]
    [-copyToLocal [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
    [-count [-q] <path> ...]
    [-cp [-f] [-p] <src> ... <dst>]
    [-createSnapshot <snapshotDir> [<snapshotName>]]
    [-deleteSnapshot <snapshotDir> <snapshotName>]
    [-df [-h] [<path> ...]]
    [-du [-s] [-h] <path> ...]
    [-expunge]
    [-get [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
    [-getfacl [-R] <path>]
    [-getmerge [-nl] <src> <localdst>]
    [-help [cmd ...]]
    [-ls [-d] [-h] [-R] [<path> ...]]
    [-mkdir [-p] <path> ...]
    [-moveFromLocal <localsrc> ... <dst>]
    [-moveToLocal <src> <localdst>]
    [-mv <src> ... <dst>]
    [-put [-f] [-p] <localsrc> ... <dst>]
    [-renameSnapshot <snapshotDir> <oldName> <newName>]
    [-rm [-f] [-r|-R] [-skipTrash] <src> ...]
    [-rmdir [--ignore-fail-on-non-empty] <dir> ...]
    [-setfacl [-R] [{-b|-k}a {-m|-x <acl_spec>} <path>]|[--set <acl_spec> <path>]]
    [-setrep [-R] [-w] <rep> <path> ...]
    [-stat [format] <path> ...]
    [-tail [-f] <file>]
    [-test -[defsz] <path>]
    [-text [-ignoreCrc] <src> ...]
    [-touchz <path> ...]
    [-usage [cmd ...]]
  • 向hdfs文件写入内容:shell命令如下(进入到Hadoop安装目录下)

echo “写入的内容” | ./bin/hdfs dfs -appendToFile - /usr/whybigdata/text.txt

  • 官网Shell命令

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

常用命令实操

准备工作

  • 启动Hadoop集群(方便后续的测试)
[whybigdata@node01 hadoop-3.1.3]$ sbin/start-dfs.sh
[whybigdata@node02 hadoop-3.1.3]$ sbin/start-yarn.sh
  • -help:输出这个命令参数
[whybigdata@node01 hadoop-3.1.3]$ hadoop fs -help rm

注意:每当我们不知道命令的使用用途时,我们就可以才哦那个 -help 参数来查看命令的使用手册

上传文件

  • -moveFromLocal:从本地剪切粘贴到HDFS
[whybigdata@node01 hadoop-3.1.3]$ touch kongming.txt
[whybigdata@node01 hadoop-3.1.3]$ hadoop fs -moveFromLocal ./kongming.txt /sanguo/shuguo
  • -copyFromLocal:从本地文件系统中拷贝文件到HDFS路径去
[whybigdata@node01 hadoop-3.1.3]$ hadoop fs -copyFromLocal README.txt /
  • -appendToFile:追加一个文件到已经存在的文件末尾
[whybigdata@node01 hadoop-3.1.3]$ touch liubei.txt
[whybigdata@node01 hadoop-3.1.3]$ vim liubei.txt
  • 输入以下内容

san gu mao lu

[whybigdata@node01 hadoop-3.1.3]$ hadoop fs -appendToFile liubei.txt /sanguo/shuguo/kongming.txt
  • -put:等同于copyFromLocal
[whybigdata@node01 hadoop-3.1.3]$ hadoop fs -put ./liubei.txt /user/whybigdata/test/

下载文件

  • -copyToLocal:从HDFS拷贝到Linux本地
[whybigdata@node01 hadoop-3.1.3]$ hadoop fs -copyToLocal /sanguo/shuguo/kongming.txt ./
  • -get:等同于copyToLocal,就是从HDFS下载文件到本地
[whybigdata@node01 hadoop-3.1.3]$ hadoop fs -get /sanguo/shuguo/kongming.txt ./
  • -getmerge合并下载多个文件,比如HDFS的目录 /user/whybigdata/test下有多个文件:log.1, log.2,log.3,…
[whybigdata@node01 hadoop-3.1.3]$ hadoop fs -getmerge /user/whybigdata/test/* ./merge.txt

HDFS直接操作

  • -ls: 显示目录信息
[whybigdata@node01 hadoop-3.1.3]$ hadoop fs -ls /
  • -mkdir:在HDFS上创建新的目录
[whybigdata@node01 hadoop-3.1.3]$ hadoop fs -mkdir -p /sanguo/shuguo
  • -cat:查看指定文件的内容
[whybigdata@node01 hadoop-3.1.3]$ hadoop fs -cat /sanguo/shuguo/kongming.txt
  • -chgrp-chmod-chown:和Linux文件系统中的用法一样,用于修改文件所属权限
[whybigdata@node01 hadoop-3.1.3]$ hadoop fs -chmod 666 /sanguo/shuguo/kongming.txt
[whybigdata@node01 hadoop-3.1.3]$ hadoop fs -chown whybigdata: whybigdata /sanguo/shuguo/kongming.txt

注意:用-R选项,可以在目录结构中进行递归修改。同时修改文件权限的用户必须是该文件的所有者,否则就是超级用户。

  • -cp:从HDFS的一个路径拷贝到HDFS的另一个路径
[whybigdata@node01 hadoop-3.1.3]$ hadoop fs -cp /sanguo/shuguo/kongming.txt /zhuge.txt
  • -mv:在HDFS目录中移动文件的位置
[whybigdata@node01 hadoop-3.1.3]$ hadoop fs -mv /zhuge.txt /sanguo/shuguo/
  • -tail:显示一个文件的末尾1kb的数据
[whybigdata@node01 hadoop-3.1.3]$ hadoop fs -tail /sanguo/shuguo/kongming.txt
  • -rm:删除文件或文件夹
[whybigdata@node01 hadoop-3.1.3]$ hadoop fs -rm /user/whybigdata/test/jinlian2.txt

-r选项表示强制删除,慎重使用

  • -rmdir:删除空目录
[whybigdata@node01 hadoop-3.1.3]$ hadoop fs -mkdir /test
[whybigdata@node01 hadoop-3.1.3]$ hadoop fs -rmdir /test
  • -du统计文件夹的大小信息;参数选项说明如下:
  • -s选项将导致显示文件长度的总和,而不是单个文件。在没有 -s 选项的情况下,计算是通过从给定的路径深入到1层来完成的。
  • -h选项将以 人类可读 的方式格式化文件大小(例如,64.0m而不是67108864)。
  • -v 选项将以标题行的形式显示列的名称
  • -x 选项将把快照从结果计算中排除。如果没有-x选项(默认),结果总是从所有的IN节点计算出来的,包括给定路径下的所有快照。
[whybigdata@node01 hadoop-3.1.3]$ hadoop fs -du -s -h /user/whybigdata/test
2.7 K /user/whybigdata/test
[whybigdata@node01 hadoop-3.1.3]$ hadoop fs -du -h /user/whybigdata/test
2.3 K /user/whybigdata/test/README.txt
15 K   /user/whybigdata/test/jinlian.txt
1.4 K /user/whybigdata/test/merge.txt

du返回三栏,格式如下:

文件大小 消耗的磁盘空间和所有复制的磁盘空间 文件的全路径名称

  • -setrep:设置HDFS中文件的副本数量
[whybigdata@node01 hadoop-3.1.3]$ hadoop fs -setrep 10 /sanguo/shuguo/kongming.txt

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HfGNfwTr-1676719486518)(1.png)]

这里设置的副本数只是记录在NameNode的元数据中,是否真的会有这么多副本,还得看DataNode的数量。因为目前只有3台设备,最多也就3个副本,只有节点数的增加到10台时,副本数才能达到10。

全文结束!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分布式批处理:MapReduce初探

大家好&#xff0c;我是方圆。《数据密集型应用系统设计》第十章中有介绍到 MapReduce 相关的内容&#xff0c;当时觉得看得意犹未尽&#xff0c;所以便找了一些资料又看了一下。随着深入发现能扩展的东西实在太多&#xff0c;考虑时间有限&#xff0c;准备先把 MapReduce 基础…

基于smardaten无代码快速开发智慧城管系统

0️⃣需求背景 现代城市管理的面临着一系列问题&#xff1a;如执法人员不足、信息化手段应用少和时间处理不及时等&#xff0c;开发一个智慧城管回访系统的需求与日俱增… 通过引入智慧城管回访系统&#xff0c;可以提高城市管理的科学性、智能化和透明度&#xff0c;为城市发…

【软考网络管理员】2023年软考网管初级常见知识考点(14)- linux命令及目录相关详解

涉及知识点 Linux 目录结构&#xff0c; Linux 常用命令&#xff0c; Linux 下的文件基本属性&#xff0c; Linux 的启动与关闭 软考网络管理员常考知识点&#xff0c;软考网络管理员网络安全&#xff0c;网络管理员考点汇总。 原创于&#xff1a;CSDN博主-《拄杖盲学轻声码》…

HTML5 游戏开发实战 | 推箱子

经典的推箱子是一个来自日本的古老游戏&#xff0c;目的是在训练玩家的逻辑思考能力。在一个狭小的仓库中&#xff0c;要求把木箱放到指定的位置&#xff0c;稍不小心就会出现箱子无法移动或者通道被堵住的情况&#xff0c;所以需要巧妙地利用有限的空间和通道&#xff0c;合理…

java9新特性之-String存储结构变更--集合工厂方法-- InputStream 加强--增强的 Stream API讲解

String存储结构变更 Motivation The current implementation of the String class stores characters in a char array, using two bytes (sixteen bits) for each character. Data gathered from many different applications indicates that strings are a major component o…

Ubuntu22.04编译安装FFmpeg

FFmpeg介绍 概述 FFmpeg是一款用C语言编写的跨平台免费开源多媒体处理工具&#xff0c;该软件可实现音视频的采集、编解码、转码、过滤以及流媒体相关操作等功能。 同时&#xff0c;FFmpeg也为其他多种语言和操作系统提供了开发组件&#xff0c;包括Java、Python、C等和Wind…

【吴恩达deeplearning.ai】基于LangChain开发大语言应用模型(下)

以下内容均整理来自deeplearning.ai的同名课程 Location 课程访问地址 DLAI - Learning Platform Beta (deeplearning.ai) LangChain for LLM Application Development 基于LangChain开发大语言应用模型&#xff08;上&#xff09; 一、LangChain: Q&A over Documents基于文…

SpringMVC原理分析 | Controller配置、RestFul风格

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; Controller配置 控制器Controller 控制器复杂提供访问应用程序的行为&#xff0c;通常通过接口定义或注释定义的两种方法实现控制器负责解析用户的请求并将其转换为一…

ModaHub AI模型开源社区——Milvus向量数据库存储相关概念

目录 存储相关概念 分区和数据段 数据段&#xff08;segment&#xff09; 分区&#xff08;partition&#xff09; 集合、分区和数据段的关系 元数据 常见问题 存储相关概念 分区和数据段 建立集合时&#xff0c;Milvus 根据参数 index_file_size 控制数据段的大小。另…

R+VIC 模型融合实践技术应用及未来气候变化模型预测

目前&#xff0c;无论是工程实践或是科学研究中都存在很多著名的水文模型如SWAT/HSPF/HEC-HMS等。虽然&#xff0c;这些软件有各自的优点&#xff1b;但是&#xff0c;由于适用的尺度主要的是中小流域&#xff0c;所以在预测气候变化对水文过程影响等方面都有所不足。 VIC模型…

“未来之光:揭秘创新科技下的挂灯魅力“

写在前面&#xff1a; 高度信息化当下时代&#xff0c;对电脑及数字设备的需求与日俱增无处不在&#xff0c;随之而来的视觉疲劳和眼睛问题也攀升到了前所未有的高度。传统台灯对于长时间使用电脑的人群来说是完全无法解决这些问题的。一款ScreenBar Halo 屏幕挂灯&#xff0c;…

【Java】Java核心要点总结 71:ThreadPoolExecutor

文章目录 1)为什么需要线程池&#xff1f;2)线程池内部怎么保证线程安全?3)创建线程的方式 newSingleThreadExecutor底层4) ThreadPoolExecutor参数使用5) 线程池的工作机制6)拒绝策略分四种7)队列有哪些&#xff1f; 参考&#xff1a; 1)为什么需要线程池&#xff1f; 重复利…

设计模式之备忘录模式笔记

设计模式之备忘录模式笔记 说明Memento(备忘录)目录白箱备忘录模式备忘录模式示例类图游戏角色类备忘录角色类备忘录对象管理对象测试类 黑箱备忘录模式备忘录模式示例类图备忘录接口游戏角色类备忘录对象管理对象测试类 说明 记录下学习设计模式-备忘录模式的写法。JDK使用版…

JDBC小记——连接池

目录 连接池介绍 常用连接池 DBCP连接池 硬编码方式 配置文件方式 C3P0连接池 C3P0和DBCP的区别 硬编码方式 配置文件方式 Druid连接池 硬编码方式 配置文件方式 DBUtils 连接池介绍 由于建立数据库连接是一种非常耗时、耗资源的行为&#xff0c;所以预先通过连接…

在vite+vue3项目中配置使用css预处理器(less/sass)以及路径别名

一、在vite项目中使用css预处理器 vite已经将这些预处理器的loader内置了&#xff0c;我们不用再像在webpack项目中那样&#xff0c;需要下载和配置一堆相关的loader&#xff0c;我们只需要下载less&#xff0c;sass依赖&#xff0c;就能直接在项目中使用啦 使用npm或者yarn来…

Springboot-- 注解字段校验,并统一设置返回值

Springboot-- 注解字段校验&#xff0c;并统一设置返回值 引包&#xff1a;import org.springframework.validation.annotation.Validated; <!--web--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-star…

配置鼠标右键菜单功能 :一键csv转excel

配置右键菜单功能 &#xff1a;一键csv转excel 无需点开文件&#xff0c;双击即可以生成新的excel文件 步骤&#xff1a; 1、配置Python&#xff0c;安装依赖库 pip install openpyxl pip install pandas2、创建Python文件 csv_to_excel.py # -*- coding:utf-8 -*- impor…

【计算机组成原理】函数栈帧

目录 一、源代码理论分析 二、主函数的创建 三、c语言代码的汇编 注&#xff1a;不同编译器环境的函数栈帧存在一定差异&#xff0c;本文使用VS2019 一、源代码理论分析 源代码&#xff1a; int Add(int x, int y) {int z 0;z x y;return z; }int main() {int a 10;…

u盘安装centos 7

1.下载 通过阿里云站点&#xff1a;http://mirrors.aliyun.com/centos/7/isos/x86_64/&#xff0c;下载iso文件。 2.制作启动u盘镜像 2.1 下载制作工具 下载u启动 http://uqidong.als98.cn/ 。 2.2 制作镜像 准备u盘&#xff0c;插入机器&#xff0c;运行u启动。 注意…

机器学习之基于PCA的人脸识别

目录 PCA人脸数据降维 matlab代码实现 思路分析 PCA人脸重构 matlab代码实现 思路分析 PCA人脸可视化 matlab代码实现 思路分析&#xff1a; PCA人脸识别 matlab代码实现 思路分析 PCA人脸数据降维 matlab代码实现 picturesdir(C:\Users\Yezi\Desktop\机…