Hadoop学习<二>--HDFS文件系统操作方式

本文介绍了Hadoop HDFS的文件系统操作,包括查看用户信息、Eclipse快捷键,并详细探讨了HDFS写数据的过程。在搭建Hadoop伪分布模式时,提到了权限设置的注意事项。通过FileSystem类与DFSClient,解析了HDFS写入文件的步骤,强调了DFSClient作为RPC客户端在HDFS操作中的核心作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

linux用户身份与群组记录的文件
cat /etc/group                查看用户组
cat /etc/shadow              查看个人密码
cat /etc/passwd              查看用户相关信息
这三个文件可以说是:账号,密码,群组    信息的的集中地!

w或who                            查看用户在线信息和登录信息

eclipse 创建方法快捷键shift + alt + M 
eclipse 创建局部变量快捷键 shift + alt + L


1.对hdfs的操作方式:hadoop fs xxx

  hadoop fs -ls  /    查看hdfs的根目录下的内容的
  hadoop fs -lsr /    递归查看hdfs的根目录下的内容的
  hadoop fs -mkdir /d1    在hdfs上创建文件夹d1
  hadoop fs -put <linux source> <hdfs destination> 把数据从linux上传到hdfs的特定路径中
  hadoop fs -get <hdfs source> <linux destination> 把数据从hdfs下载到linux的特定路径下
  hadoop fs -text <hdfs文件>    查看hdfs中的文件
  hadoop fs -rm        删除hdfs中文件
  hadoop fs -rmr    删除hdfs中的文件夹
 
  hadoop fs -ls hdfs://zebra:9000/
 
 
2.HDFS的datanode在存储数据时,如果原始文件大小>64MB,按照64MB大小切分;如果<64MB,只有一个block,占用磁盘空间是源文件实际大小。

 

下面学习搭建Hadoop开发环境(伪分布模式),练习HDFS 的java访问方法,具体搭建方法网上很多,这里不是多说,有一点需要注意,就是我们本地跑hadoop项目需要将它的权限注释掉,避免权限错误,报权限异常,做法就是对包core里的org.apache.hadoop.fs.FileUtil 类的 checkReturnValue 方法内容注释,如下:

  private static void checkReturnValue(boolean rv, File p, 
                                       FsPermission permission
                                       ) throws IOException {
//	  //权限屏蔽,zebra 
//    if (!rv) {
<think>好的,我现在需要回答用户关于Hadoop文件系统命令的用法和含义的问题,特别是hadoop fs和hdfs dfs的区别以及它们的参数说明。首先,我得回忆一下用户提供的引用内容,确保信息准确。 根据引用[1]、[2]和[3],hadoop fs是一个通用命令,适用于所有文件系统,比如本地文件系统HDFS、S3等。而hadoop dfs已经不推荐使用,被hdfs dfs替代,这两个命令专门针对HDFS。需要明确说明它们的区别和适用场景。 接下来,用户需要详细的参数说明。我应该列举常用参数,比如-ls、-mkdir、-put、-get、-rm等,并给出示例。同时,注意保持格式正确,使用行内数学表达式和独立公式的格式,但这里可能更多是代码块和命令示例。 需要确保回答结构清晰,分点说明命令区别,然后详细参数说明,最后应用示例。同时,生成相关问题,可能包括其他HDFS命令、权限管理、与本地文件系统的交互等。 检查是否有遗漏的重要参数或常见使用场景,比如查看文件内容、复制文件、检查空间使用等。确保引用正确,每个引用标记对应正确的来源,例如引用[^1]、[^2]、[^3]分别对应提供的三个引用内容。 最后,验证所有信息是否符合用户提供的引用内容,避免错误。例如,确认hadoop dfs已经被弃用,而hdfs dfs是推荐使用的。同时,确保参数示例正确,如hadoop fs -ls /显示根目录内容,hdfs dfs -mkdir创建目录等。</think>### Hadoop文件系统命令详解 #### 1. 命令区别解析 - **`hadoop fs`** 通用文件系统操作命令,支持**所有Hadoop兼容的文件系统**(本地文件系统HDFS、S3等)。例如: ```bash hadoop fs -ls / # 显示HDFS根目录内容 hadoop fs -put local.txt hdfs:///path/ # 上传文件HDFS ``` - **`hdfs dfs`** 专门操作**HDFS分布式文件系统**的命令,是`hadoop dfs`的替代品[^2]。例如: ```bash hdfs dfs -mkdir /test # 在HDFS创建目录 hdfs dfs -cat /data/log.txt # 查看HDFS文件内容 ``` > **关键区别**: > - `hadoop fs`适用于跨文件系统操作(如本地与HDFS交互)[^3] > - `hdfs dfs`仅针对HDFS,且效率更高[^1] --- #### 2. 核心参数说明 | 参数 | 功能 | 示例 | |-------------|-------------------------------------|-------------------------------------------| | `-ls <路径>` | 列出目录内容 | `hdfs dfs -ls /user` | | `-mkdir` | 创建目录(加`-p`递归创建) | `hadoop fs -mkdir -p /data/raw` | | `-put` | 上传本地文件HDFS | `hdfs dfs -put log.txt /data/` | | `-get` | 下载HDFS文件到本地 | `hadoop fs -get /data/log.txt ./` | | `-rm` | 删除文件(加`-r`删除目录) | `hdfs dfs -rm -r /tmp/old_data` | | `-cat` | 查看文件内容 | `hadoop fs -cat /data/result.csv` | | `-du` | 显示目录/文件大小(`-h`人性化显示) | `hdfs dfs -du -h /user` | | `-cp` | 跨文件系统复制 | `hadoop fs -cp hdfs:///data.txt s3a://bucket/` | --- #### 3. 典型应用场景 1. **跨系统文件传输** ```bash hadoop fs -copyFromLocal local_file.txt hdfs://namenode/path/ # 本地→HDFS hadoop fs -copyToLocal hdfs:///data/remote_file.txt ./ # HDFS→本地 ``` 2. **空间管理** ```bash hdfs dfs -df -h # 查看HDFS存储空间使用情况 hdfs dfs -count -q /user # 显示配额信息 ``` 3. **权限控制** ```bash hdfs dfs -chmod 755 /data # 修改目录权限 hdfs dfs -chown user:group /logs # 修改所有者 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值