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
英文地址,請注明出處:http://en.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;將自己的功能無…