Hadoop之HDFS

Hadoop之HDFS

HDFS的Shell操作

  1. 启动Hadoop集群(方便后续测试)

    [atguigu@hadoop102 ~]$ sbin/start-dfs.sh
    [atguigu@hadoop102 ~]$ sbin/start-yarn.sh
    
  2. -help:输出这个命令参数

    [atguigu@hadoop102 ~]$ hadoop fs -help rm
    
  3. -ls:显示目录信息

    [atguigu@hadoop102 ~]$ hadoop fs -ls /
    
  4. -mkdir:在HDFS上创建目录

    [atguigu@hadoop102 ~]$ hadoop fs -mkdir -p /user/atguigu/input
    [atguigu@hadoop102 ~]$ hadoop fs -mkdir /bigdata0523
    
  5. -moveFromLocal:从本地剪切粘贴到HDFS

    [atguigu@hadoop102 hadoop-3.1.3]$ vim qiangge.txt
    ---
    只年说:流年同学你好,可以加个微信吗?
    ---
    [atguigu@hadoop102 hadoop-3.1.3]$ hadoop fs -moveFromLocal ./qiangge.txt /bigdata0523
    
  6. -appendToFile:追加一个文件到已经存在的文件末尾

    [atguigu@hadoop102 hadoop-3.1.3]$ vim pantongxue.txt
    ---
    流年同学说:你说加就加啊。不给!!
    ---
    [atguigu@hadoop102 hadoop-3.1.3]$ hadoop fs -appendToFile pantongxue.txt /bigdata0523/qiangge.txt
    
  7. -cat:显示文件内容

    [atguigu@hadoop102 hadoop-3.1.3]$ hadoop fs -cat /bigdata0523/qiangge.txt
    2025-07-05 12:03:57,587 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
    只年说:流年同学你好,可以加个微信吗?
    流年同学说:你说加就加啊。不给!!
    
  8. -chgrp、-chmod、-chown:Linux文件系统中的用法一样,修改文件所属权限

    [atguigu@hadoop102 hadoop-3.1.3]$ hadoop fs -chmod u+x /bigdata0523/qiangge.txt
    
  9. -copyFromLocal:从本地文件系统中拷贝文件到HDFS路径去

    [atguigu@hadoop102 hadoop-3.1.3]$ hadoop fs -copyFromLocal pantongxue.txt /bigdata0523
    

    -put效果和它相同,一般用put就行

    [atguigu@hadoop102 hadoop-3.1.3]$ vim xinge.txt
    ---
    龙哥说:你们俩在干啥,带我一个呗!!!
    ---
    [atguigu@hadoop102 hadoop-3.1.3]$ hadoop fs -put xinge.txt /bigdata0523
    
  10. -copyToLocal:从HDFS拷贝到本地

    [atguigu@hadoop102 hadoop-3.1.3]$ hadoop fs -copyToLocal /bigdata0523/qiangge.txt .
    

    -get效果和它相同,一般用get就行

    [atguigu@hadoop102 hadoop-3.1.3]$ vim mengmeng.txt
    ---
    被班主任耽误的舞蹈选手
    ---
    [atguigu@hadoop102 hadoop-3.1.3]$ hadoop fs -moveFromLocal mengmeng.txt /bigdata0523
    [atguigu@hadoop102 hadoop-3.1.3]$ ll | grep mengmeng
    [atguigu@hadoop102 hadoop-3.1.3]$ hadoop fs -get /bigdata0523/mengmeng.txt .
    [atguigu@hadoop102 hadoop-3.1.3]$ ll | grep mengmeng
    -rw-r--r--. 1 atguigu atguigu     34 75 12:34 mengmeng.txt
    
  11. -cp:从HDFS的一个路径拷贝到HDFS的另一个路径

    [atguigu@hadoop102 hadoop-3.1.3]$ hadoop fs -cp /bigdata0523/mengmeng.txt /
    
  12. -mv:在HDFS目录中移动文件

    [atguigu@hadoop102 hadoop-3.1.3]$ hadoop fs -mv /mengmeng.txt /user/atguigu/input
    # 同时还具备改名的功能,下方这种写法 dageoge.txt前方没有明确路径,默认是放到 /user/atguigu 下面了。可以理解为类似于linux也有用户家目录的概念
    [atguigu@hadoop102 hadoop-3.1.3]$ hadoop fs -mv /user/atguigu/input/mengmeng.txt dagaoge.txt
    # 移动的同时还可以更改名称
    [atguigu@hadoop102 hadoop-3.1.3]$ hadoop fs -mv /user/atguigu/dagaoge.txt /user/atguigu/input/mengmeng.txt
    
  13. -get:等同于copyToLocal,就是从HDFS下载文件到本地

    # 上方copyToLocal已经说过-get,此处不再操作
    hadoop fs -get /bigdata0523/mengmeng.txt .
    
  14. -getmerge:合并下载多个文件,比如HDFS的目录/user/atguigu/test 下有多个文件:log.1,log.2,log.3…

    # 不用看后缀名,后缀名没啥用,里面是合并后的内容。getmerge用的比较少
    [atguigu@hadoop102 hadoop-3.1.3]$ hadoop fs -getmerge /bigdata0523 ./teacherAndStudent.avi
    [atguigu@hadoop102 hadoop-3.1.3]$ cat teacherAndStudent.avi 
    被班主任耽误的舞蹈选手
    流年同学说:你说加就加啊。不给!!
    只年说:流年同学你好,可以加个微信吗?
    流年同学说:你说加就加啊。不给!!
    龙哥说:你们俩在干啥,带我一个呗!!!
    
  15. -put:等同于copyFromLocal

    # 上方copyFromLocal已经说过-put,此处不再操作
    hadoop fs -put xinge.txt /bigdata0523
    
  16. -tail:显示一个文件的末尾

    [atguigu@hadoop102 hadoop-3.1.3]$ hadoop fs -tail /input/README.txt
    # -n查看指定多少行不能用!实时查看可以跟-f
    [atguigu@hadoop102 hadoop-3.1.3]$ hadoop fs -tail -f /input/README.txt
    
    # 当我们把副本数改为5,再去做操作的时候报错
    [atguigu@hadoop102 hadoop-3.1.3]$ hadoop fs -appendToFile mengmeng.txt /input/README.txt
    2025-07-05 13:11:46,387 WARN hdfs.DataStreamer: DataStreamer Exception
    java.io.IOException: Failed to replace a bad datanode on the existing pipeline due to no more good datanodes being available to try. (Nodes: current=[DatanodeInfoWithStorage[192.168.1.102:9866,DS-da913c4d-3a02-424d-b964-2a3602c1db98,DISK], DatanodeInfoWithStorage[192.168.1.103:9866,DS-3849d948-2fd7-40c0-925b-c498f6c67f76,DISK], DatanodeInfoWithStorage[192.168.1.104:9866,DS-692fc8b7-3c6d-464e-8d81-674708d0ee44,DISK]], original=[DatanodeInfoWithStorage[192.168.1.104:9866,DS-692fc8b7-3c6d-464e-8d81-674708d0ee44,DISK], DatanodeInfoWithStorage[192.168.1.103:9866,DS-3849d948-2fd7-40c0-925b-c498f6c67f76,DISK], DatanodeInfoWithStorage[192.168.1.102:9866,DS-da913c4d-3a02-424d-b964-2a3602c1db98,DISK]]). The current failed datanode replacement policy is DEFAULT, and a client may configure this via 'dfs.client.block.write.replace-datanode-on-failure.policy' in its configuration.at org.apache.hadoop.hdfs.DataStreamer.findNewDatanode(DataStreamer.java:1304)at org.apache.hadoop.hdfs.DataStreamer.addDatanode2ExistingPipeline(DataStreamer.java:1372)at org.apache.hadoop.hdfs.DataStreamer.handleDatanodeReplacement(DataStreamer.java:1598)at org.apache.hadoop.hdfs.DataStreamer.setupPipelineInternal(DataStreamer.java:1499)at org.apache.hadoop.hdfs.DataStreamer.setupPipelineForAppendOrRecovery(DataStreamer.java:1481)at org.apache.hadoop.hdfs.DataStreamer.run(DataStreamer.java:720)
    appendToFile: Failed to replace a bad datanode on the existing pipeline due to no more good datanodes being available to try. (Nodes: current=[DatanodeInfoWithStorage[192.168.1.102:9866,DS-da913c4d-3a02-424d-b964-2a3602c1db98,DISK], DatanodeInfoWithStorage[192.168.1.103:9866,DS-3849d948-2fd7-40c0-925b-c498f6c67f76,DISK], DatanodeInfoWithStorage[192.168.1.104:9866,DS-692fc8b7-3c6d-464e-8d81-674708d0ee44,DISK]], original=[DatanodeInfoWithStorage[

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

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

相关文章

【1.4 漫画PostgreSQL高级数据库及国产数据库对比】

🐘 漫画PostgreSQL高级数据库及国产数据库对比 👨‍💻 小明:“老王,除了MySQL,还有哪些优秀的关系型数据库?国产数据库发展得怎么样?” 🧙‍♂️ 架构师老王:…

OLT、ONU、ONT、SFU、HGU、ODN,它们是什么?它们之间有什么区别?

我们经常会看到OLT、ONU、ONT、SFU、HGU等设备术语。它们分别是什么?又有什么区别呢? PON组件:OLT、ONU、ONT和ODN 无源光网络(PON)采用光纤和分路器,以点对多点拓扑将数据从单一源分发到多个用户。与有源光网络 (AON)不同,PON 仅在光域中运行&#…

sql USING 简化 JOIN 操作

在 SQL 中,USING 是一种用于简化 JOIN 操作的语法糖,它允许你明确指定连接表时所依据的列名。与传统的 ON 子句相比,USING 提供了更简洁的语法1. 基本语法与作用table1 JOIN table2 USING (column_name);将 table1 和 table2 中 column_name …

android开发中的 AndroidX 版本的查看 及 constraintLayout的简单用法

1、查看库的版本 平常我们经常会用到一些库,但是不知道是什么版本,也不知道最新的是什么版本,当然最好的就是到官网去查看,或者三方的maven库。 2、官方地址 AndroidX 版本 | Jetpack | Android Developers 3、比如我们来…

oracle锁表,oracle解锁表,oracle用户连接数

一、查看被锁的表 select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao, v$session sess where ao.object_id lo.object_id and lo.session_id sess.sid; 二、解锁表语句 alter …

3D可视化:开启多维洞察新时代

3D可视化技术以一种前所未有的方式,将数据、模型与现实世界紧密相连,为人们带来了沉浸式、交互式的全新体验,彻底革新了信息的呈现与理解方式。一、3D可视化的技术原理从技术本质来看,3D可视化基于一系列复杂而精妙的原理。通过数…

List中的对象进行排序处理

以下是使用 Java Stream 对对象列表按 id 和 age 排序的完整示例,包含升序和降序两种场景: 1. 定义测试对象类 Getter Setter public class Person {private int id;private int age; }2. 排序实现代码 import java.util.*; import java.util.stream.…

秋招Day14 - Redis - 底层结构

Redis都有哪些底层数据结构? 有八种核心的底层数据结构。 SDS Redis自己实现的动态字符串,SDS结构中直接存储了已使用的字符数组长度len和未使用的字符数组长度free,所以获取长度的时间复杂度是O(1),还支持动态扩容&#xff0c…

使用Mac自带的图像捕捉导出 iPhone 相册

用 数据线 将 iPhone 连接到 Mac必须是数据线,有些充电线插上去后无法识别到iphone在 iPhone 上点击“信任此电脑”在 Mac 上打开应用:快速方式:按 Command Space 打开 Spotlight,输入 图像捕捉 或 Image Capture,回车或者从 /系…

【UniApp picker-view 多列对齐问题深度剖析与完美解决】

UniApp picker-view 多列对齐问题深度剖析与完美解决一次看似简单的样式调整,却引发了对构建工具、CSS 预处理和组件渲染机制的深度思考创作时间: 2025/7/1 技术栈: UniApp Vue3 TypeScript PostCSS 问题级别: 🔴 高级🎯 问题背景 在开发 …

R Studio开发中记录

1.如何将tar.gz格式的源码R包编译为zip格式的二进制R包。 R CMD INSTALL --build knhanes.tar.gz R CMD INSTALL --build nhanes.tar.gz 2.下载RTools RTools: Toolchains for building R and R packages from source on Windows 3.修改环境变量 PATH$PATH:/d/rtools45/usr…

量化交易中的隐藏模式识别:基于潜在高斯混合模型的机会挖掘

*——从市场噪声中提取黄金信号的数学艺术** > 2025年3月,某对冲基金使用潜在高斯混合模型捕捉到铜期货的异常波动模式,提前布局实现单月收益47%。核心代码仅20行,却颠覆了传统技术分析范式。 --- ### 01 市场迷思:为何90%的交易者失败? 金融市场本质是**非…

Qt窗口被外部(非Qt内部机制)强制销毁,第二次再重复使用不显示

在Qt开发中,窗口被外部(非Qt内部机制)强制销毁 警告信息 External WM_DESTROY received for QWidgetWindow(0x108b8cbdb10, name"xxxxx") , parent: QWindow(0x0) , transient parent: QWindow(0x0) 使用场景 代码结构如下&#x…

一文详解Character AI:实用指南+ ChatGPT、Gemini对比分析

本指南将深入剖析Character AI的运行机制、功能特性及其存在的局限性。 近年来,生成式人工智能领域发展态势迅猛,其应用范畴已远超单纯的文本生成领域。在众多备受瞩目的新兴平台中,Character AI是一款支持用户以对话形式与人工智能生成角色…

遗传算法的原理与实现示例

遗传算法是一种受生物进化理论启发的随机优化算法,其核心思想是模拟自然界中 “物竞天择、适者生存” 的进化过程,通过对候选解的迭代优化,找到问题的最优解。 一、核心思想 遗传算法将优化问题的候选解视为生物群体中的“个体”&#xff0c…

centos7 ping127.0.0.1不通

ping 127.0.0.1,localhost和本地ip都不通,所有的配置也是正确的 检查下是否禁止了ping vim /proc/sys/net/ipv4/icmp_echo_ignore_all 内容为 1 禁止ping 内容为0 开启ping sysctl -w net.ipv4.icmp_echo_ignore_all0 变更以上设置即可

【无标题】JavaScript入门

JS 1.JS引入方式 <!DOCTYPE html><html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>JS-引入方式</title><!-- …

(JAVA)自建应用调用企业微信API接口,实现消息推送

建议先简单了解企业微信开发者中心文档&#xff1a;开发前必读 - 文档 - 企业微信开发者中心 了解一下企业微信调用接口的基础参数&#xff1a;基本概念介绍 - 文档 - 企业微信开发者中心 本篇每个步骤都会跟着官网文档走&#xff0c;都会贴上相关链接&#xff0c;看完本篇文…

P/Invoke 在默认封送(marshalling)规则下,常见托管 ⇄ 非托管类型的对应关系

下表整理了 P/Invoke 在默认封送&#xff08;marshalling&#xff09;规则下&#xff0c;常见托管 ⇄ 非托管类型的对应关系。 内容主要依据微软官方 Marshalling Data with Platform Invoke 文档&#xff0c;并补充了常见指针&#xff0f;句柄用法与字符串缓冲区&#xff…

2.isaacsim4.2 教程-初识OmniGraph

1. OmniGraph&#xff08;视觉编程&#xff09; OmniGraph 是 Omniverse 的可视化编程框架。它提供了一个图状结构&#xff0c;将 Omniverse 内多个系统的功能节点串联起来&#xff1b;同时也是一个计算框架&#xff0c;允许你编写高度自定义的节点&#xff0c;将自己的功能无…