hadoop 命令

本文介绍了Hadoop HDFS中用于用户交互的DFSShell和集群管理的DFSAdmin命令。DFSShell提供了一系列类似于传统shell的命令,如创建目录、查看文件结构、上传下载文件等。DFSAdmin则包含了一些管理员级别的操作,如进入安全模式、显示Datanode列表和退役Datanode。这些工具对于HDFS的日常管理和维护至关重要。

DFSShell

HDFS以文件和目录的形式组织用户数据。它提供了一个命令行的接口(DFSShell)让用户与HDFS中的数据进行交互。命令的语法和用户熟悉的其他shell(例如 bash, csh)工具类似。下面是一些动作/命令的示例:

动作命令
创建一个名为 /foodir 的目录bin/hadoop dfs -mkdir /foodir
查看文件结构目录

hdfs dfs -ls -R    /   

hadoop fs -ls    /mydir

删除文件hadoop fs -rm -r -skipTrash    /test_dir/f1.txt
删除文件夹hadoop fs -rm -r -skipTrash   /test_dir
上传整个目录文件夹hadoop dfs -put /hadoop/myfile   /
重命名文件夹hdfs dfs -mv /myfile /mydir
上传单个文件hadoop fs -put /hadoop/myfile/f1.txt   /test_dir
把HDFS中整个文件夹目录下的文件合并并下载到本地hdfs dfs -getmerge   /mydir    /hadoop/temp
从HDFS中把文件下载到本地hadoop dfs -get   /mydir/f1.txt    /hadoop/f1.txt
查看名为 /foodir/myfile.txt 的文件内容

bin/hadoop dfs -cat /foodir/myfile.txt

DFSShell 可以用在那些通过脚本语言和文件系统进行交互的应用程序上。

DFSAdmin

DFSAdmin 命令用来管理HDFS集群。这些命令只有HDSF的管理员才能使用。下面是一些动作/命令的示例:

动作命令
将集群置于安全模式

bin/hadoop   dfsadmin -safemode enter

bin/hdfs   dfasmin   -safemode

显示Datanode列表bin/hadoop dfsadmin -report
使Datanode节点 datanodename退役bin/hadoop dfsadmin -decommission datanodename
### Hadoop 命令大全及用法 Hadoop 提供了一系列强大的命令来管理分布式文件系统 (HDFS),这些命令可以用于执行各种操作,例如创建目录、上传下载数据、删除文件以及查询存储空间等。 #### 文件和目录操作 以下是常用的 Hadoop 文件和目录操作命令及其说明: 1. **移动文件** 使用 `hdfs dfs -mv` 可以将指定路径下的文件或目录移动到另一个位置。 示例:`hdfs dfs -mv /hadoop/data/* /hadoop/data1/` 将 `/hadoop/data/` 下的所有文件移动至 `/hadoop/data1/`[^1]。 2. **递归删除文件或目录** 使用 `-rmr` 或者更现代的 `-rm -r` 来实现递归删除功能。此命令会彻底移除目标路径中的所有内容。 示例:`hadoop fs -rmr /user/hadoop/dir` 删除名为 `/user/hadoop/dir` 的整个目录及其子项[^2]。 3. **查看文件夹占用的空间大小** 利用 `hadoop fs -count` 查看某个路径下文件的数量、总字节数以及其他统计信息。如果希望获得更加直观的结果,则可以通过附加参数 `-h` 实现人性化显示单位的功能。 示例:`hadoop fs -count -h /path/to/directory` 显示该目录所占的实际磁盘容量并采用易读的形式呈现给用户[^3]。 4. **设置副本因子** 调整特定文件在集群内的复制级别可通过 `setrep` 完成。这允许管理员根据需求动态改变单个文件或者一组文件的数据冗余程度。 示例:`hadoop fs -setrep -w 3 /file/path` 把选定文件的目标副本数设定为三个副本,并等待直到更改生效为止。 #### 数据交互指令 除了上述基本的操作外,还有其他一些重要的工具帮助我们更好地处理大数据集之间的传输工作流。 - **上传本地文件到 HDFS 上面去** 运行如下语句即可完成这项任务:`put src dst`其中src代表源地址而dst则是目的地址. ```bash hadoop fs -put local_file_path hdfs_destination_path ``` - **从 HDFS 中获取远程资源保存成本地副本** 同样简单明了,只需调用get函数就可以了: ```bash hadoop fs -get remote_hdfs_path local_save_location ``` 以上就是关于如何运用不同类型的Hadoop shell commands来进行日常运维活动的一个概述. ```python # Python脚本示例展示如何通过subprocess模块调用Hadoop CLI命令 import subprocess def run_hadoop_command(command): process = subprocess.Popen(command.split(), stdout=subprocess.PIPE) output, error = process.communicate() return output.decode('utf-8') output = run_hadoop_command("hadoop fs -ls /") print(output) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值