1、HDFS的常用操作
hadoop dfs -ls 列出HDFS下的文件
hadoop dfs -ls in 列出HDFS下某个文档中的文件
hadoop dfs -put test1.txt test 上传文件到指定目录并且重新命名,只有所有的DataNode都接收完数据才算成功
hadoop dfs -get in getin 从HDFS获取文件并且重新命名为getin,同put一样可操作文件也可操作目录
hadoop dfs -rmr out 删除指定文件从HDFS上
hadoop dfs -cat in/* 查看HDFS上in目录的内容
hadoop dfsadmin -report 查看HDFS的基本统计信息,结果如下
hadoop dfsadmin -safemode leave 退出安全模式
hadoop dfsadmin -safemode enter 进入安全模式
hadoop fsck -blocks 查看block的状态
2、HDFS的块大小(dfs.block.size)默认为64M,可以在hdfs-site.xml中配置
3、Wind7下权限问题:
Failed to set permissions of path: \tmp\hadoop-ptmind\mapred\staging\
解决方案:
将Hadoop源码中的
org.apache.hadoop.fs.FileUtil.checkReturnValue(boolean rv, File p, FsPermission permission)方案中的检查去掉(注释),然后将编译的class打到hadoop-core Jar包中
4 、Hadoop中,HDFS文件路径(dfs.data.dir)权限为:rwxr-xr-x
5、Hadoop修改路径权限:hadoop fs -chmod 777 /user/test/
6、经过Gzip压缩的HDFS,只能通过text查看(hadoop fs -text /user/XX/XX.gz),无法通过cat查看(hadoop fs -cat /user/XX/XX.gz)
7、hadoop关闭安全模式:bin/hadoop dfsadmin -safemode leave
8、bin/hadoop jar world.jar org.apache.hadoop.examples.WordCount /user/hadoop/input /user/hadoop/output 2>/dev/null
9、hadoop dfs -setrep [-R] <path>
hadoop dfsadmin -safemode value 来操作安全模式,参数value的说明如下:
enter - 进入安全模式
leave - 强制NameNode离开安全模式
get - 返回安全模式是否开启的信息
wait - 等待,一直到安全模式结束
10、Hadoop刚开始只会调度Map Task,直到Map Task完成数目达到一定比例(由参数mapred.reduce.slowstart.completed.maps指定,默认是0.05,即5%)后,才开始调度Reduce Task
11、JobTracker与TaskTracker之前采用了"pull"而不是"push"的模型,即JobTracker从不会主动向TaskTracker发送任何信息,而是由TaskTracker主动通过心跳”领取“属于自己的信息。JobTracker只能通过心跳应答的形式为各个TaskTracker分配任务
12、JobTracker将下达给TaskTracker的命令封装成TaskTrackerAction类,主要包括ReinitTrackerAction(重新初始化)、LaunchTaskAction(运行新任务)、KillTaskAction(杀死任务)、
KillJobAction(杀死作业)和CommitTaskAction(提交任务)五种
13、hadoop作业描述模型
14、HDFS中,一个Block(默认64M)只能存储一个文件,一个文件能存储在多个Block中(HDFS专为大文件设计),文件与block-id的映射关系保存在NN中。所以HDFS不适合保存小文件,
15、配置DataNode上报多少Block比例后,Hadoop离开安全模式dfs.safemode.threshold.pct