HDFS入门(1)
2015.07.12筆記
1.HDFS
Distributed File System(操作系統實現人機交互,最重要的功能是文件管理,使用文件管理系統,windows、Linux文件管理系統有共性:用戶可創建文件/夾,刪除,修改權限,修改源數據信息(創建、修改、訪問時間等)。在操作系統中的文件或者數據的管理是通過文件系統實現的,文件系統是操作系統實現文件管理的一個重要的組成部分,操作系統將文件放置到硬件(硬盤,服務器能有一萬多兆)當中進行管理。在服務器中,數據的儲存管理是通過我們寫的程序進行管理,當數據量多時,可在硬盤插槽增加硬盤(6個插槽),可分散到多個系統上,用戶不需知道文件存儲在哪個IP上(如www.Baidu.com域名對應到多臺服務器)DFS分布式文件系統是數據分布在很多個文件系統,而DFS對應的是一個操作系統()數據量多,用戶操作不方便,DFS分布式文件系統凌駕在操作系統所轄的文件管理系統中)
數據量越來越多,在一個操作系統管轄的范圍存不下了,那么就分配到更多的操作系統管理的磁盤中,但是不方便管理和維護,因此迫切需要一種系統來管理多臺機器上的文件,這就是分布式文件管理系統 。
是一種允許文件通過網絡在多臺主機上分享的文件系統,可讓多機器上的多用戶分享文件和存儲空間。
通透性。讓實際上是通過網絡來訪問文件的動作,由程序與用戶看來,就像是訪問本地的磁盤一般。
容錯。即使系統中有某些節點脫機,整體來說系統仍然可以持續運作而不會有數據損失。
分布式文件管理系統很多,hdfs只是其中一種,不合適小文件(通過一定的策略將小文件變成大文件)。實現文件管理
?
HDFS的Shell(hdfs存儲的都是大數據,shell是Linux操作系統的組成部分,hdfs屬于hadoop軟件的組成部分,在shell中使用特定命令調用hdfs接口中的命令)(ls藍色字體是文件夾,綠色是文件)
調用文件系統(FS)Shell命令應使用 bin/hdfs dfs xxx 的形式。
所有的FS shell命令使用URI路徑作為參數。
URI格式是scheme://authority/path。HDFS的scheme是hdfs,對本地文件系統,scheme是file。其中scheme和authority參數都是可選的,如果未加指定,就會使用配置中指定的默認scheme。
例如:/parent/child可以表示成hdfs://namenode:namenodePort/parent/child,或者更簡單的/parent/child(假設配置文件是namenode:namenodePort)
大多數FS Shell命令的行為和對應的Unix Shell命令類似。
安裝好(綠色文件是用于批量啟動hadoop寫的文件(照著寫))
2.apache hadoop目錄結構
(查看的腳本文件)(在java線程概念里面的方法set daemon給它傳個true就可以讓其變成精靈進程,精靈進程不停跑
查看進程
?
bin sbin 很重要(bin,系統操作命令,存放的都是命令腳本有兩類.cmd是在windows下面的命令;sbin系統維護運營)
share(通過路徑加載jar包)
?
logs 文件(學會看日志,分析日志,log歷史日志,out是當前日志)
通過hdfs操作
hdfs 用法(中括號表示可選,安裝hadoop改的配置文件可單獨放到單獨的文件夾中--config confir適用于很多變化的環境,工作環境使用的是默認目錄下的配置文件)空格加command
?
dfs是在被支持的文件系統支持下運行一個文件系統的命令,可參考Linux命令
?
3.HDFS dfs命令
可見文檔
注意點:啟動進程的用戶是super user,可以做任何事情
?
?
在版本2中(腳本沒改才提示),不用關心
Hadoop1下使用的是hadoop,(hadoop2版本)dfs,執行結果一樣
?
查看目錄結構
?
bin/hdfs dfs -ls hdfs://192.168.80.100:9000/
-ls 后面跟的是hdfs訪問路徑(在配置文件中設置過,可跟主機名(執行hostname查看,端口9000是之前etc/Hadoop/core-site.xml文件配置的)或IP,9000后面的斜杠表示hdfs的根目錄)(訪問互聯網必須通過通過協議http https ftp )
?
ls命令來自于
在配置etc/Hadoop/core-site.xml文件中設置過hdfs的訪問路徑
?
文件系統需組織結構,Linux是樹狀結構,hdfs的根目錄(跟Linux不一樣)
?
64位機裝32位hadoop會出現警告信息(學習沒影響,企業使用64位,32位的對內存大小有限制,軟件最好通過源碼編譯成64位)可以通過源碼編譯hadoop
操作系統64位,hadoop是32位會提示錯誤
?
非常像Linux文件結構
4.常見HDFS命令
-表示沒有副本數,最后一次訪問時間
大小單位是字節(目錄本身而言不含有數據,所以大小為0),后面是絕對路徑(如何知道這些信息)
?
?
指的是文件夾
一級一級查看麻煩
?
注意是—R(Recursively遞歸使用大寫)
-d(普通格式輸出)
?
?
-h(默認是字節,加上后根據大小顯示單位k,M)
?
簡寫,去掉hdfs://192.168.80.100:9000(運行時被運行環境補充上了,它是要找本地中是否有hdfs的配置文件,如果有就將里面特定的值給補充上fs.defaultFS)
?
?
?
通過執行命令區分
?
?
誤以為是Linux(缺少目的地文件)
-cat
文件系統就是原封不動存取數據,mysql是文件管理系統,
-put
-cp(從hdfs到hdfs)
-copyToFile)(hdfs拷貝到Linux)
-chmod
chmod 777
?
用戶/所在者,所在組,其他人(常用的權限是文件夾755,默認創建文件644)
?
?
?
ls什么都不跟默認/user/root
在hdfs下沒有目錄
currentUser的目錄
?
?
?
?
轉載于:https://www.cnblogs.com/liuyifeng/p/5229203.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
- 上一篇: 手把手教你使用si9000计算高速差分线
- 下一篇: ObserveIT Client安装后屏