• HDFS 的 shell操作



    前言

    HDFS的shell操作很多跟linux的shell语法是比较相近,可以很快的学会,本文使用案例,一边演示,一边来学习命令。


    一、基本语法

    HDFS在最最基础的东西,提供了两种写法

    hadoop fs 具体命令
    hdfs dfs 具体命令

    这两个是完全一样的

    二、创建目录

    hadoop fs -mkdir /sanguo
    使用浏览器查看一下
    输入> http://hadoop102:9870/

    三、上传

    moveFromLocal

    从本地剪切粘贴到HDFS

    [tom@hadoop102 ~]$ cd /opt/module/hadoop-3.3.4/
    [tom@hadoop102 hadoop-3.3.4]$ vim shuguo.txt
    
    [tom@hadoop102 hadoop-3.3.4]$ hadoop fs -moveFromLocal ./shuguo.txt /sanguo 
    
    • 1
    • 2
    • 3
    • 4

    shuguo.txt里面的内容在这里插入图片描述
    可以看到本地已经没有shuguo.txt文件了
    在这里插入图片描述
    来到浏览器,输入

    http://hadoop102:9870

    进入daosanguo里面,就能看到我们的shuguo.txt文件了
    在这里插入图片描述

    -copyFromLocal

    从本地复制粘贴冬奥HDFS里面

    [tom@hadoop102 hadoop-3.3.4]$ vim weiguo.txt
    [tom@hadoop102 hadoop-3.3.4]$ hadoop fs -copyFromLocal ./weiguo.txt /sanguo
    
    
    • 1
    • 2
    • 3

    weiguo.txt里面的内容
    在这里插入图片描述
    因为我们使用的是copy,所以本地还是有weiguo.txt文件的

    在这里插入图片描述

    -put

    put 命令等同与copyFromLocal
    可以无缝衔接(把copyFromLocal换成put就行了)

    [tom@hadoop102 hadoop-3.3.4]$ vim wuguo.txt
    [tom@hadoop102 hadoop-3.3.4]$ hadoop fs -put ./wuguo.txt /sanguo
    
    • 1
    • 2

    在这里插入图片描述

    -appendToFile

    追加一个文件到已经存在的文件末尾

    演示:创建liubei,txt输入liubei,把liubei.txt追加到shuguo.txt里面

    [tom@hadoop102 hadoop-3.3.4]$ vim liubei.txt
    [tom@hadoop102 hadoop-3.3.4]$ hadoop fs -appendToFile ./liubei.txt /sanguo/shuguo

    在这里插入图片描述
    来到浏览器
    进入sanguo目录(点一下名字就进去了),找到shuguo.txt ,点击

    在这里插入图片描述

    见下图,点击这里,就能看到里面的内容了,也就是追加上了
    在这里插入图片描述

    四、下载

    -copyToLocal

    将文件从HDFS拷贝到本地
    注意:在保存的时候还可以修改名字
    在这里插入图片描述

    -get

    等同于copyToLocal,生产环境更习惯用get
    在这里插入图片描述

    五、HDFS直接操作

    注意
    下面的命令与linux的用法相同,这里不做过多的演示
    如果不会,请自行去把linux给看了(也可以看看我写的linux 博文)

    -ls

    用法与linux相同

    hadoop fs -ls 路径

    在这里插入图片描述

    -cat

    用法与linux相同,

    hadoop fs -cat 文件路径

    在这里插入图片描述

    -chgrp、-chmod、-chown

    用法与linux相同
    在这里插入图片描述

    在这里插入图片描述

    -mkdir

    在这里插入图片描述

    -cp

    在这里插入图片描述

    -mv

    在这里插入图片描述

    在这里插入图片描述

    -tail

    这里还是要提醒一下,这个是查看文件末尾的1kb内容
    在这里插入图片描述

    -rm

    在这里插入图片描述

    rm -r

    在这里插入图片描述

    -du

    统计文件夹大小
    第一个数字指代总文件的大小
    第二个数字代表占了多少磁盘空间
    在这里插入图片描述
    在这里插入图片描述

    -setrep

    设置HDFS中文件的副本数量
    在这里插入图片描述

    **注意!!!**这里我们设置了10个副本数量,但是真的能否有10个副本,取决于DataNode的数量。目前,我们只有三台设备,最多也就是3个副本。只有节点数增加到10,副本数才能达到10。

    还有关于副本存储节点的问题
    假设我们设置某个文件的副本为2,那么这2个副本在这3个节点中应该存在哪2个节点呢?
    这个是hadoop的默认进行调度,原则上,哪个节点离文件越近,副本存在哪个节点。

  • 相关阅读:
    ONLYOFFICE 8.0:引领数字化办公新纪元
    HEVC的Profile和Level介绍
    麒麟信安操作系统衍生产品解决方案 | 安全探针软件,竖起内网安全护城墙
    (附源码)计算机毕业设计SSM酒店停车管理系统
    Servlet规范之The Response
    图解LeetCode——1773. 统计匹配检索规则的物品数量(难度:简单)
    线程池需要关闭吗?使用线程池出现内存泄露的详细分析
    非全自研可视化表达引擎-RuleLinK
    .NET/C#汇总 —— 常⻅的算法
    常用正在表达式
  • 原文地址:https://blog.csdn.net/wish_you_luck/article/details/127947169