1.hadoop fs -get >
从DFS拷贝文件到本地文件系统
hadoop fs -get /data/input/1901 >1901
2.hadoop fs -put
从本地系统拷贝文件到DFS
hadoop fs -put data/ /
3.hadoop fs -cat >
从DFS多个part文件合并拷贝文件到本地文件系统,
hadoop fs -cat /work/filter/part* > result.txt
4.hadoop fs -rm
删除匹配pattern的指定文件
5.hadoop fs -mkdir
在指定位置创建目录
6.hadoop fs -mv
将制定格式的文件 move到指定的目标位置。当src为多个文件时,dst必须是个目录
7.hadoop fs -ls
列出在指定目录下的文件内容
8.hadoop fs -cat file:///file3 /user/hadoop/file4
将路径指定文件的内容输出到stdout。
9.hadoop jar ./hadoop-MaxTemperature.jar /data/input/ /data/output/
hadoop 执行jar 注意 后边的路径都是hdfs里边的路径而不是linux的系统路径
输出的文件 一定不能存在 否则会报错。
10. 创建目录报错:
mkdir: Permission denied: user=root, access=WRITE, inode="/":hdfs:supergroup:drwxr-xr-x
意思为权限不够
su hdfs,使用hdfs用户操作
在hdfs里进行操作 就会有权限
hadoop fs -chmod 777 /user
如果权限不够 可以修改权限
exit 退出hdfs
也可以在haoop 配置文件中hdfs-site.xml 中设置权限为false
默认值为true,即启用权限检查。如果为 false,则禁用权限检查。
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
11.如果报错:mkdir: `/data/input’: No such file or directory
hadoop fs -mkdir -p /data/input
-
创建文件
hadoop fs -touchz /data/updata/test2.txt
13.大文件复制 distcp 利用map并行复制 速度快
hadoop distcp /data/input /data1/
只复制修改的文件
hadoop distcp -update /data/input /data1/
强制覆盖
hadoop distcp -overwrite /data/input /data1/
夸集群复制 -delete 删除 不是源目录的数据 -p 权限属性一同复制
hadoop distcp -update -delete -p hdfs://namenode1/foo hdfs://namenode2/foo
如果集群hdfs是不兼容版本 使用webhdfs协议
hadoop distcp webhdfs://namenode1/foo webhdfs://namenode2/foo
14.hadoop fs -text /data/sequence/numbers.seq
以文本形式查看顺序文件(sequenceFile) gzip文件 avro数据文件
该命令可以检测文件代码 并转换成相应的文本
15.hadoop fs -conf hadoop-localhost.xml -ls /
使用-conf 命令 调用hadoop-localhost.xml配置文件来执行命令 如果省略-conf 则使用默认配置
16 hadoop dfsadmin -safemode leave
hadoop 退出安全模式
查看是否处于安全模式
hdfs dfsadmin -safemode get
报错:Exception in thread “main” org.apache.hadoop.hdfs.server.namenode.SafeModeException: Cannot delete /tmp/hadoop-yarn/staging/root/.staging/job_1568184982077_0003. Name node is in safe mode.
原因是namenode处在安全模式下 不能删除
17 hadoop fs -getmerge /data/output/20190828/ ~/max-temp-local
把hdfs 目录(/data/output/20190828/)里的文件 合并复制到本地文件(~/max-temp-local)
18 mapred job -logs job_1568251096924_0003
查看任务日志 后边的是jobID
19 mapred job -counter job_1568258425179_0006 'com.nqwl.mapreduce.mrunit.MaxTemperatureMapperCounter$Temperature' OVER_100
查看map任务里 设置的计数器总数 mapred job -counter <‘map类名$计数器类名称’> <计数器变量名>
20 文件系统检查工具 还可以检查特定文件
hdfs fsck /