【hadoop】HDFS操作命令
程序员文章站
2022-04-11 15:25:46
...
前言
这章介绍一下hadoop 的一些简单的操作命令,可以简单的感受一下hadoop
一、hadoop命令
-
Hadoop fs
类似于hdfs dfs
(hdfs dfs -ls /==hadoop fs -ls /)
- 如何查看hdfs子命令的帮助信息:-help
hdfs dfs -help 【rm】
- 在hdfs里面创建文件
-touchz
- 把文件从hdfs上传到本地:-get
Hdfs dfs -get hdfs路径 /本地路径
- 把文件从本地上传到hdfs:
-put
Hdfs dfs -put /本地路径 hdfs路径
- 在hdfs上删除文件:
-rm
Hdfs dfs -rm 【文件】
- 在hdfs上创建目录:
-mkdir
Hdfs dfs -mkdir 【目录】
- 在hdfs上查看文件内容:
-cat
Hdfs dfs -cat 【文件】
- 把本地内容追加到hdfs:
-appendToFile
Hdfs dfs -appendToFile 本地路径 hdfs路径
- 安全模式,保证是off状态
- 在hdfs里更改文件名和移动文件:
-mv
Hdfs dfs -mv 源地址 目标地址
- 在hdfs里复制文件:
-cp
Hdfs dfs -cp 源地址 目标地址
- 在hdfs里面递归删除目录
Hdfs dfs -rm -r 目录
备注:
- 递归删除-----删除文件的时候,该文件下存在其他东西,就要先删除其他东西,再删除文件夹
- 交互式删除-----删掉一个的时候 进行提示
二、hdfs和getconf结合使用
获得hdfs的基本信息
- 获取namenode节点名称 (可能获取多个)
Hdfs getconf -namenodes
- 获取namenode的rpc地址
Hdfs getconf -nnRpcAddresses
三、hdfs和dfsadmin结合使用
dfsadmin工具用途较广,既可以查找HDFS状态信息,又可在HDFS上执行管理操作
-
-report:显示文件系统的统计信息(类似于网页界面上显示的内容),以及所连接的各个datanode的信息
- -safemode enter | leave | get | wait
改变或查询安全模式- get —查看namenode是否处于安全模式
- wait —用户执行某条命令时先退出安全模式(暂时)
- enter —-进去安全模式
- leave —离开安全模式
四、hdfs和fsck结合使用
fsck是用来检测hdfs上文件、block信息的
五、其他命令
hadoop jar
:
运行jar文件。用户可以把他们的Map Reduce代码捆绑到jar文件中,使用这个命令执行
六、出现问题
-
append时出现报错
解决方法:修改hdfs-site.xml文件,添加或者修改如下两项:
<property>
<name>dfs.client.block.write.replace-datanode-on-failure.enable</name>
<value>true</value>
</property>
<property>
<name>dfs.client.block.write.replace-datanode-on-failure.policy</name>
<value>NEVER</value>
</property>
- 对于
dfs.client.block.write.replace-datanode-on-failure.enable
,客户端在写失败的时候,是否使用更换策略,默认是true没有问题。 - 对于
dfs.client.block.write.replace-datanode-on-failure.policy,default
在3个或以上备份的时候,是会尝试更换结点尝试写入datanode。而在两个备份的时候,不更换datanode,直接开始写。对于3个datanode的集群,只要一个节点没响应写入就会出问题,所以可以关掉。