[TOC]
架構(gòu)
1 NameNode
存儲文件止吁,名稱被辑,dataNode信息等等
2 DataNode
保存文件
3 Second NameNode
后臺監(jiān)控監(jiān)控
4 文件命令
- 創(chuàng)建一個文件夾 hdfs dfs -mkdir /myTask
- 創(chuàng)建多個文件夾 hdfs dfs -mkdir -p /myTask1/input1
- 上傳文件 hdfs dfs -put /opt/wordcount.txt /myTask/input
- 查看總目錄下的文件和文件夾 hdfs dfs -ls /
- 查看myTask下的文件和文件夾 hdfs dfs -ls /myTask
- 查看myTask下的wordcount.txt的內(nèi)容 hdfs dfs -cat /myTask/wordcount.txt
- 刪除總目錄下的myTask2文件夾以及里面的文件和文件夾 hdfs dfs -rmr /myTask2
- 刪除myTask下的wordcount.txt hdfs dfs -rmr /myTask/wordcount.txt
- 下載hdfs中myTask/input/wordcount.txt到本地opt文件夾中 hdfs dfs -get /myTask/input/wordcount.txt /opt
5 WEB UI權(quán)限問題
Permission denied: user=dr.who, access=READ_EXECUTE, inode="/tmp":hadoop:supergroup:drwx------
- 第一種方法,修改site用戶為 hadoop對應(yīng)的用戶
<!-- 修改core-site.xml></-->
<property>
<name>hadoop.http.staticuser.user</name>
<value>zhangwei</value>
</property>
-
第二種方法,關(guān)閉權(quán)限校驗
<!-- 修改hdfs-site.xml --> <property> <name>dfs.permissions.enabled</name> <value>false</value> </property>
[TOC]
例子
1 單機例子
https://hadoop.apache.org/docs/r3.3.0/hadoop-project-dist/hadoop-common/SingleCluster.html
mkdir input
cp etc/hadoop/*.xml input
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.0.jar grep input output 'dfs[a-z.]+'
cat output/*
2.偽集群例子
配置了HDFS敬惦,需要把文件存儲在HDFS上盼理,所以WEB-UI沒有權(quán)限
# 創(chuàng)建MapReduce任務(wù)需要的默認目錄,默認為/user/hadoop用戶名
hdfs dfs -mkdir /user
hdfs dfs -mkdir /user/hadoop
# 復(fù)制文件到HDFS文件系統(tǒng)[在hadoop目錄下,具體看自己實際位置]
hdfs dfs -mkdir input
hdfs dfs -put etc/hadoop/*xml input
# 執(zhí)行mapReduce
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.4.jar grep input output 'dfs[a-z.]+'
# 查看結(jié)果俄删,下載到本地看或者HDFS上看
# 本地
hdfs dfs -get output output
cat output/*
# HDFS
hdfs dfs -cat output/*
image.png
3 集群
TODO
4 運行在 YARN 上
配置yarn-site宏怔、mapred-site.xml即可,命令一樣
image.png