热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

实验六熟悉常用的HDFS操作命令

实验五https:mp.csdn.neteditorhtml116616391配置环境和实验五一样实验内容和要求Hadoop提供的sheel的命令学习指导http:hadoop.

实验五

https://mp.csdn.net/editor/html/116616391



配置环境和实验五一样

  • 实验内容和要求

Hadoop提供的sheel的命令学习指导http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html

一,利用Hadoop提供的Shell命令完成以下任务:

任务1:向HDFS中上传任意文本文件,如果指定的文件在HDFS中已经存在,由用户指定是追加到原有文件末尾还是覆盖原有的文件。

  1. 先到Hadoop主文件夹

cd /usr/local/hadoop

  1. 启动Hadoop服务

sbin/start-dfs.sh

sbin/start-yarn.sh

  1. 创建两个任意文本文件用于实验

echo "hello world" > local.txt

echo "hello hadoop" >text.txt

  1. 创建用户工作目录(HDFS默认工作目录格式为/user/当前用户)

hadoop fs -mkdir -p /user/当前用户名      (此时提示hadoop不是command时,按照实验五添加hadoop环境变量)

  1. 检查文件是否存在

hadoop fs -test -e text.txt

echo $?

  1. 上传本地文件到HDFS系统

hadoop fs -put text.txt

  1. 追加到文件末尾的指令

hadoop fs -appendToFile local.txt text.txt

  1. 查看HDFS文件的内容

hadoop fs -cat text.txt

  1. 覆盖原有文件的指令(覆盖之后再执行一遍上一步)

hadoop fs -copyFromLocal -f local.txt text.txt

  1. 以上步骤也可以用如下Shell程序实现

if $(hadoop fs -test -e text.txt);

then $(hadoop fs -appendToFile local.txt text.txt);

else $(hadoop fs -copyFromLocal -f local.txt text.txt);

Fi

任务1的1-10命令:

 

任务2:从HDFS中下载指定文件,如果本地文件与要下载的文件名称相同,则自动对下载的文件重命名。

Shell命令实现:

if $(hadoop fs -test -e /usr/local/hadoop/text.txt);

then $(hadoop fs -copyToLocal text.txt ./text.txt);

else $(hadoop fs -copyToLocal text.txt ./text2.txt);

fi

 

任务3:将HDFS中指定文件的内容输出到终端中;

Shell命令实现:

hadoop fs -cat text.txt

 

任务4:显示HDFS中指定的文件的读写权限、大小、创建时间、路径等信息

hadoop fs -ls -h text.txt

 

任务5:给定HDFS中某一个目录,输出该目录下的所有文件的读写权限、大小、创建时间、路径等信息,如果该文件是目录,则递归输出该目录下所有文件相关信息;

Shell命令实现:

hadoop fs -ls -R -h /user/hadoop

 

任务6:提供一个HDFS内的文件的路径,对该文件进行创建和删除操作。如果文件所在目录不存在,则自动创建目录。

Shell命令实现:

if $(hadoop fs -test -d dir1/dir2);

then $(hadoop fs -touchz dir1/dir2/filename);

else $(hadoop fs -mkdir -p dir1/dir2 && hdfs dfs -touchz dir1/dir2/filename);

fi

 

删除操作:

hadoop fs -rm dir1/dir2/filename

 

任务七:向HDFS中指定的文件追加内容,由用户指定内容追加到原有文件的开头或结尾。

追加到文件末尾

hadoop fs -appendToFile local.txt text.txt

追加到文件开头

hadoop fs -get text.txt

cat text.txt >> local.txt

hadoop fs -copyFromLocal -f text.txt text.txt

 

任务8:在HDFS中,将文件从源路径移动到目的路径

Shell命令实现:

hadoop fs -mv text.txt input

 

  • 实验结果

  1. 请给出每一个shell命令执行后的结果。

如任务下截图

  1. 请说明实验中hadoop fs -test -e text.txt命中hadoop fs命令组合的作用。

调用文件系统(FS)Shell命令应使用 bin/hadoop fs 的形式。 所有的的FS shell命令使用URI路径作为参数。URI格式是scheme://authority/path。对HDFS文件系统,scheme是hdfs,对本地文件系统,scheme是file。其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。

  1. 实验中hadoop fs -copyFromLocal -f text.txt text.txt中copyFromLocal参数的作用是什么。

使用方法:hadoop fs -copyToLocal [-ignorecrc] [-crc] URI

复制文件到本地文件系统,除了限定目标路径是一个本地文件外,和get命令类似。

  1. 实验中hadoop fs -get text.txt中-get参数的含义是什么。

使用方法:hadoop fs -get [-ignorecrc] [-crc] 复制文件到本地文件系统。可用-ignorecrc选项复制CRC校验失败的文件。使用-crc选项复制文件以及CRC信息。


推荐阅读
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • Hadoop源码解析1Hadoop工程包架构解析
    1 Hadoop中各工程包依赖简述   Google的核心竞争技术是它的计算平台。Google的大牛们用了下面5篇文章,介绍了它们的计算设施。   GoogleCluster:ht ... [详细]
  • mapreduce源码分析总结
    这篇文章总结的非常到位,故而转之一MapReduce概述MapReduce是一个用于大规模数据处理的分布式计算模型,它最初是由Google工程师设计并实现的ÿ ... [详细]
  • Hadoop 源码学习笔记(4)Hdfs 数据读写流程分析
    Hdfs的数据模型在对读写流程进行分析之前,我们需要先对Hdfs的数据模型有一个简单的认知。数据模型如上图所示,在NameNode中有一个唯一的FSDirectory类负责维护文件 ... [详细]
  • 对于开源的东东,尤其是刚出来不久,我认为最好的学习方式就是能够看源代码和doc,測试它的样例为了方便查看源代码,关联导入源代 ... [详细]
  • MR程序的几种提交运行模式本地模型运行1在windows的eclipse里面直接运行main方法,就会将job提交给本地执行器localjobrunner执行-- ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • Jboss的EJB部署描述符standardjaws.xml配置步骤详解
    本文详细介绍了Jboss的EJB部署描述符standardjaws.xml的配置步骤,包括映射CMP实体EJB、数据源连接池的获取以及数据库配置等内容。 ... [详细]
  • 安装oracle软件1创建用户组、用户和目录bjdb节点下:[rootnode1]#groupadd-g200oinstall[rootnode1]#groupad ... [详细]
  • 如何在mysqlshell命令中执行sql命令行本文介绍MySQL8.0shell子模块Util的两个导入特性importTableimport_table(JS和python版本 ... [详细]
  • 【转】腾讯分析系统架构解析
    TA(TencentAnalytics,腾讯分析)是一款面向第三方站长的免费网站分析系统,在数据稳定性、及时性方面广受站长好评,其秒级的实时数据更新频率也获得业界的认可。本文将从实 ... [详细]
  • CentOS 7配置SSH远程访问及控制
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
author-avatar
Eliza
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有