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

【大数据·hadoop】在hdfs上运行shell基本常用命令

一、准备工作

1.1格式化并启动Hadoop服务

参见Hadoop在ubuntu虚拟机上的伪分布式部署|保姆级教程的4.7节

在这里插入图片描述

二、HDFS常用命令

接着,就愉快地在刚刚的命令行里敲命令啦

1.显示hdfs目录结构

hadoop fs -ls -R /
  • hadoop fs: 这是Hadoop文件系统命令行的一部分,用于与HDFS进行交互。
  • -ls: 类似于UNIX/Linux中的 ls 命令,用于列出目录内容。
  • -R: 这个参数使得 ls 命令递归地列出所有目录和子目录的内容。没有这个参数,ls 命令只会列出指定目录的直接内容。
  • /: 指定要列出内容的目录路径。在这个命令中,它是根目录。
    在这里插入图片描述

🌸Tips:这里的Hadoop的目录结构,是指hdfs文件系统的目录结构,而非hadoop这个软件所在的目录结构

根据运行结果我们可以得到以下信息:

1. 目录和权限:

  • /tmp: 这是一个临时目录,权限设置为 drwxrwx---,表明目录的拥有者(hadoop)和其所在的组(supergroup)具有读、写、执行权限,而其他用户没有任何权限。
  • /tmp/hadoop-yarn: 这是存放与Hadoop YARN(资源管理器)相关的临时数据的目录,权限同上。
  • /tmp/hadoop-yarn/staging: 用于存放YARN作业的准备阶段数据的目录,权限同上。
  • /tmp/hadoop-yarn/staging/history: 存放YARN作业历史信息的目录,权限同上。
  • /tmp/hadoop-yarn/staging/history/done: 存放已完成的YARN作业历史信息的目录,权限同上。
  • /tmp/hadoop-yarn/staging/history/done_intermediate: 存放正在处理中的YARN作业历史信息的目录,权限设置为 drwxrwxrwt。这里的 t 权限(粘滞位)表明只有文件的拥有者、目录的拥有者或超级用户才能删除或重命名目录中的文件。

2. 所有者和组:

  • 所有列出的目录均由用户 hadoop 拥有,并且属于 supergroup 组。
  • 在Hadoop生态系统中,supergroup 是一个默认的用户组,通常与HDFS的超级用户(即 Hadoop 的管理员账户,类似于 Unix 系统中的 root 用户)关联。超级用户和属于 supergroup 组的用户通常有着对HDFS上所有文件和目录的全权限,这包括读取、写入和执行权限。
    3. 大小:
  • 所有目录的大小均为 0,这是因为在大多数文件系统中,目录不占用可见的存储空间,或者说目录的大小表示的是目录结构本身的大小,而不是其中包含的文件大小。

2.在hdfs指定目录内创建新目录

hadoop fs -mkdir /yaoyao

在这里插入图片描述

3.删除hdfs上指定文件夹(包含子目录等)

hadoop fs -rm -r /yaoyao

在这里插入图片描述

4.在hdfs上创建文件和编辑❌

其实我一开始就完全把HDFS当作像windowslinux那样的文件操作系统了,其实忽略了hdfs的本质:它是一个分布式文件存储系统,专为大文件的存储和处理设计,而非像windows和Linux那样常规的对本地文件进行操作(创建和编辑),因此一般不直接在hdfs上进行文件的创建和编辑。

它的设计理念是:一次写入,多次读取(保证数据的一致性):HDFS不支持文件的随机写入或修改。一旦文件在HDFS上创建和写入,我们不能修改文件的某一部分内容。我们只能追加数据或重写整个文件。

这里的“写入”就是将本地文件写入系统,而非用户自己在Hdfs上创建文件

5.文件写入:将本地数据写入hdfs⭐

文件写入的原理图如下,但是我们写shell命令时,这些原理是由hdfs底层实现的了,我们只需要敲命令就好
在这里插入图片描述

5.1:本地文件准备

我们现在本地系统上创建一个文件,待会把它写入hdfs系统中:

  • 先在用户目录下创建一个hadoop_file的文件夹,待会用来存储要写入到hdfs中的文件
    在这里插入图片描述

  • 在终端打开这个文件夹,创建文件hello.txt

    touch hello.txt
    

    在这里插入图片描述

  • 使用vim编辑器:

    vim hello.txt
    

    启动后按i进入插入模式,可以开始输入文本。完成后,按Esc退出插入模式,输入:wq保存并退出vim。
    在这里插入图片描述

5.2:将本地文件上传到hdfs

有两种命令实现:

  1. -copyFromLocal
hadoop fs -copyFromLocal [本地地址] [hadoop目录]
  1. -put
hadoop fs -put [本地地址] [hadoop目录]

在这里插入图片描述
这里对于本地地址一定要清楚linux的目录结构:
在这里插入图片描述
home:
用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。

我在当前用户(用户名为hadoophome目录下创建了hadoop_file文件夹,那么我们文件的路径应该为:

/home/hadoop/hadoop_file/hello.txt

6.查看指定目录下内容

hadoop fs -ls [hdfs的文件目录]

在这里插入图片描述

7.打开查看某个已存在文件

hadoop fs -cat [file_path]

在这里插入图片描述

8.在hdfs指定目录下新建一个空文件

hadoop fs -touchz [hdfs的文件路径+文件名]

在这里插入图片描述

9.将hdfs上某个文件重命名

hadoop fs -mv /yaoyao/test.txt /yaoyao/test02.txt

在这里插入图片描述

10.将hdfs上的文件down到本地⭐

  1. -get

    hadoop fs -get [hdfs目录] [本地目录] 
    

    在这里插入图片描述

  2. -copyToLocal

    hadoop fs -copyToLocal [hdfs目录] [本地目录] 
    

11.其他常用命令

  1. -count:显示hdfs目录下的子目录数、文件数、占用字节数、所有文件和目录名,-q 选项显示目录和空间的配额信息。实例代码如下所示:

    hadoop fs -count /yaoyao
    

    命令输出格式为:

    DIR_COUNT FILE_COUNT CONTENT_SIZE PATH_NAME
    

    在这里插入图片描述
    DIR_COUNT - 2:/yaoyao路径下有2个子目录。
    FILE_COUNT - 3:/yaoyao路径下有3个文件。
    CONTENT_SIZE - 50:这3个文件的总字节数为50字节。
    PATH_NAME - /yaoyao:这是你指定的HDFS路径。

  2. -df:查看 HDFS 中目录空间的使用情况,使用 -df 选项查看Hadoop文件系统(HDFS)的磁盘空间使用情况,而 -h 选项让输出以易读的格式(例如GB、KB)显示。实例代码如下所示:

    hadoop fs -df -h /yaoyao
    

    在这里插入图片描述
    Filesystem:显示文件系统的名称。这里是 hdfs://localhost:9000,表示这是运行在本地主机上,默认端口为9000的HDFS实例。
    Size:显示文件系统的总大小。这里是 38.6 G,表示HDFS的总空间为38.6吉字节(GB)。
    Used:显示已经使用的空间大小。这里是 52 K,表示已经有52千字节(KB)的空间被使用。
    Available:显示还可用的空间大小。这里是 22.4 G,表示还有22.4吉字节(GB)的空间可用。
    Use%:显示已使用的空间百分比。这里是 0%,由于展示的精度问题,实际已使用空间非零(52 KB),但相对于总空间来说非常小,所以使用百分比显示为0%。

  3. -tail:显示一个文件的末尾数据,通常是显示文件最后的 1KB 的数据。-f 选项可以监听文件的变化,当有内容追加到文件中时,-f 选项能够实时显示追加的内容。实例代码如下所示:

    hadoop fs -tail /yaoyao/hello.txt
    

    在这里插入图片描述

相关文章:

【大数据·hadoop】在hdfs上运行shell基本常用命令

一、准备工作 1.1格式化并启动Hadoop服务 参见Hadoop在ubuntu虚拟机上的伪分布式部署|保姆级教程的4.7节 二、HDFS常用命令 接着,就愉快地在刚刚的命令行里敲命令啦 1.显示hdfs目录结构 hadoop fs -ls -R /hadoop fs: 这是Hadoop文件系统命令行的一部分&#x…...

TCP/IP 协议基础:构建互联网基石

目录 前言 一.网络通信协议 TCP/IP 1.网络通信协议 3.TCP/IP 协议 3.管理的组织和机构 4.RFC 二.OSI 参考模型 1.层次结构 2.通信机制 3.PDU 4.各层的功能 三.TCP/IP 协议簇 1.TCP/IP 与 OSI 的对应关系 2.TCP/IP 各层 3.TCP/IP 封装与分用 4.重要概念 5.分…...

Android OpenMAX(三)高通OMX组件实现基础

上一节了解了OMX组件实现的基础内容,这一节我们以高通OMX实现为例,简单看看如何实现一个OMX组件。本节代码参考自: omx_core_cmp.cpp qc_omx_component.h omx_vdec.h omx_vdec.cpp Tips:本篇文章旨在简单了解如何实现一个OMX组件,细节的内容不会仔细解读,代码阅读跳跃幅度…...

【比邻智选】MF871U模组

🚀搭载国产芯,严苛测试,稳定可靠 🛠️R16特性加持,5G LAN,纳秒级精度 🌐超低成本,丰富协议,连接无界限...

Unity 单例模式

Unity中单例模式是非常常用的写法,可以基于C#语言的几种不同方法来实现。 下面我将列出几种常见的实现方式: 1. 经典的单例模式 public class SingletonExample : MonoBehaviour {private static SingletonExample instance;public static SingletonEx…...

Oracle-一次TX行锁堵塞事件

问题背景: 接用户问题报障,应用服务出现大量会话堆积现象,数据库锁堵塞严重,需要协助进行问题定位和排除。 问题分析: 登录到数据库服务器上,首先查看一下数据库当前的等待事件情况,通过gv$ses…...

Gtid方式搭建主从复制+MHA高可用集群

GTID是什么 GTID(全局事务标识符),它用于唯一标识一个事务。每个GTID由三个部分组成: 服务器唯一标识符事务序列号全局事务标识符使用gtid可以简化主从复制的配置和管理,减少由于复制链路终端、主从数据不一致等问题带来的风险如何开启GTID: 在/etc/my.cnf文件中添加如下…...

基于matlab GUI的Alpha shapes边缘提取

1、程序介绍 本程序是基于matlab语言,使用alpha shapes算法实现点云边缘提取。算法具体原理参考博客:基于alpha shapes的边缘点提取(matlab)-CSDN博客。该程序包括3个按钮:加载点云、边缘点提取、保存。其中&#xff0…...

[Android]常见的包管理方式

在Android开发中,包管理主要是通过构建和依赖管理工具来处理。下面列举了几种最常见和主流的包管理方式: 一、Gradle Gradle 是 Android 官方推荐的构建工具,几乎成为了 Android 开发的标准。它支持自定义构建逻辑、依赖管理、多项目构建等…...

每日10亿数据的日志分析系统OOM

背景 一个每日10亿数据的日志清洗系统,主要工作就是从消息队列中消费各种各样的日志,然后对日志进行清洗,例如:用户敏感信息(姓名、手机号、身份证)进行脱敏处理,然后把清理完的数据交付给其他系统使用。 我们项目中,…...

智能驱动,精准管理:打造高效干部管理系统

干部管理系统是现代组织管理中不可或缺的工具,它通过信息技术的应用,提高了干部管理的效率和准确性。干部管理系统的主要功能包括: 1. 信息管理:系统可以存储和管理干部的个人信息,包括基本资料、工作经历、教育背景、…...

轮式机器人简介

迄今为止,轮子一般是移动机器人学和人造交通车辆中最流行的运动机构。它可达到很高的效率, 如图所示, 而且用比较简单的机械就可实现它的制作。 另外,在轮式机器人设计中,平衡通常不是一个研究问题。 因为在所有时间里,轮式机器人一般都被设计成在任何时间里所有轮子均与地接…...

已知哈夫曼节点个数,求哈夫曼字符编码数

哈夫曼编码(Huffman Coding)是一种用于无损数据压缩的嫡编码(权编码)算法。 在哈夫曼树中,每个叶子节点都代表一个字符,而节点的权重通常代表字符的频率。在哈夫曼编码中,每个字符都会被赋予一个二进制编码。为了获得这些编码,我…...

Kubernetes Cluster IP,Node IP,Pod IP间通信原理解析

目录 1、Cluster IP2、Node IP3、NodePort4、Pod IP5、LoadBalancer6、三种IP间通信6.1、Pod IP 与 Pod IP 通信6.2、Pod IP 与 Cluster IP 通信6.3、Node IP 与 Pod IP 通信6.4、Node IP 与 Cluster IP 7、YAML 示例7.1、ClusterIP Service7.2、LoadBalancer Service 1、Clust…...

随机链表的深拷贝

1.题目 解题思路一:暴力求解,先创建新链表,然后把旧链表中的val和next指针给复制到新链表中,根据旧链表中的random指针所指向的旧链表中的val值找到所对应的节点,记录该节点的位置,就像数组一样&#xff0c…...

328_C++_HTTP_HTTP协议传输data数据,为什么要进行base64编解码操作?

http传输data数据的时候,为什么必须进行base64转码后才能有效发送,接收方也必须base64转码后才能有效接受? HTTP  HTTP传输数据时,使用Base64编码并不是必须的,但它确实在某些情况下非常有用。以下是为什么在某些情况…...

【二叉树】Leetcode N 叉树的层序遍历

题目讲解 429. N 叉树的层序遍历 算法讲解 在做层序遍历的时候由于它的每一个结点是有val vector child组成,所以在做层序遍历的时候需要考虑它每一层结点的个数,那我们就可以使用一个queue保存每一层的结点;那么我们在做第一层的时候&am…...

Spring AI

目录 一、Spring AI 1、Spring AI简介 1.1、四次工业革命发展和变革 1.2、什么是人工智能? 1.3、人工智能的发展历程 1.4、什么是大模型? 1.5、如何训练大模型? 一、Spring AI 1、Spring AI简介 Spring AI Java接入人工智能大模型 1.1、四次工业革命发展和变革 人类…...

fiori SAP ui5 动态改变控件颜色

使用CustomData动态改变控件颜色 有时候我们需要改变控件颜色,对于高度封装的控件,显然改变控件CSS是比较困难的,幸好SAP UI5预设了一个customData的属性,每个控件都能使用她。 如下代码是判断汇率是否有改变,如果改…...

RabbitMQ php amqp

Linux debian 安装 Windows php amqp 扩展 PECL :: Package :: amqp 将 php_amqp.dll 复制到 php 的 ext 目录下 将 rabbitmq.4.dll 复制到 c:\windows\system32 目录下 php.ini extensionamqp...

全球化技术团队协作:跨越文化差异的沟通与管理实践

1. 从“理所当然”到“文化自觉”:全球化职场的思维转型在电子设计自动化(EDA)和半导体行业摸爬滚打了十几年,我参与过跨国项目,也带过分布在全球各地的团队。一个深刻的体会是,我们这些搞技术的&#xff0…...

别再瞎写 Prompt 了:2026年最实用的10条LLM提示词技巧

别再瞎写 Prompt 了:2026年最实用的10条LLM提示词技巧强烈推荐收藏!从 OpenAI 官方指南到社区实践精华,每条技巧都附带 ❌ 错误示范 → ✅ 正确示范 → 💡 原理说明。这个问题你肯定遇到过 你打开 ChatGPT,输入&#x…...

RFID电动车智能门禁管理系统技术采用四层架构设计,实现电动车智能化管理。感知层采用防水防撕RFID电子车牌;识别层配置3-4米远距离读卡器;控制层集成ARM7处理器;执行层通过电动道闸或摆闸或广告门

RFID电动车智能门禁管理系统技术方案一、系统架构概览层级设备/组件功能说明感知层RFID电子车牌(DDC-RFID)车辆身份标识,防水防撕带刀口识别层RFID读卡器一体机(DAIC-DDC-RFID)3-4米远距离识别,920-925MHz频…...

dotUI设计系统生成器:基于品牌配置一键生成React组件库

1. 项目概述:dotUI,一个为品牌而生的设计系统在当今的Web开发领域,尤其是基于React的生态中,我们常常面临一个两难的选择:是使用现成的UI组件库快速搭建界面,还是投入大量时间从零开始构建一套完全符合品牌…...

AI设计风格Prompt实战指南:从32种风格词典到精准生成

1. 项目概述:一份给AI设计师的“风格词典”如果你和我一样,经常用 Claude、Cursor 或者 v0 这类 AI 工具来生成网页界面,那你肯定遇到过这个头疼的问题:脑子里想的是“赛博朋克”或者“瑞士风格”,但打出来的 prompt 却…...

5分钟快速上手:用FanControl打造你的Windows电脑静音散热系统

5分钟快速上手:用FanControl打造你的Windows电脑静音散热系统 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Tren…...

扫雷外挂逆向笔记:我是如何找到那个0x8F代表地雷的(含OD动态调试技巧)

扫雷外挂逆向笔记:从内存数据到游戏逻辑的侦探之旅 逆向工程最迷人的地方在于,它像一场精心设计的侦探游戏。当你面对一堆看似毫无规律的十六进制数值时,如何抽丝剥茧,找出它们与游戏逻辑之间的映射关系?本文将分享我在…...

【Linux 指南】文件系统系列(二):核心抽象层 —— 块 、分区 、inode 从原理到实操

上一篇我们吃透了磁盘的底层原理,搞懂了磁盘通过 CHS/LBA 寻址定位扇区,也知道扇区是磁盘硬件的最小读写单位(512 字节)。但随之而来的两个核心问题摆在眼前:一是逐个扇区读写磁盘效率极低,磁头的寻道和旋转…...

为Dify扩展AI图表与文档生成能力:微服务架构实战指南

1. 项目概述:为Dify打造专属的AI图表与文档生成工具箱如果你正在使用Dify构建自己的AI应用,并且希望让AI不仅能生成文字,还能直接输出流程图、思维导图、PPT甚至试卷,那么这个项目就是为你准备的。brightwang/dify-tool-service是…...

芯片测试中的扫描压缩技术解析与应用

1. 扫描压缩技术概述在当今纳米级芯片设计中,扫描压缩技术已成为降低测试成本、保证测试质量的必备手段。随着芯片复杂度呈指数级增长,传统扫描测试方法面临两大核心挑战:测试数据量(Test Data Volume)爆炸式增长导致测…...