HDFS的簡介及基本操作(常用的命令參數介紹)

  • 目錄
    • 前言:
    • 1、HDFS基本概念
    • 2、HDFS基本操作
    • 總結:

目錄

前言:

總算有空來接著寫大數據的學習筆記了,今天就把之前學過的HDFS的基礎知識詳細的介紹一下,如有哪點寫的不足希望大家多多指教。

1、HDFS基本概念

1.1、前言:
設計思想
分而治之:將大文件、大批量文件,分布式存放在大量服務器上,以便于采取分而治之的方式對海量數據進行運算分析。
在大數據系統中作用:
為各類分布式運算框架(如:mapreduce,spark,tez,……)提供數據存儲服務。

重點概念:文件切塊,副本存放,元數據。

1.2、 HDFS的概念和特性:
首先,它是一個文件系統,用于存儲文件,通過統一的命名空間——目錄樹來定位文件;

其次,它是分布式的,由很多服務器聯合起來實現其功能,集群中的服務器有各自的角色;

重要特性如下:
(1)HDFS中的文件在物理上是分塊存儲(block),塊的大小可以通過配置參數( dfs.blocksize)來規定,默認大小在hadoop2.x版本中是128M,老版本中是64M

(2)HDFS文件系統會給客戶端提供一個統一的抽象目錄樹,客戶端通過路徑來訪問文件,形如:hdfs://namenode:port/dir-a/dir-b/dir-c/file.data

(3)目錄結構及文件分塊信息(元數據)的管理由namenode節點承擔
——namenode是HDFS集群主節點,負責維護整個hdfs文件系統的目錄樹,以及每一個路徑(文件)所對應的block塊信息(block的id,及所在的datanode服務器)

(4)文件的各個block的存儲管理由datanode節點承擔
—- datanode是HDFS集群從節點,每一個block都可以在多個datanode上存儲多個副本(副本數量也可以通過參數設置dfs.replication)

(5)HDFS是設計成適應一次寫入,多次讀出的場景,且不支持文件的修改
(注:適合用來做數據分析,并不適合用來做網盤應用,因為,不便修改,延遲大,網絡開銷大,成本太高)

2、HDFS基本操作

2.1、HDFS的shell(命令行客戶端)操作
HDFS提供shell命令行客戶端,使用方法如下:
這里寫圖片描述
2.2 常用命令參數介紹

  • -help 功能:輸出這個命令參數手冊
  • -ls 功能:顯示目錄信息 示例: hadoop fs -ls hdfs://hadoop-server01:9000/ 備注:這些參數中,所有的hdfs路徑都可以簡寫 –>hadoop fs -ls / 等同于上一條命令的效果
  • -mkdir 功能:在hdfs上創建目錄 示例:hadoop fs -mkdir -p /aaa/bbb/cc/dd
  • -moveFromLocal 功能:從本地剪切粘貼到hdfs 示例:hadoop fs - moveFromLocal /home/hadoop/a.txt /aaa/bbb/cc/dd
  • -moveToLocal 功能:從hdfs剪切粘貼到本地 示例:hadoop fs - moveToLocal /aaa/bbb/cc/dd /home/hadoop/a.txt
  • –appendToFile 功能:追加一個文件到已經存在的文件末尾示例:hadoop fs -appendToFile ./hello.txt hdfs://hadoop-server01:9000/hello.txt可以簡寫為:Hadoop fs -appendToFile ./hello.txt /hello.txt
  • -cat 功能:顯示文件內容 示例:hadoop fs -cat /hello.txt
  • -text 功能:以字符形式打印一個文件的內容 。示例:hadoop fs -text /weblog/access_log.1
  • -chgrp -chmod -chown 功能:linux文件系統中的用法一樣,對文件所屬權限 示例: hadoop fs -chmod 666 /hello.txt hadoop fs -chown someuser:somegrp /hello.txt
  • -copyFromLocal 功能:從本地文件系統中拷貝文件到hdfs路徑去 示例:hadoop fs -copyFromLocal ./jdk.tar.gz /aaa/ -copyToLocal 功能:從hdfs拷貝到本地 示例:hadoop fs
  • -copyToLocal /aaa/jdk.tar.gz
  • -cp 功能:從hdfs的一個路徑拷貝hdfs的另一個路徑 示例: hadoop fs -cp /aaa/jdk.tar.gz /bbb/jdk.tar.gz.2
  • -mv 功能:在hdfs目錄中移動文件 示例: hadoop fs -mv
    /aaa/jdk.tar.gz /
  • -get 功能:等同于copyToLocal,就是從hdfs下載文件到本地 示例:hadoop fs -get /aaa/jdk.tar.gz -getmerge 功能:合并下載多個文件 示例:比如hdfs的目錄
    /aaa/下有多個文件:log.1, log.2,log.3,… hadoop fs -getmerge /aaa/log.*
    ./log.sum
  • -put 功能:等同于copyFromLocal 示例:hadoop fs -put /aaa/jdk.tar.gz /bbb/jdk.tar.gz.2
  • -rm 功能:刪除文件或文件夾 示例:hadoop fs -rm -r /aaa/bbb/
  • -rmdir 功能:刪除空目錄 示例:hadoop fs -rmdir /aaa/bbb/ccc
  • -df 功能:統計文件系統的可用空間信息 示例:hadoop fs -df -h / -
  • -du 功能:統計文件夾的大小信息 示例: hadoop fs -du -s -h /aaa/*
  • -count 功能:統計一個指定目錄下的文件節點數量 示例:hadoop fs -count /aaa/
  • -setrep 功能:設置hdfs中文件的副本數量 示例:hadoop fs -setrep 3 /aaa/jdk.tar.gz <這里設置的副本數只是記錄在namenode的元數據中,是否真的會有這么多副本,還得看datanode的數量>

總結:

對于HDFS來講,如果想達到博主一樣的菜鳥級別的水平,必須得知道以下的幾個知識點:
首先知道HDFS是什么;其次知道三個主要概念即文件切塊、副本存放、元數據;然后要知道HDFS中對應的角色即NameNode、Datanode的工作機制和職責以及HDFS讀寫數據的原理;最后要掌握常用的HDFS-shell命令行。個人感覺如果知道以上的一些知識點,HDFS應該算是入門了吧。

接下來將介紹下HDFS的客戶端應用開發等。(
詳見:https://blog.csdn.net/qq_16633405/article/details/78403316)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/456763.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/456763.shtml
英文地址,請注明出處:http://en.pswp.cn/news/456763.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Settings【學習筆記05】

Settings Scrapy設置(settings)提供了定制Scrapy組件的方法。可以控制包括核心(core)&#xff0c;插件(extension)&#xff0c;pipeline及spider組件。比如 設置Json Pipeliine、LOG_LEVEL等。 參考文檔&#xff1a;http://scrapy-chs.readthedocs.io/zh_CN/1.0/topics/setti…

java命令

javac.exe是編譯.java文件java.exe是執行編譯好的.class文件javadoc.exe是生成Java說明文檔jdb.exe是Java調試器javaprof.exe是剖析工具轉載于:https://www.cnblogs.com/Berryxiong/p/6143016.html

TensorFlow訓練單特征和多特征的線性回歸

線性回歸 線性回歸是很常見的一種回歸&#xff0c;線性回歸可以用來預測或者分類&#xff0c;主要解決線性問題。相關知識可看“相關閱讀”。 主要思想 在TensorFlow中進行線性回歸處理重點是將樣本和樣本特征矩陣化。 單特征線性回歸 單特征回歸模型為&#xff1a;ywxb 構建模…

大數據之HDFS應用開發(java API)

目錄1、搭建開發環境2、獲取api中的客戶端對象3、DistributedFileSystem實例對象所具備的方法4、HDFS客戶端操作數據代碼示例 目錄 1、搭建開發環境 window下開發的說明: A、在windows的某個目錄下解壓一個hadoop的安裝包 B、將安裝包下的lib和bin目錄用對應windows版本平…

shell腳本執行方式,更方便更快捷。

在進行linux測試時編寫腳本是必不可少的。最近經常使用Linux&#xff0c;感覺太頻繁地敲擊鍵盤有些累了&#xff0c;于是想到了Shell腳本。可以把太多的命令寫成一個腳本&#xff0c;這樣每次執行一遍 shell文件&#xff0c;就可以省去了敲擊鍵盤的時間。于是在網上搜了一些有…

行為科學統計第1章

行為科學統計 Statistics for the Behavioral Sciences 一周只學習一次不如每周學習比較多的幾次高效噢&#xff5e;&#xff3b;一開始&#xff0c;你并不知道這是一個會寫著畫風突變的讀書筆記?…&#xff3d; 第I部分 簡述與描述性統計 第1章 統計學入門 這本書我就是覺得這…

閉包---在函數內部再定義一個函數

什么是閉包 # 定義一個函數 def test(number):# 在函數內部再定義一個函數&#xff0c;并且這個函數用到了外邊函數的變量&#xff0c;那么將這個函數以及用到的一些變量稱之為閉包def test_in(number_in):print("in test_in 函數, number_in is %d" % number_in)re…

慕課網_《Java實現對稱加密》學習總結

時間&#xff1a;2017年4月11日星期二說明&#xff1a;本文部分內容均來自慕課網。慕課網&#xff1a;http://www.imooc.com教學示例源碼&#xff1a;https://github.com/zccodere/s...個人學習源碼&#xff1a;https://github.com/zccodere/s... 第一章&#xff1a;對稱加密算…

大數據之MapReduce詳解(MR的運行機制及配合WordCount實例來說明運行機制)

目錄前言&#xff1a;1、MapReduce原理2、mapreduce實踐&#xff08;WordCount實例&#xff09; 目錄 今天先總體說下MapReduce的相關知識&#xff0c;后續將會詳細說明對應的shuffle、mr與yarn的聯系、以及mr的join操作的等知識。以下內容全是個人學習后的見解&#xff0c;如…

生動形象的理解什么是裝飾器!

裝飾器 裝飾器是程序開發中經常會用到的一個功能&#xff0c;用好了裝飾器&#xff0c;開發效率如虎添翼&#xff0c;所以這也是Python面試中必問的問題&#xff0c;但對于好多初次接觸這個知識的人來講&#xff0c;這個功能有點繞&#xff0c;自學時直接繞過去了&#xff0c;…

PLSQL 申明和游標

--從鍵盤輸入一個數 accept b prompt 請輸入一個大于零的數字; declareanum number : &b; beginwhile anum>0loopdbms_output.put_line(anum);anum:anum-1;end loop; end;declarev_num number; begin -- 從stsu表中選出id最大的值&#xff0c;并根據該值打印次數select …

20155222 2016-2017-2 《Java程序設計》第8周學習總結

20155222 2016-2017-2 《Java程序設計》第8周學習總結 教材學習內容總結 Java NIO(New IO)是一個可以替代標準Java IO API的IO API&#xff08;從Java 1.4開始)&#xff0c;Java NIO提供了與標準IO不同的IO工作方式。 Java NIO: Channels and Buffers&#xff08;通道和緩沖區&…

BAT經典面試題精簡版(基礎知識附答案)

文章目錄目錄J2SE基礎JVM操作系統TCP/IP數據結構與算法目錄 J2SE基礎 九種基本數據類型的大小&#xff0c;以及他們的封裝類。 原始類型封裝類 booleanBoolean charCharacter byteByte shortShort intInteger longLong floatFloat doubleDouble Switch能否用string做參數&…

使用2to3.py 轉換 python2.x 代碼 到python3

1.使用Windows 命令提示符&#xff08;cmd&#xff09;cd到2to3.py 腳本所在位置&#xff0c;如下圖&#xff1a; 找不到的2 to 3.py的去 pycharm中雙擊shift搜索一下 2.緊接著運行 2to3.py 腳本&#xff08;可省略&#xff09; 3.執行你想要轉換的文件 python 2to3.py -w H:…

iis6.0與asp.net的運行原理

這幾天上網翻閱了不少前輩們的關于iis和asp.net運行原理的博客&#xff0c;學的有點零零散散&#xff0c;花了好長時間做了一個小結&#xff08;雖然文字不多&#xff0c;但也花了不少時間呢&#xff09;&#xff0c;鄙人不才&#xff0c;難免有理解不道的地方&#xff0c;還望…

元類--用不上的先了解

元類 1. 類也是對象 在大多數編程語言中&#xff0c;類就是一組用來描述如何生成一個對象的代碼段。在Python中這一點仍然成立&#xff1a; >>> class ObjectCreator(object): … pass … >>> my_object ObjectCreator() >>> print(my_ob…

Android學習筆記進階十之Matrix錯切變換

剛開始我也不懂啥叫錯切變換&#xff0c;一看效果圖你就恍然大悟。 對圖像的錯切變換做個總結&#xff1a; x x0 b*y0; y d*x0 y0; 與之對應的方法是&#xff1a; [java] view plaincopyMatrix matrix new Matrix(); matrix.setSkew(0.0f, 0.5f);

SQL數據庫實戰(含建表數據和查詢案例)

Oracle數據庫安裝的時候會自帶一個練習用數據庫&#xff08;其中包含employee表&#xff0c;后來版本中此表改名為emp&#xff09;&#xff1b; 首先在安裝過程中應該有個選項“是否安裝實例表”&#xff08;完全安裝模式下默認是選擇的&#xff09;&#xff0c;需要選擇才有此…

Django中的核心思想ORM---元類實現ORM

1. ORM是什么 ORM 是 python編程語言后端web框架 Django的核心思想&#xff0c;“Object Relational Mapping”&#xff0c;即對象-關系映射&#xff0c;簡稱ORM。 一個句話理解就是&#xff1a;創建一個實例對象&#xff0c;用創建它的類名當做數據表名&#xff0c;用創建它…

移動互聯網廣告 - 第十更 - 廣告投放運營 DashBoard - 2016/12/10

廣告投放運營 DashBoard設計 移動互聯網互聯網廣告投放&#xff0c;數據監控DashBoard&#xff0c;基礎樣例示意&#xff0c;下圖僅供參考&#xff08;來自于互聯網&#xff09;。 轉載于:https://www.cnblogs.com/pythonMLer/p/6154700.html