一、Hadoop簡介; 二、Hadoop構(gòu)成:HDFS+MapReduce; 三、案例:部署Hadoop分布式存儲集群; 一、Hadoop簡介: 1.大數(shù)據(jù)略知一二: 1)大數(shù)據(jù)(big data),指無法在一定時間范圍內(nèi)用常規(guī)軟件工具進(jìn)行捕捉、管理和處理的數(shù)據(jù)集合,是需要新處理模式才能具有更強的決策力、洞察發(fā)現(xiàn)力和流程優(yōu)化能力的海量、高增長率和多樣化的信息資產(chǎn),需要在合理的時間內(nèi)達(dá)到提取、管理、處理、并且整理成為幫助企業(yè)運營決策更積極目的的信息; 2)在維克托·邁爾-舍恩伯格及肯尼斯·庫克耶編寫的《大數(shù)據(jù)時代》 中大數(shù)據(jù)指不用隨機分析法(抽樣調(diào)查)這樣捷徑,而采用所有數(shù)據(jù)進(jìn)行分析處理; 3)大數(shù)據(jù)的5V特點(IBM提出):Volume(大量)、Velocity(高速)、Variety(多樣)、Value(低價值密度)、Veracity(真實性)。 2.圖解大數(shù)據(jù): http://www./blog/2017/07/iaas-paas-saas.html 3.項目起源: Hadoop由 Apache Software Foundation 公司于 2005 年秋天作為Lucene的子項目Nutch的一部分正式引入。它受到最先由 Google Lab 開發(fā)的 Map/Reduce 和 Google File System(GFS) 的啟發(fā)。2006 年 3 月份,Map/Reduce 和 Nutch Distributed File System (NDFS) 分別被納入稱為 Hadoop 的項目中。Hadoop是一個能夠?qū)Υ罅繑?shù)據(jù)進(jìn)行分布式處理的軟件框架。 Hadoop 是最受歡迎的在 Internet 上對搜索關(guān)鍵字進(jìn)行內(nèi)容分類的工具,但它也可以解決許多要求極大伸縮性的問題。例如,如果您要 grep 一個 10TB 的巨型文件,會出現(xiàn)什么情況?在傳統(tǒng)的系統(tǒng)上,這將需要很長的時間。但是 Hadoop 在設(shè)計時就考慮到這些問題,采用并行執(zhí)行機制,因此能大大提高效率。 4.hadoop優(yōu)點: 1)高可靠:在多臺廉價商用機器群集上,善于存放超大文件; 2)高擴展性:Hadoop是在可用的計算機集簇間分配數(shù)據(jù)并完成計算任務(wù)的,這些集簇可以方便地擴展到數(shù)以千計的節(jié)點中。 3)高效性:處理速度較快。 4)高容錯性:Hadoop能夠自動保存數(shù)據(jù)的多個副本,并且能夠自動將失敗的任務(wù)重新分配。 5)低成本:hadoop是開源的,項目的軟件成本因此會大大降低。 6)Hadoop帶有用Java語言編寫的框架,因此運行在 Linux 生產(chǎn)平臺上是非常理想的。Hadoop 上的應(yīng)用程序也可以使用其他語言編寫,比如 C++。 補充:云計算大數(shù)據(jù)必會單位(換算為1024=2^10;1B=8b,1漢字=2B) bit比特|位--byte字節(jié)--KB--MB--GB--TB--PB--EB--ZB--YB--BB--NB--DB 5.hadoop缺點: 1)低時間延遲的數(shù)據(jù)訪問:要求在例如幾十毫秒內(nèi)完成數(shù)據(jù)訪問的應(yīng)用,不適合在HDFS上運行,HDFS雖然有強大的高數(shù)據(jù)吞吐量,但是以提高時間延遲為代價,可以使用HBase滿足低延遲的訪問需求; 2)無法高效存儲大量小文件:大量小文件會造成整個文件系統(tǒng)的目錄樹和索引目錄相對較大,而這些的元數(shù)據(jù)都會存放在namenode節(jié)點; 二、Hadoop構(gòu)成:HDFS+MapReduce: 1.HDFS引擎結(jié)構(gòu): 1)Hadoop Distributed File System(HDFS)引擎:包括namenode(名稱空間節(jié)點)和datanode(數(shù)據(jù)節(jié)點); https://www.cnblogs.com/liango/p/7136448.html 基礎(chǔ)概念: 1)文件塊:Block,datanode中存放數(shù)據(jù)最小邏輯單元,默認(rèn)塊大小為64M,便于管理,不受磁盤限制,數(shù)據(jù)可在datanode的總block中進(jìn)行冗余備份,存儲的副本數(shù)量要少于datanode節(jié)點的數(shù)量,當(dāng)一個或多個塊出現(xiàn)故障,用戶可以直接去其他地方讀取數(shù)據(jù)副本; 2)NameNode:管理文件系統(tǒng)的命名空間,屬于管理者角色,維護(hù)文件系統(tǒng)樹內(nèi)所有文件和目錄,記錄每個文件在各個DataNode上的位置和副本信息,并協(xié)調(diào)客戶端對文件的訪問; 3)DataNode:負(fù)責(zé)處理文件系統(tǒng)客戶端的文件讀寫請求,存儲并檢索數(shù)據(jù)塊,并定期向NameNode發(fā)送所存儲的塊的列表,屬于工作者角色。負(fù)責(zé)所在物理節(jié)點的存儲管理,按照一次寫入,多次讀取的原則,存儲文件按照Block塊進(jìn)行存儲; 4)Secondary NameNode:相當(dāng)于NameNode的快照,也稱之為二級NameNode,能夠周期性的備份NameNode,記錄NameNode上的元數(shù)據(jù)等。為防止NameNode進(jìn)程出現(xiàn)故障,起到備份作用; 2. MapReduce 引擎構(gòu)成: 1)MapReduce 引擎:是用于并行處理計算大數(shù)據(jù)集的軟件框架,是HDFS(對于本文)的上一層,與hadoop結(jié)合工作,將用戶的任務(wù)分發(fā)到上千臺商用機器組成的集群上。最簡單的 MapReduce應(yīng)用程序至少包含 2個部分:一個 Map (映射)函數(shù)、一個 Reduce (歸納)函數(shù),Map負(fù)責(zé)將任務(wù)分解成多個子任務(wù),reduce負(fù)責(zé)把分解后的多任務(wù)的處理結(jié)果進(jìn)行匯總; JobTrackers :是一個master進(jìn)程,用于作業(yè)的調(diào)度和管理工作,一個Hadoop集群中只有一臺JobTracker; TaskTrackers:運行在多個節(jié)點上的Slave服務(wù),用于執(zhí)行任務(wù)。TaskTracker需要運行在HDFS的DataNode節(jié)點上; MapReduce 引擎的缺點:JobTracker單點瓶頸(負(fù)責(zé)集群心跳信息、作業(yè)管理)、JobTracker分配作業(yè)延遲高、缺乏靈活性; 2) YARN架構(gòu):是MapReduce 引擎的V2版本,解決MapReduce 引擎面臨的性能瓶頸問題,將集群資源管理和作業(yè)調(diào)度進(jìn)行分離; ResourceManager進(jìn)程:管理集群資源的資源管理器 MapReduce:管理作業(yè)任務(wù) 3)數(shù)據(jù)倉庫工具Hive和分布式數(shù)據(jù)庫Hbase:NoSQL數(shù)據(jù)庫 3.Hadoop核心概念注意事項: 1)HDFS把節(jié)點分成兩類:NameNode和DataNode。NameNode是唯一的,程序與之通信,然后從DataNode上存取文件。這些操作是透明的,與普通的文件系統(tǒng)API沒有區(qū)別。 2)MapReduce則是JobTracker節(jié)點為主,分配工作以及負(fù)責(zé)和用戶程序通信。 3)HDFS和MapReduce實現(xiàn)是完全分離的,并不是沒有HDFS就不能MapReduce運算。 4)Hadoop也跟其他云計算項目有共同點和目標(biāo):實現(xiàn)海量數(shù)據(jù)的計算。而進(jìn)行海量計算需要一個穩(wěn)定的,安全的數(shù)據(jù)容器,才有了Hadoop分布式文件系統(tǒng)(HDFS,Hadoop Distributed File System)。 5)60款大數(shù)據(jù)軟件:http://blog.csdn.net/SunWuKong_Hadoop/article/details/53580425 6)Hadoop生態(tài):http://blog.csdn.net/u010270403/article/details/51493191 三、案例:部署Hadoop分布式存儲集群: 環(huán)境:
版本要求: hadoop版本>=2.7:要求Java 7(openjdk/oracle) hadoop版本<=2.6:要求Java 6(openjdk/oracle) 步驟: ?配置所有節(jié)點間的域名解析及創(chuàng)建用戶(所有節(jié)點配置相同,在此列舉master節(jié)點配置); ?配置master節(jié)點遠(yuǎn)程管理slave節(jié)點; ?在所有節(jié)點安裝JDK環(huán)境(所有節(jié)點配置相同,在此列舉master節(jié)點配置); ?在所有節(jié)點安裝Hadoop并簡要配置(所有節(jié)點配置相同,在此列舉master節(jié)點配置); ?在master節(jié)點進(jìn)行配置hadoop服務(wù),并將配置文件復(fù)制到slave節(jié)點上; ?在master節(jié)點初始化并且啟動Hadoop進(jìn)程; ?驗證slave節(jié)點的進(jìn)程狀態(tài); ?網(wǎng)頁查看http://master:50070統(tǒng)計hadoop集群的信息; ?Hadoop中數(shù)據(jù)的基本管理; ?配置所有節(jié)點間的域名解析及創(chuàng)建用戶(所有節(jié)點配置相同,在此列舉master節(jié)點配置): [root@master ~]# hostnamectl set-hostname master [root@master ~]# cat < 192.168.100.101 master 192.168.100.102 slave1 192.168.100.103 slave2 END [root@master ~]# useradd hadoop [root@master ~]# echo "hadoop" |passwd --stdin hadoop ?配置master節(jié)點遠(yuǎn)程管理slave節(jié)點: [root@master ~]# su - hadoop 上一次登錄:四 5月 31 01:54:26 CST 2018pts/0 上 [hadoop@master ~]$ ssh-keygen -t rsa [hadoop@master ~]$ ssh-copy-id hadoop@192.168.100.101 [hadoop@master ~]$ ssh-copy-id hadoop@192.168.100.102 [hadoop@master ~]$ ssh-copy-id hadoop@192.168.100.103 [hadoop@master ~]$ ssh hadoop@master ##遠(yuǎn)程連接slave節(jié)點,進(jìn)行確認(rèn)key值文件,不然在啟動hadoo時,會出現(xiàn)key的問題導(dǎo)致無法啟動 [hadoop@master ~]$ ssh hadoop@slave1 [hadoop@master ~]$ ssh hadoop@slave2 ?在所有節(jié)點安裝JDK環(huán)境(所有節(jié)點配置相同,在此列舉master節(jié)點配置): [hadoop@master ~]$ exit [root@master ~]# tar zxvf jdk-8u171-linux-x64.tar.gz [root@master ~]# mv /root/jdk1.8.0_171/ /usr/local/java/ [root@master ~]# ls /usr/local/java/ [root@master ~]# cat < JAVA_HOME=/usr/local/java/ JRE_HOME=\$JAVA_HOME/jre CLASS_PATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar:\$JAVA_HOME/lib PATH=\$PATH:\$JAVA_HOME/bin:\$JRE_HOME/bin export JAVA_HOME JRE_HOME CLASS_PATH PATH END [root@master ~]# source /etc/profile [root@master ~]# java -version java version "1.8.0_171" ?在所有節(jié)點安裝Hadoop并簡要配置(所有節(jié)點配置相同,在此列舉master節(jié)點配置): [root@master ~]# tar zxvf hadoop-2.7.6.tar.gz [root@master ~]# mv /root/hadoop-2.7.6/ /usr/local/hadoop/ [root@master ~]# ls /usr/local/hadoop/ bin etc include lib libexec LICENSE.txt NOTICE.txt README.txt sbin share [root@master ~]# cat < export HADOOP_HOME=/usr/local/hadoop/ export PATH=\$PATH:\$HADOOP_HOME/bin END [root@master ~]# source /etc/profile [root@master ~]# echo "export JAVA_HOME=/usr/local/java/" >>/usr/local/hadoop/etc/hadoop/hadoop-env.sh ##設(shè)置HDFS存儲加載jdk的環(huán)境變量 [root@master ~]# echo "export JAVA_HOME=/usr/local/java/" >>/usr/local/hadoop/etc/hadoop/yarn-env.sh ##設(shè)置mapreduce的V2版本--YARN加載jdk的環(huán)境變量 [root@master ~]# mkdir /usr/local/hadoop/name/ ##存放namenode中元數(shù)據(jù)的位置 [root@master ~]# mkdir /usr/local/hadoop/data/ ##存放datanode中的數(shù)據(jù)目錄 [root@master ~]# mkdir /usr/local/hadoop/tmp/ ##存放用戶臨時文件 [root@master ~]# mkdir /usr/local/hadoop/var/ ##存放服務(wù)動態(tài)變化文件 [root@master ~]# chown hadoop /usr/local/hadoop/ -R ?在master節(jié)點進(jìn)行配置hadoop服務(wù),并將配置文件復(fù)制到slave節(jié)點上; [root@master ~]# su - hadoop [hadoop@master ~]$ vi /usr/local/hadoop/etc/hadoop/core-site.xml ##指定名稱節(jié)點namenode的相關(guān)配置 [hadoop@master ~]$ vi /usr/local/hadoop/etc/hadoop/hdfs-site.xml ##指定hdfs存儲的相關(guān)配置 [hadoop@master ~]$ cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml ##修改mapreduce配置文件,將其改為YARN模型 [hadoop@master ~]$ vi /usr/local/hadoop/etc/hadoop/mapred-site.xml ##指定MapR的相關(guān)配置 [hadoop@master ~]$ vi /usr/local/hadoop/etc/hadoop/slaves ##指定slave的名稱 slave1 slave2 附:此文件明確指定DataNode節(jié)點,可以通過節(jié)點的添加和減少來滿足整個hadoop群集的伸縮性,添加節(jié)點時,首先將新節(jié)點的配置保證與NameNode節(jié)點配置相同,在此文件指定新的DataNode節(jié)點名,重新啟動NameNode便完成。但為保證原有DataNode節(jié)點與新添加DataNode節(jié)點的數(shù)據(jù)進(jìn)行均衡存儲,需要執(zhí)行此命令進(jìn)行重新平衡數(shù)據(jù)塊的分布:/usr/local/hadoop/sbin/start-balancer.sh [hadoop@master ~]$ vi /usr/local/hadoop/etc/hadoop/yarn-site.xml ##指定YARN的相關(guān)配置 [hadoop@master ~]$ scp -r /usr/local/hadoop/etc/hadoop/* hadoop@192.168.100.102:/usr/local/hadoop/etc/hadoop/ [hadoop@master ~]$ scp -r /usr/local/hadoop/etc/hadoop/* hadoop@192.168.100.103:/usr/local/hadoop/etc/hadoop/ ?在master節(jié)點初始化并且啟動Hadoop進(jìn)程: [hadoop@master ~]$ /usr/local/hadoop/bin/hdfs namenode -format [hadoop@master ~]$ ls /usr/local/hadoop/name/ ##初始化所生成的名稱節(jié)點文件 current 注:第一次執(zhí)行格式化,提示信息如上圖,如若第二次再次執(zhí)行格式化,需要將namenode節(jié)點的/usr/local/hadoop/name/目錄內(nèi)容清空,并且將datanode節(jié)點的/usr/local/hadoop/data/目錄清空,方可再次執(zhí)行格式化,否則會造成namenode節(jié)點與datanode節(jié)點的數(shù)據(jù)版本ID不一致,導(dǎo)致啟動服務(wù)失?。?/span> [hadoop@master ~]$ /usr/local/hadoop/sbin/start-all.sh ##啟動hadoop的所有進(jìn)程 This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh Starting namenodes on [master] master: starting namenode, logging to /usr/local/hadoop/logs/hadoop-hadoop-namenode-master.out slave2: starting datanode, logging to /usr/local/hadoop/logs/hadoop-hadoop-datanode-slave2.out slave1: starting datanode, logging to /usr/local/hadoop/logs/hadoop-hadoop-datanode-slave1.out Starting secondary namenodes [master] master: starting secondarynamenode, logging to /usr/local/hadoop/logs/hadoop-hadoop-secondarynamenode-master.out starting yarn daemons starting resourcemanager, logging to /usr/local/hadoop/logs/yarn-hadoop-resourcemanager-master.out slave2: starting nodemanager, logging to /usr/local/hadoop/logs/yarn-hadoop-nodemanager-slave2.out slave1: starting nodemanager, logging to /usr/local/hadoop/logs/yarn-hadoop-nodemanager-slave1.out 注:/usr/local/hadoop/sbin/start-all.sh命令等于/usr/local/hadoop/sbin/start-dfs.sh加/usr/local/hadoop/sbin/start-yarn.sh,前者啟動hdfs系統(tǒng),后者啟動mapreduce調(diào)度工具,關(guān)閉兩進(jìn)程的命令為/usr/local/hadoop/sbin/stop-all.sh [hadoop@master ~]$ netstat -utpln (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:50070 0.0.0.0:* LISTEN 7266/java ##namenode進(jìn)程的http端口 tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN - tcp 0 0 192.168.100.101:8088 0.0.0.0:* LISTEN 7623/java tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN - tcp 0 0 192.168.100.101:8030 0.0.0.0:* LISTEN 7623/java tcp 0 0 192.168.100.101:8032 0.0.0.0:* LISTEN 7623/java tcp 0 0 192.168.100.101:8033 0.0.0.0:* LISTEN 7623/java tcp 0 0 192.168.100.101:8035 0.0.0.0:* LISTEN 7623/java tcp 0 0 192.168.100.101:9000 0.0.0.0:* LISTEN 7266/java ##客戶端連接hdfs系統(tǒng)時用到的端口 tcp 0 0 192.168.100.101:50090 0.0.0.0:* LISTEN 7467/java ## secondary namenode進(jìn)程的http端口 [hadoop@master ~]$ /usr/local/hadoop/bin/hdfs dfsadmin -report ##查看hadoop存儲節(jié)點的狀態(tài)信息 Configured Capacity: 39631978496 (36.91 GB) Present Capacity: 33541480448 (31.24 GB) DFS Remaining: 33541472256 (31.24 GB) DFS Used: 8192 (8 KB) DFS Used%: 0.00% Under replicated blocks: 0 Blocks with corrupt replicas: 0 Missing blocks: 0 Missing blocks (with replication factor 1): 0 ------------------------------------------------- Live datanodes (2): Name: 192.168.100.103:50010 (slave2) Hostname: slave2 Decommission Status : Normal Configured Capacity: 19815989248 (18.46 GB) DFS Used: 4096 (4 KB) Non DFS Used: 3045191680 (2.84 GB) DFS Remaining: 16770793472 (15.62 GB) DFS Used%: 0.00% DFS Remaining%: 84.63% Configured Cache Capacity: 0 (0 B) Cache Used: 0 (0 B) Cache Remaining: 0 (0 B) Cache Used%: 100.00% Cache Remaining%: 0.00% Xceivers: 1 Last contact: Thu May 31 03:03:09 CST 2018 Name: 192.168.100.102:50010 (slave1) Hostname: slave1 Decommission Status : Normal Configured Capacity: 19815989248 (18.46 GB) DFS Used: 4096 (4 KB) Non DFS Used: 3045306368 (2.84 GB) DFS Remaining: 16770678784 (15.62 GB) DFS Used%: 0.00% DFS Remaining%: 84.63% Configured Cache Capacity: 0 (0 B) Cache Used: 0 (0 B) Cache Remaining: 0 (0 B) Cache Used%: 100.00% Cache Remaining%: 0.00% Xceivers: 1 Last contact: Thu May 31 03:03:09 CST 2018 [hadoop@master ~]$ jps 7266 NameNode ##namenode節(jié)點主進(jìn)程 7623 ResourceManager ##mapreduce管理進(jìn)程 7467 SecondaryNameNode ##namenode的備份進(jìn)程,避免namenode進(jìn)程意外停止,客戶端無法讀寫數(shù)據(jù) 7883 Jps ?驗證slave節(jié)點的進(jìn)程狀態(tài); [root@slave1 ~]$ su - hadoop [hadoop@slave1 ~]$ netstat -utpln (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN - tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:13562 0.0.0.0:* LISTEN 3391/java tcp 0 0 0.0.0.0:50010 0.0.0.0:* LISTEN 3274/java tcp 0 0 0.0.0.0:50075 0.0.0.0:* LISTEN 3274/java tcp 0 0 0.0.0.0:39938 0.0.0.0:* LISTEN 3391/java tcp 0 0 0.0.0.0:50020 0.0.0.0:* LISTEN 3274/java tcp 0 0 127.0.0.1:38373 0.0.0.0:* LISTEN 3274/java tcp 0 0 0.0.0.0:8040 0.0.0.0:* LISTEN 3391/java tcp 0 0 0.0.0.0:8042 0.0.0.0:* LISTEN 3391/java [hadoop@slave1 ~]$ jps 3526 Jps 3274 DataNode 3391 NodeManager ##與namenode執(zhí)行心跳信息的節(jié)點進(jìn)程 ?網(wǎng)頁查看http://master:50070統(tǒng)計hadoop集群的信息; ?Hadoop中數(shù)據(jù)的基本管理: [hadoop@master ~]$ pwd /home/hadoop [hadoop@master ~]$ touch 1.file [hadoop@master ~]$ ls 1.file [hadoop@master ~]$ hadoop fs -ls file:///home/hadoop/ ##查看本地文件 [hadoop@master ~]$ hadoop fs -ls / ##查看hadoop文件 [hadoop@master ~]$ hadoop fs -mkdir /input1 [hadoop@master ~]$ hadoop fs -put /home/hadoop/1.file /input1 ##上傳本地文件 [hadoop@master ~]$ hadoop fs -ls /input1 Found 1 items -rw-r--r-- 2 hadoop supergroup 0 2018-05-31 07:38 /input1/1.file [hadoop@master ~]$ hadoop fs -cat /input1/1.file ##查看hadoop文件內(nèi)容 [hadoop@master ~]$ hadoop fs -cat file:///home/hadoop/1.file ##查看本地文件內(nèi)容 [hadoop@master ~]$ hadoop fs -get /input1/1.file /tmp ##下載hadoop文件 [hadoop@master ~]$ ls /tmp/ 1.file [hadoop@master ~]$ hadoop fs -mkdir /input2 [hadoop@master ~]$ hadoop fs -mv /input1/1.file /input2/1.txt [hadoop@master ~]$ hadoop fs -ls /input2 Found 1 items -rw-r--r-- 2 hadoop supergroup 0 2018-05-31 07:38 /input2/1.txt [hadoop@master ~]$ hadoop fs -cp /input2/1.txt /input2/2.txt [hadoop@master ~]$ hadoop fs -ls /input2 Found 2 items -rw-r--r-- 2 hadoop supergroup 0 2018-05-31 07:38 /input2/1.txt -rw-r--r-- 2 hadoop supergroup 0 2018-05-31 08:01 /input2/2.txt [hadoop@master ~]$ hadoop fs -rm /input2/2.txt ##刪除單個文件 18/05/31 08:01:40 INFO fs.TrashPolicyDefault: Namenode trash configuration: Deletion interval = 0 minutes, Emptier interval = 0 minutes. Deleted /input2/2.txt [hadoop@master ~]$ hadoop fs -ls /input2 Found 1 items -rw-r--r-- 2 hadoop supergroup 0 2018-05-31 07:38 /input2/1.txt [hadoop@master ~]$ hadoop fs -rmr /input2/ ##遞歸刪除目錄 rmr: DEPRECATED: Please use 'rm -r' instead. 18/05/31 08:06:23 INFO fs.TrashPolicyDefault: Namenode trash configuration: Deletion interval = 0 minutes, Emptier interval = 0 minutes. Deleted /input2 [hadoop@master ~]$ hadoop fs -ls / Found 1 items drwxr-xr-x - hadoop supergroup 0 2018-05-31 07:58 /input1 [hadoop@master ~]$ hadoop fs -test -e /input1/ ##查看文件或目錄是否存在,存在返回值為0,不存在返回值為1 [hadoop@master ~]$ echo $? 0 [hadoop@master ~]$ hadoop fs -test -e /input1/2.file [hadoop@master ~]$ echo $? 1 [hadoop@master ~]$ hadoop fs -du /input1 ##查看目錄中文件的所有文件的大小 0 /input1/2.file._COPYING_ [hadoop@master ~]$ hadoop fs -du -s /input1 ##查看目錄本身的大小 0 /input1 [hadoop@master ~]$ hadoop fs -expunge ##清空回收站 [hadoop@master ~]$ hadoop fs -chmod 777 /input1 [hadoop@master ~]$ hadoop fs -chown hadoop:hadoop /input1 [hadoop@master ~]$ hadoop fs -ls / Found 1 items drwxrwxrwx - hadoop hadoop 0 2018-05-31 07:58 /input1 |
|