2024年10月hadoopget命令(hadoop中常用的命令)

 更新时间:2024-10-12

  ⑴hadoopget命令(hadoop中常用的命令

  ⑵hadoop中常用的命令

  ⑶查看指定目录下内容hadoopdfs–lseg:hadoopdfs–ls/user/wangkai.pt、打开某个已存在文件hadoopdfs–categ:hadoopdfs-cat/user/wangkai.pt/data.txt、将本地文件存储至hadoophadoopfs–puthadoopfs–put/home/t/file.txt/user/t(file.txt是文件名)、将本地文件夹存储至hadoophadoopfs–puthadoopfs–put/home/t/dir_name/user/t(dir_name是文件夹名)、将hadoop上某个文件down至本地已有目录下hadoopfs-gethadoopfs–get/user/t/ok.txt/home/t、删除hadoop上指定文件hadoopfs–rmhadoopfs–rm/user/t/ok.txt、删除hadoop上指定文件夹(包含子目录等hadoopfs–rmhadoopfs–rmr/user/t、在hadoop指定目录内创建新目录hadoopfs–mkdir/user/t、在hadoop指定目录下新建一个空文件使用touchz命令:hadoopfs-touchz/user/new.txt、将hadoop上某个文件重命名使用mv命令:hadoopfs–mv/user/test.txt/user/ok.txt(将test.txt重命名为ok.txt、将hadoop指定目录下所有内容保存为一个文件,同时down至本地hadoopdfs–getmerge/user/home/t、将正在运行的hadoop作业kill掉hadoopjob–kill

  ⑷hadoop全家桶系列-zookeeper

  ⑸启动ZK服务:shbin/zkServer.shstart查看ZK服务状态:shbin/zkServer.shstatus停止ZK服务:shbin/zkServer.shstop重启ZK服务:shbin/zkServer.shrestart显示根目录下、文件:ls/使用ls命令来查看当前ZooKeeper中所包含的内容显示根目录下、文件:ls/查看当前节点数据并能看到更新次数等数据创建文件,并设置初始内容:create/zk“test“创建一个新的znode节点“zk”以及与它关联的字符串获取文件内容:get/zk确认znode是否包含我们所创建的字符串修改文件内容:set/zk“zkbak“对zk所关联的字符串进行设置删除文件:delete/zk将刚才创建的znode删除退出客户端:quit帮助命令:help执行hdfszkfc-formatZK初始化HA的zookeeper信息hadoopnamenode-format在nn上执行hadoop-daemon.shstartnamenode在nn上执行hadoopnamenode-bootstrapStandby同步在nn上执行hadoop-daemon.shstartnamenode在nn和nn分别启动hadoop-daemon.shstartzkfc,这时两个一个变成active,一个变成standbyhdfshaadmin-getServiceState可查看HA状态注意HA不能切换是因为nn和nn的没有安装fuser在nn和nn上执行yum-yinstallpsmisc改变文件副本数setrephadoopfs-setrep-R-w/test.txt-R递归改变目录下所有文件的副本数。-w等待副本数调整完毕后返回。可理解为加了这个参数就是阻塞式的了。hadoopdfsadmin例如:hadoopdfsadmin-reportdfsadmin命令详解-report:查看文件系统的基本信息和统计信息。-safemode《enter|leave|get|wait》:安全模式命令。安全模式是NameNode的一种状态,在这种状态下,NameNode不接受对名字空间的更改(只读;不复制或删除块。NameNode在启动时自动进入安全模式,当配置块的最小百分数满足最小副本数的条件时,会自动离开安全模式。enter是进入,leave是离开。

  ⑹大数据云计算好不好学习

  ⑺说一下大数据的四个典型的特征:

  ⑻第一章:Hadoop

  ⑼在大数据存储和计算中Hadoop可以算是开山鼻祖,现在大多开源的大数据框架都依赖Hadoop或者与它能很好的兼容。

  ⑽关于Hadoop,你至少需要搞清楚这些是什么:

  ⑾自己学会如何搭建Hadoop,先让它跑起来。建议先使用安装包命令行安装,不要使用管理工具安装。现在都用Hadoop.。

  ⑿目录操作命令;上传、下载文件命令;提交运行MapReduce示例程序;打开HadoopWEB界面,查看Job运行状态,查看Job运行日志。知道Hadoop的系统日志在哪里。

  ⒀以上完成之后,就应该去了解他们的原理了:

  ⒁MapReduce:如何分而治之;HDFS:数据到底在哪里,究竟什么才是副本;

  ⒂Yarn到底是什么,它能干什么;NameNode到底在干些什么;ResourceManager到底在干些什么;

  ⒃如果有合适的学习网站,视频就去听课,如果没有或者比较喜欢书籍,也可以啃书。当然最好的方法是先去搜索出来这些是干什么的,大概有了概念之后,然后再去听视频。

  ⒄第二章:更高效的WordCount

  ⒅在这里,一定要学习SQL,它会对你的工作有很大的帮助。

  ⒆就像是你写(或者抄的WordCount一共有几行代码?但是你用SQL就非常简单了,例如:

  ⒇SELECTword,COUNT()FROMwordcountGROUPBYword;

  ⒈这便是SQL的魅力,编程需要几十行,甚至上百行代码,而SQL一行搞定;使用SQL处理分析Hadoop上的数据,方便、高效、易上手、更是趋势。不论是离线计算还是实时计算,越来越多的大数据处理框架都在积极提供SQL接口。

  ⒉另外就是SQLOnHadoop之Hive于大数据而言一定要学习的。

  ⒊官方解释如下:TheApacheHivedatawarehousesoftwarefacilitatesreading,writing,andmanaginglargedatasetsresidingindistributedstorageandqueriedusingSQLsyntax。

  ⒋为什么说Hive是数据仓库工具,而不是数据库工具呢?

  ⒌有的朋友可能不知道数据仓库,数据仓库是逻辑上的概念,底层使用的是数据库,数据仓库中的数据有这两个特点:最全的历史数据(海量、相对稳定的;所谓相对稳定,指的是数据仓库不同于业务系统数据库,数据经常会被更新,数据一旦进入数据仓库,很少会被更新和删除,只会被大量查询。而Hive,也是具备这两个特点,因此,Hive适合做海量数据的数据仓库工具,而不是数据库工具。

  ⒍了解了它的作用之后,就是安装配置Hive的环节,当可以正常进入Hive命令行是,就是安装配置成功了。

  ⒎了解Hive是怎么工作的

  ⒏学会Hive的基本命令:

  ⒐创建、删除表;加载数据到表;下载Hive表的数据;

  ⒑MapReduce的原理(还是那个经典的题目,一个G大小的文件,给定G大小的内存,如何使用Java程序统计出现次数最多的个单词及次数;

  ⒒HDS读写数据的流程;向HDFS中PUT数据;从HDFS中下载数据;

  ⒓自己会写简单的MapReduce程序,运行出现问题,知道在哪里查看日志;

  ⒔会写简单的Select、Where、groupby等SQL语句;

  ⒕HiveSQL转换成MapReduce的大致流程;

  ⒖Hive中常见的语句:创建表、删除表、往表中加载数据、分区、将表中数据下载到本地;

  ⒗从上面的学习,你已经了解到,HDFS是Hadoop提供的分布式存储框架,它可以用来存储海量数据,MapReduce是Hadoop提供的分布式计算框架,它可以用来统计和分析HDFS上的海量数据,而Hive则是SQLOnHadoop,Hive提供了SQL接口,开发人员只需要编写简单易上手的SQL语句,Hive负责把SQL翻译成MapReduce,提交运行。

  ⒘此时,你的”大数据平台”是这样的:那么问题来了,海量数据如何到HDFS上呢?

  ⒙把各个数据源的数据采集到Hadoop上。

  ⒚这个在前面你应该已经使用过了。put命令在实际环境中也比较常用,通常配合shell、python等脚本语言来使用。建议熟练掌握。

  ⒛HDFS提供了写数据的API,自己用编程语言将数据写入HDFS,put命令本身也是使用API。

  实际环境中一般自己较少编写程序使用API来写数据到HDFS,通常都是使用其他框架封装好的方法。比如:Hive中的INSERT语句,Spark中的saveAsTextfile等。建议了解原理,会写Demo。

  Sqoop是一个主要用于Hadoop/Hive与传统关系型数据库,Oracle、MySQL、SQLServer等之间进行数据交换的开源框架。就像Hive把SQL翻译成MapReduce一样,Sqoop把你指定的参数翻译成MapReduce,提交到Hadoop运行,完成Hadoop与其他数据库之间的数据交换。

  自己下载和配置Sqoop(建议先使用Sqoop,Sqoop比较复杂。了解Sqoop常用的配置参数和方法。

  使用Sqoop完成从MySQL同步数据到HDFS;使用Sqoop完成从MySQL同步数据到Hive表;如果后续选型确定使用Sqoop作为数据交换工具,那么建议熟练掌握,否则,了解和会用Demo即可。

  Flume是一个分布式的海量日志采集和传输框架,因为“采集和传输框架”,所以它并不适合关系型数据库的数据采集和传输。Flume可以实时的从网络协议、消息系统、文件系统采集日志,并传输到HDFS上。

  因此,如果你的业务有这些数据源的数据,并且需要实时的采集,那么就应该考虑使用Flume。

  下载和配置Flume。使用Flume监控一个不断追加数据的文件,并将数据传输到HDFS;Flume的配置和使用较为复杂,如果你没有足够的兴趣和耐心,可以先跳过Flume。

  阿里开源的DataX

  现在DataX已经是.版本,支持很多数据源。

  第四章:把Hadoop上的数据搞到别处去

  Hive和MapReduce进行分析了。那么接下来的问题是,分析完的结果如何从Hadoop上同步到其他系统和应用中去呢?其实,此处的方法和第三章基本一致的。

  HDFSGET命令:把HDFS上的文件GET到本地。需要熟练掌握。

  HDFSAPI:同..

  Sqoop:同..使用Sqoop完成将HDFS上的文件同步到MySQL;使用Sqoop完成将Hive表中的数据同步到MySQL。

  如果你已经按照流程认真完整的走了一遍,那么你应该已经具备以下技能和知识点:

  知道如何把已有的数据采集到HDFS上,包括离线采集和实时采集;

  知道sqoop是HDFS和其他数据源之间的数据交换工具;

  知道flume可以用作实时的日志采集。

  从前面的学习,对于大数据平台,你已经掌握的不少的知识和技能,搭建Hadoop集群,把数据采集到Hadoop上,使用Hive和MapReduce来分析数据,把分析结果同步到其他数据源。

  接下来的问题来了,Hive使用的越来越多,你会发现很多不爽的地方,特别是速度慢,大多情况下,明明我的数据量很小,它都要申请资源,启动MapReduce来执行。

  其实大家都已经发现Hive后台使用MapReduce作为执行引擎,实在是有点慢。因此SQLOnHadoop的框架越来越多,按我的了解,最常用的按照流行度依次为SparkSQL、Impala和Presto.这三种框架基于半内存或者全内存,提供了SQL接口来快速查询分析Hadoop上的数据。

  我们目前使用的是SparkSQL,至于为什么用SparkSQL,原因大概有以下吧:使用Spark还做了其他事情,不想引入过多的框架;Impala对内存的需求太大,没有过多资源部署。

  关于Spark和SparkSQL

  什么是Spark,什么是SparkSQL。

  Spark有的核心概念及名词解释。

  SparkSQL和Spark是什么关系,SparkSQL和Hive是什么关系。

  SparkSQL为什么比Hive跑的快。

  如何部署和运行SparkSQL

  Spark有哪些部署模式?

  如何在Yarn上运行SparkSQL?

  使用SparkSQL查询Hive中的表。Spark不是一门短时间内就能掌握的技术,因此建议在了解了Spark之后,可以先从SparkSQL入手,循序渐进。

  关于Spark和SparkSQL,如果你认真完成了上面的学习和实践,此时,你的”大数据平台”应该是这样的。

  第六章:数据多次利用

  请不要被这个名字所诱惑。其实我想说的是数据的一次采集、多次消费。

  在实际业务场景下,特别是对于一些监控日志,想即时的从日志中了解一些指标(关于实时计算,后面章节会有介绍,这时候,从HDFS上分析就太慢了,尽管是通过Flume采集的,但Flume也不能间隔很短就往HDFS上滚动文件,这样会导致小文件特别多。

  为了满足数据的一次采集、多次消费的需求,这里要说的便是Kafka。

  关于Kafka:什么是Kafka?Kafka的核心概念及名词解释。

  如何部署和使用Kafka:使用单机部署Kafka,并成功运行自带的生产者和消费者例子。使用Java程序自己编写并运行生产者和消费者程序。Flume和Kafka的集成,使用Flume监控日志,并将日志数据实时发送至Kafka。

  如果你认真完成了上面的学习和实践,此时,你的”大数据平台”应该是这样的。

  这时,使用Flume采集的数据,不是直接到HDFS上,而是先到Kafka,Kafka中的数据可以由多个消费者同时消费,其中一个消费者,就是将数据同步到HDFS。

  如果你已经认真完整的学习了以上的内容,那么你应该已经具备以下技能和知识点:

  为什么Spark比MapReduce快。

  使用SparkSQL代替Hive,更快的运行SQL。

  使用Kafka完成数据的一次收集,多次消费架构。

  自己可以写程序完成Kafka的生产者和消费者。

  从前面的学习,你已经掌握了大数据平台中的数据采集、数据存储和计算、数据交换等大部分技能,而这其中的每一步,都需要一个任务(程序来完成,各个任务之间又存在一定的依赖性,比如,必须等数据采集任务成功完成后,数据计算任务才能开始运行。如果一个任务执行失败,需要给开发运维人员发送告警,同时需要提供完整的日志来方便查错。

  第七章:越来越多的分析任务

  不仅仅是分析任务,数据采集、数据交换同样是一个个的任务。这些任务中,有的是定时触发,有点则需要依赖其他任务来触发。当平台中有几百上千个任务需要维护和运行时候,仅仅靠crontab远远不够了,这时便需要一个调度监控系统来完成这件事。调度监控系统是整个数据平台的中枢系统,类似于AppMaster,负责分配和监控任务。

  ApacheOozie

  Oozie是什么?有哪些功能?

  Oozie可以调度哪些类型的任务(程序?

  Oozie可以支持哪些任务触发方式?

  安装配置Oozie。

  其他开源的任务调度系统

  Azkaban,light-task-scheduler,Zeus,等等。另外,我这边是之前单独开发的任务调度与监控系统,具体请参考《大数据平台任务调度与监控系统》。

  第八章:我的数据要实时

  在第六章介绍Kafka的时候提到了一些需要实时指标的业务场景,实时基本可以分为绝对实时和准实时,绝对实时的延迟要求一般在毫秒级,准实时的延迟要求一般在秒、分钟级。对于需要绝对实时的业务场景,用的比较多的是Storm,对于其他准实时的业务场景,可以是Storm,也可以是SparkStreaming。当然,如果可以的话,也可以自己写程序来做。

  什么是Storm?有哪些可能的应用场景?

  Storm由哪些核心组件构成,各自担任什么角色?

  Storm的简单安装和部署。

  自己编写Demo程序,使用Storm完成实时数据流计算。

  SparkStreaming

  什么是SparkStreaming,它和Spark是什么关系?

  SparkStreaming和Storm比较,各有什么优缺点?

  使用Kafka+SparkStreaming,完成实时计算的Demo程序。

  至此,你的大数据平台底层架构已经成型了,其中包括了数据采集、数据存储与计算(离线和实时、数据同步、任务调度与监控这几大模块。接下来是时候考虑如何更好的对外提供数据了。

  通常对外(业务提供数据访问,大体上包含以下方面。

  离线:比如,每天将前一天的数据提供到指定的数据源(DB、FILE、FTP等;离线数据的提供可以采用Sqoop、DataX等离线数据交换工具。

  实时:比如,在线网站的推荐系统,需要实时从数据平台中获取给用户的推荐数据,这种要求延时非常低(毫秒以内。根据延时要求和实时数据的查询需要,可能的方案有:HBase、Redis、MongoDB、ElasticSearch等。

  OLAP分析:OLAP除了要求底层的数据模型比较规范,另外,对查询的响应速度要求也越来越高,可能的方案有:Impala、Presto、SparkSQL、Kylin。如果你的数据模型比较规模,那么Kylin是最好的选择。

  即席查询:即席查询的数据比较随意,一般很难建立通用的数据模型,因此可能的方案有:Impala、Presto、SparkSQL。

  这么多比较成熟的框架和方案,需要结合自己的业务需求及数据平台技术架构,选择合适的。原则只有一个:越简单越稳定的,就是最好的。

  在hadoop中什么命令的功能是将一个或多个

  启动hadoop所有进程start-all.sh等价于start-dfs.sh+start-yarn.sh但是一般不推荐使用start-all.sh(因为开源框架中内部命令启动有很多问题)。、单进程启动。sbin/start-dfs.sh---------------sbin/hadoop-daemons.sh--config..--hostname..startnamenode...sbin/hadoop-daemons.sh--config..--hostname..startdatanode...sbin/hadoop-daemons.sh--config..--hostname..startsescondarynamenode...sbin/hadoop-daemons.sh--config..--hostname..startzkfc...//sbin/start-yarn.sh--------------libexec/yarn-config.shsbin/yarn-daemon.sh--config$YARN_CONF_DIRstartresourcemanagersbin/yarn-daemons.sh--config$YARN_CONF_DIRstartnodemanager、常用命令、查看指定目录下内容hdfsdfs–lshdfsdfs-ls-R///显式目录结构eg:hdfsdfs–ls/user/wangkai.pt、打开某个已存在文件hdfsdfs–categ:hdfsdfs-cat/user/wangkai.pt/data.txt、将本地文件存储至hadoophdfsdfs–puthdfsdfs–put/home/t/file.txt/user/t、将本地文件夹存储至hadoophdfsdfs–puthdfsdfs–put/home/t/dir_name/user/t(dir_name是文件夹名)、将hadoop上某个文件down至本地已有目录下hadoopdfs-gethadoopdfs–get/user/t/ok.txt/home/t、删除hadoop上指定文件hdfsdfs–rmhdfsdfs–rm/user/t/ok.txt、删除hadoop上指定文件夹(包含子目录等hdfsdfs–rmhdfsdfs–rmr/user/t、在hadoop指定目录内创建新目录hdfsdfs–mkdir/user/thdfsdfs-mkdir-p/user/centos/hadoop、在hadoop指定目录下新建一个空文件使用touchz命令:hdfsdfs-touchz/user/new.txt、将hadoop上某个文件重命名使用mv命令:hdfsdfs–mv/user/test.txt/user/ok.txt(将test.txt重命名为ok.txt、将hadoop指定目录下所有内容保存为一个文件,同时down至本地hdfsdfs–getmerge/user/home/t、将正在运行的hadoop作业kill掉hadoopjob–kill.查看帮助hdfsdfs-help、安全模式()退出安全模式NameNode在启动时会自动进入安全模式。安全模式是NameNode的一种状态,在这个阶段,文件系统不允许有任何修改。系统显示Namenodeinsafemode,说明系统正处于安全模式,这时只需要等待十几秒即可,也可通过下面的命令退出安全模式:/usr/local/hadoop$bin/hadoopdfsadmin-safemodeleave()进入安全模式在必要情况下,可以通过以下命令把HDFS置于安全模式:/usr/local/hadoop$bin/hadoopdfsadmin-safemodeenter、节点添加添加一个新的DataNode节点,先在新加节点上安装好Hadoop,要和NameNode使用相同的配置(可以直接从NameNode复制,修改HADOOPHOME/conf/master文件,加入NameNode主机名。然后在NameNode节点上修改HADOOPHOME/conf/master文件,加入NameNode主机名。然后在NameNode节点上修改HADOOP_HOME/conf/slaves文件,加入新节点名,再建立新加节点无密码的SSH连接,运行启动命令为:/usr/local/hadoop$bin/start-all.sh、负载均衡HDFS的数据在各个DataNode中的分布可能很不均匀,尤其是在DataNode节点出现故障或新增DataNode节点时。新增数据块时NameNode对DataNode节点的选择策略也有可能导致数据块分布不均匀。用户可以使用命令重新平衡DataNode上的数据块的分布:/usr/local/hadoop$bin/start-balancer.sh、补充.对hdfs操作的命令格式是hdfsdfs.-ls表示对hdfs下一级目录的查看.-lsr表示对hdfs目录的递归查看.-mkdir创建目录.-put从Linux上传文件到hdfs.-get从hdfs下载文件到linux.-text查看文件内容.-rm表示删除文件.-rmr表示递归删除文件.hdfs在对数据存储进行block划分时,如果文件大小超过block,那么按照block大小进行划分;不如blocksize的,划分为一个块,是实际数据大小。*****PermissionDenyException权限不足**********hadoop常用命令:hdfsdfs查看HadoopHDFS支持的所有命令hdfsdfs–ls列出目录及文件信息hdfsdfs–lsr循环列出目录、子目录及文件信息hdfsdfs–puttest.txt/user/sunlightcs将本地文件系统的test.txt复制到HDFS文件系统的/user/sunlightcs目录下hdfsdfs–get/user/sunlightcs/test.txt.将HDFS中的test.txt复制到本地文件系统中,与-put命令相反hdfsdfs–cat/user/sunlightcs/test.txt查看HDFS文件系统里test.txt的内容hdfsdfs–tail/user/sunlightcs/test.txt查看最后KB的内容hdfsdfs–rm/user/sunlightcs/test.txt从HDFS文件系统删除test.txt文件,rm命令也可以删除空目录hdfsdfs–rmr/user/sunlightcs删除/user/sunlightcs目录以及所有子目录hdfsdfs–copyFromLocaltest.txt/user/sunlightcs/test.txt从本地文件系统复制文件到HDFS文件系统,等同于put命令hdfsdfs–copyToLocal/user/sunlightcs/test.txttest.txt从HDFS文件系统复制文件到本地文件系统,等同于get命令hdfsdfs–chgrp/user/sunlightcs修改HDFS系统中/user/sunlightcs目录所属群组,选项-R递归执行,跟linux命令一样hdfsdfs–chown/user/sunlightcs修改HDFS系统中/user/sunlightcs目录拥有者,选项-R递归执行hdfsdfs–chmodMODE/user/sunlightcs修改HDFS系统中/user/sunlightcs目录权限,MODE可以为相应权限的位数或+/-{rwx},选项-R递归执行hdfsdfs–countPATH查看PATH目录下,子目录数、文件数、文件大小、文件名/目录名hdfsdfs–cpSRCDST将文件从SRC复制到DST,如果指定了多个SRC,则DST必须为一个目录hdfsdfs–duPATH显示该目录中每个文件或目录的大小hdfsdfs–dusPATH类似于du,PATH为目录时,会显示该目录的总大小hdfsdfs–expunge清空回收站,文件被删除时,它首先会移到临时目录.Trash/中,当超过延迟时间之后,文件才会被永久删除hdfsdfs–getmergeSRC获取由SRC指定的所有文件,将它们合并为单个文件,并写入本地文件系统中的LOCALDST,选项addnl将在每个文件的末尾处加上一个换行符hdfsdfs–touchzPATH创建长度为的空文件hdfsdfs–test–PATH对PATH进行如下类型的检查:-ePATH是否存在,如果PATH存在,返回,否则返回-z文件是否为空,如果长度为,返回,否则返回-d是否为目录,如果PATH为目录,返回,否则返回hdfsdfs–textPATH显示文件的内容,当文件为文本文件时,等同于cat,文件为压缩格式(gzip以及hadoop的二进制序列文件格式时,会先解压缩hdfsdfs–helpls查看某个命令的帮助文档本文转自

  怎么查看hadoop的输出文件,比如运行wordcount的时候产生的output结果,我要将文件拷贝出来怎么办

  看文件可以在hadoop的web接口上进行,也可以使用命令行。web接口:需要配置本机的hosts文件,加入集群中机器的主机名和ip信息。访问、使用命令,好像是$HADOOP_HOME/bin/hadoopfs-getsrclocaldest或者$HADOOP_HOME/bin/hadoopfs-copyToLocalsrclocaldest你可以输入$HADOOP_HOME/bin/hadoopfs看一下提示

  HDFS命令基本格式:hadoopfs-cmd《args》

  注意:以上表格中路径包括hdfs中的路径和linux中的路径。对于容易产生歧义的地方,会特别指出“linux路径”或者“hdfs路径”。如果没有明确指出,意味着是hdfs路径。

  HDFS有一个默认的工作目录/user/$USER,其中$USER是用户的登录用户名。不过目录不会自动建立,需要mkdir建立它命令格式:hadoopfs-mkdir

  注意:支持级联创建新目录,Hadoop的mkdir命令会自动创建父目录,类似于带-p的linux命令

  put命令从本地文件系统中复制单个或多个源路径到目标文件系统,也支持从标准输入设备中读取输入并写入目标文件系统。分为本地上传和上传到HDFS中。命令格式:hadoopfs-putfilename

  最后一个参数是句点,相当于放入了默认的工作目录,等价于hadoopfs-putexample.txt/user/chen

  上传文件时,文件首先复制到DataNode上,只有所有的DataNode都成功接收完数据,文件上传才是成功的。命令格式:hadoopdfsputfilenamenewfilename

  从本地文件系统中复制单个或多个源路径到目标文件系统。也支持从标准输入中读取输入写入目标文件系统。

  采用-ls命令列出HDFS上的文件。在HDFS中未带参数的-ls命令没有返回任何值,它默认返回HDFS的home目录下的内容。在HDFS中,没有当前工作目录这样一个概念,也没有cmd这样的命令。命令格式:userNameNode:hadoop$bin/hadoopdfs-ls如:

  通过“-ls文件夹名”命令浏览HDFS下文件夹中的文件命令格式:hadoopdfs-ls文件夹名

  通过该命令可以查看in文件夹中的所有文档文件

  通过“-cat文件名”命令查看HDFS下文件夹中某个文件的内容命令格式:hadoop$bin/hadoopdfs-cat文件名

  通过这个命令可以查看in文件夹中所有文件的内容

  通过“-get文件按文件”命令将HDFS中某目录下的文件复制到本地系统的某文件中,并对该文件重新命名。命令格式:hadoopdfs-get文件名新文件名

  -get命令与-put命令一样,既可以操作目录,也可以操作文件

  通过“-rmr文件”命令删除HDFS下的文件命令格式:hadoop$bin/hadoopdfs-rmr文件

  -rmr删除文档命令相当于delete的递归版本。

  通过-format命令实现HDFS格式化命令格式:userNameNode:hadoop$bin/hadoopNameNode-format

  通过运行start-dfs.sh,就可以启动HDFS了命令格式:userNameNode:hadoop$bin/start-dfs.sh

  当需要退出HDFS时,通过stop-dfs.sh就可以关闭HDFS命令格式:userNameNode:hadoop$bin/stop-dfs.sh

  HDFS的命令远不止这些,对于其他操作,可以通过-helpmandName命令列出清单。下面列举一些命令进行说明。

  chgrp改变文件所属的组命令chgrp命令的用途是:更改文件或目录的组所有权。语法格式:hadoopfs-chargGROUPURL.....使用-R将使改变在目录结构下递归进行。命令的使用者必须是文件的所有者或者超级用户。

  chmod改变文件的权限chmod用于改变文件或目录的访问权限,这个Linux系统管理员最常用的命令之一。使用方法:hadoopfs-chmod...使用-R将使改变在目录结构下递归进行。命令的使用者必须是文件的所有者或者是超级用户

  chown改变文件的拥有者chown命令改变文件的拥有者。使用方法:hadoopfs-chown....使用-R将使改变在目录结构下递归进行。命令的使用者必须是超级用户。

  copyFromLocal命令除了限定源路径是只能是一个本地文件外,其他方面和put命令相似。使用方法:hadoopfs-copyFromLocal《localsrc》URI

  copyToLocal命令除了限定目标路径是一个本地文件外,其他方面和get命令类似。使用方法:hadoopfs-copyToLocal{-ignorecrc}{-crc}URI《localdst》

  cp命令cp命令是将文件从源路径复制到目标路径。这个命令允许有多个源路径,此时目标路径必须是一个目录。使用方法:hadoopfs-cpURI《dest》

  返回值:成功返回,失败返回-

  du命令du命令显示目录中所有文件的大小,或者当只指定一个文件时,显示此文件的大小使用方法:hadoopfs-duURI

  返回值成功返回,失败返回-

  dus命令dus是显示文件大小的命令。使用方法:hadoopfs-dus《args》

  expunge命令expunge是清空回收站的命令使用方法:hadoopfs-expunge

  get命令get是复制文件到本地文件系统的命令使用方法:hadoopfs-get《localdst》可用-ignorecrc选项复制CRC校验失败的文件:使用-CRC选项复制文件以及CRC信息。

  返回值成功返回,失败返回-

  getmerge命令getmerge命令用于接受一个源目录和一个目标文件作为输入,并且将源目录中所有的文件合并成本地目标文件。使用方法:hadoopfs-getmerge《src》《localdst》参数说明:addl是可选的,用于指定在每个文件结尾添加一个换行符;

  假设在你的hdfs集群上有一个/user/hadoop/output目录里面有作业执行的结果(多个文件组成part-,part-,part-

  然后就可以在本地使用vilocal_file查看内容了

  ls命令ls命令查看当前目录下的信息使用方法:hadoopfs-ls《args》如果是文件,则按照如下格式返回文件信息:文件名《副本数》文件大小修改日期修改时间权限用户ID组ID

  如果是目录,则返回它直接子文件的一个列表,就像在UNIX中一样。目录返回i额表的信息如下:目录名《dir》修改日期修改时间权限用户ID组ID

  返回值成功返回,失败返回-

  lsr命令lsr命令是-ls命令的递归版,类似于UNIX中的ls-r。使用方法:hadoopfs-lsr《args》

  movefromLocal命令复制一份本地文件到hdfs,当成功后,删除本地文件使用方法:dfs-moveFromLocal《src》《dst》

  moveToLocal命令类似于-get,但是当复制完成后,会删除hdfs上的文件使用方法:moveToLocal《src》《localDest》

  mv命令将文件从源路径移动到目标路径。这个命令允许有多个源路径,此时目标路径必须是一个目录使用方法:hadoopfs-mvURI《dest》备注:不允许在不同的文件系统间移动文件。

  返回值成功返回,失败返回-

  put命令put命令从本地文件系统中复制单个或多个源路径到目标文件系统,也支持从标准输入中读取输入写入目标文件系统使用方法:hadoopfs-put《localsrc》....《dst》

  rm命令rm命令删除指定的文件,只删除非空目录和文件。使用方法:hadoopfs-rmURI请参考rmr命令了解递归删除。

  rmr命令rmr命令是delete命令的递归版本使用方法:hadoopfs-rmrURI

  返回值成功返回,失败返回-

  setrep命令setrep命令可以改变一个文件的副本系数。使用方法:hadoopfs-setrep《path》参数说明:-R选项用于递归改变目录下所有文件的副本系数

  返回值成功返回,失败返回-

  stat命令stat命令用于返回指定路径的统计信息使用方法:hadoopfs-statURI

  返回值成功返回,失败返回-

  tail命令tail命令将文件尾部KB的内容输出到stdout。支持-f选项,行为和UNIX中一致使用方法:hadoopfs-tailURI

  返回值成功返回,失败返回-

  test命令test命令是检查命令,可以检查文件是否存在、文件的大小等。使用方法:hadoopfs-test-URI

  text命令text命令用于将源文件输出问文本格式使用方法:hadoopfs-text《src》允许的格式是zip和TextRecordInputStream。

  touchz命令touchz命令用于创建一个字节的空文件。使用方法:hadoopfs-touchzURI

  返回值成功返回,失败返回-

  求教如何用shell获取hadoop命令的执行返回值

  调用文件系统(FS)Shell命令应使用bin/hadoopfs《args》的形式。所有的的FSshell命令使用URI路径作为参数。URI格式是对HDFS文件系统,scheme是hdfs,对本地文件系统,scheme是file。其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。一个HDFS文件或目录比如/parent/child可以表示成或者更简单的/parent/child(假设你配置文件中的默认值是namenode:namenodeport。大多数FSShell命令的行为和对应的UnixShell命令类似,不同之处会在下面介绍各命令使用详情时指出。出错信息会输出到stderr,其他信息输出到stdout。cat使用方法:hadoopfs-catURI将路径指定文件的内容输出到stdout。示例:hadoopfs-返回值:成功返回,失败返回-。chgrp使用方法:hadoopfs-chgrpChangegroupassociationoffiles.With-R,makethechangerecursivelythroughthedirectorystructure.Theusermustbetheowneroffiles,orelseasuper-user.AdditionalinformationisinthePermissionsUserGuide.--》改变文件所属的组。使用-R将使改变在目录结构下递归进行。命令的使用者必须是文件的所有者或者超级用户。更多的信息请参见HDFS权限用户指南。chmod使用方法:hadoopfs-chmod改变文件的权限。使用-R将使改变在目录结构下递归进行。命令的使用者必须是文件的所有者或者超级用户。更多的信息请参见HDFS权限用户指南。chown使用方法:hadoopfs-chown改变文件的拥有者。使用-R将使改变在目录结构下递归进行。命令的使用者必须是超级用户。更多的信息请参见HDFS权限用户指南。copyFromLocal使用方法:hadoopfs-copyFromLocal《localsrc》URI除了限定源路径是一个本地文件外,和put命令相似。copyToLocal使用方法:hadoopfs-copyToLocalURI《localdst》除了限定目标路径是一个本地文件外,和get命令类似。cp使用方法:hadoopfs-cpURI《dest》将文件从源路径复制到目标路径。这个命令允许有多个源路径,此时目标路径必须是一个目录。示例:hadoopfs-cp/user/hadoop/file/user/hadoop/filehadoopfs-cp/user/hadoop/file/user/hadoop/file/user/hadoop/dir返回值:成功返回,失败返回-。du使用方法:hadoopfs-duURI显示目录中所有文件的大小,或者当只指定一个文件时,显示此文件的大小。示例:hadoopfs-du/user/hadoop/dir/user/hadoop/file返回值:成功返回,失败返回-。dus使用方法:hadoopfs-dus《args》显示文件的大小。expunge使用方法:hadoopfs-expunge清空回收站。请参考HDFS设计文档以获取更多关于回收站特性的信息。get使用方法:hadoopfs-get《src》《localdst》复制文件到本地文件系统。可用-ignorecrc选项复制CRC校验失败的文件。使用-crc选项复制文件以及CRC信息。示例:hadoopfs-get/user/hadoop/filelocalfilehadoopfs-返回值:成功返回,失败返回-。getmerge使用方法:hadoopfs-getmerge《src》《localdst》接受一个源目录和一个目标文件作为输入,并且将源目录中所有的文件连接成本地目标文件。addnl是可选的,用于指定在每个文件结尾添加一个换行符。ls使用方法:hadoopfs-ls《args》如果是文件,则按照如下格式返回文件信息:文件名《副本数》文件大小修改日期修改时间权限用户ID组ID如果是目录,则返回它直接子文件的一个列表,就像在Unix中一样。目录返回列表的信息如下:目录名《dir》修改日期修改时间权限用户ID组ID示例:hadoopfs-ls/user/hadoop/file/user/hadoop/file返回值:成功返回,失败返回-。lsr使用方法:hadoopfs-lsr《args》ls命令的递归版本。类似于Unix中的ls-R。mkdir使用方法:hadoopfs-mkdir《paths》接受路径指定的uri作为参数,创建这些目录。其行为类似于Unix的mkdir-p,它会创建路径中的各级父目录。示例:hadoopfs-mkdir/user/hadoop/dir/user/hadoop/dirhadoopfs-返回值:成功返回,失败返回-。movefromLocal使用方法:dfs-moveFromLocal《src》《dst》输出一个”notimplemented“信息。mv使用方法:hadoopfs-mvURI《dest》将文件从源路径移动到目标路径。这个命令允许有多个源路径,此时目标路径必须是一个目录。不允许在不同的文件系统间移动文件。示例:hadoopfs-mv/user/hadoop/file/user/hadoop/filehadoopfs-返回值:成功返回,失败返回-。put使用方法:hadoopfs-put《localsrc》...《dst》从本地文件系统中复制单个或多个源路径到目标文件系统。也支持从标准输入中读取输入写入目标文件系统。hadoopfs-putlocalfile/user/hadoop/hadoopfilehadoopfs-putlocalfilelocalfile/user/hadoop/hadoopdirhadoopfs-从标准输入中读取输入。返回值:成功返回,失败返回-。rm使用方法:hadoopfs-rmURI删除指定的文件。只删除非空目录和文件。请参考rmr命令了解递归删除。示例:hadoopfs-返回值:成功返回,失败返回-。rmr使用方法:hadoopfs-rmrURIdelete的递归版本。示例:hadoopfs-rmr/user/hadoop/dirhadoopfs-返回值:成功返回,失败返回-。setrep使用方法:hadoopfs-setrep《path》改变一个文件的副本系数。-R选项用于递归改变目录下所有文件的副本系数。示例:hadoopfs-setrep-w-R/user/hadoop/dir返回值:成功返回,失败返回-。stat使用方法:hadoopfs-statURI返回指定路径的统计信息。示例:hadoopfs-statpath返回值:成功返回,失败返回-。tail使用方法:hadoopfs-tailURI将文件尾部K字节的内容输出到stdout。支持-f选项,行为和Unix中一致。示例:hadoopfs-tailpathname返回值:成功返回,失败返回-。test使用方法:hadoopfs-test-URI选项:-e检查文件是否存在。如果存在则返回。-z检查文件是否是字节。如果是则返回。-d如果路径是个目录,则返回,否则返回。示例:hadoopfs-test-efilenametext使用方法:hadoopfs-text《src》将源文件输出为文本格式。允许的格式是zip和TextRecordInputStream。touchz使用方法:hadoopfs-touchzURI创建一个字节的空文件。示例:hadoop-touchzpathname返回值:成功返回,失败返回-。大家看我的问题,我比较个文件夹,我发现执行了第句话程序就结束了!!!没有答应echodifferent.请问,我如何才能够获取到diff-rcwjdircwjdir的返回值呢??难道这个diff命令在他内部就直接死掉了??求高手解答。.能获取到这个命令的返回值吗?.为什么打印不出echodifferent#!/bin/bash-ediff-rcwjdircwjdirif;th郸郸策肝匕菲察十畅姜enechodifferentexitfiechofilescmped

  Hadoopfs必需要记住的常用命令

  ,Hadoop?fs–fs:声明Hadoop使用的文件系统,如果不声明的话,使用当前配置文件配置的,按如下顺序查找:hadoopjar里的hadoop-default.xml-》$HADOOP_CONF_DIR下的hadoop-default.xml-》$HADOOP_CONF_DIR下的hadoop-site.xml。使用local代表将本地文件系统作为hadoop的DFS。如果传递uri做参数,那么就是特定的文件系统作为DFS。,hadoopfs–ls?:等同于本地系统的ls,列出在指定目录下的文件内容,支持pattern匹配。输出格式如filename(fullpath)?size.其中n代表replica的个数,size代表大小(单位bytes)。,hadoopfs–lsr?:递归列出匹配pattern的文件信息,类似ls,只不过递归列出所有子目录信息。,hadoopfs–du?:列出匹配pattern的指定的文件系统空间总量(单位bytes),等价于unix下的针对目录的du–sb?/*和针对文件的du–b?,输出格式如name(fullpath)size(inbytes)。,hadoopfs–dus?:等价于-du,输出格式也相同,只不过等价于unix的du-sb。,hadoopfs–mv?:将制定格式的文件move到指定的目标位置。当src为多个文件时,dst必须是个目录。,hadoopfs–cp?:拷贝文件到目标位置,当src为多个文件时,dst必须是个目录。,hadoopfs–rm?:删除匹配pattern的指定文件,等价于unix下的rm?。,hadoopfs–rmr?:递归删掉所有的文件和目录,等价于unix下的rm–rf?。,hadoopfs–rmi?:等价于unix的rm–rfi?。,hadoopfs–put?…?:从本地系统拷贝文件到DFS。,hadoopfs–copyFromLocal?…?:等价于-put。,hadoopfs–moveFromLocal?…?:等同于-put,只不过源文件在拷贝后被删除。,hadoopfs–get?:从DFS拷贝文件到本地文件系统,文件匹配pattern,若是多个文件,则dst必须是目录。,hadoopfs–getmerge?:顾名思义,从DFS拷贝多个文件、合并排序为一个文件到本地文件系统。,hadoopfs–cat?:展示文件内容。,hadoopfs–copyToLocal?:等价于-get。,hadoopfs–mkdir?:在指定位置创建目录。,hadoopfs–setrep?:设置文件的备份级别,-R标志控制是否递归设置子目录及文件。,hadoopfs–chmod?PATH…:修改文件的权限,-R标记递归修改。MODE为a+r,g-w,+rwx等,OCTALMODE为这样。,hadoopfs-chownPATH…:修改文件的所有者和组。-R表示递归。,hadoopfs-chgrpGROUPPATH…:等价于-chown…:GROUP…。,hadoopfs–count?:计数文件个数及所占空间的详情,输出表格的列的含义依次为:DIR_COUNT,FILE_COUNT,CONTENT_SIZE,FILE_NAME或者如果加了-q的话,还会列出QUOTA,REMAINING_QUOTA,SPACE_QUOTA,REMAINING_SPACE_QUOTA。结语感谢您的观看,如有不足之处,欢迎批评指正。如果有对大数据感兴趣的小伙伴或者是从事大数据的老司机可以加群:???欢迎大家进群交流讨论,学习交流,共同进步。(里面还有大量的免费资料,帮助大家在成为大数据工程师,乃至架构师的路上披荆斩棘!最后祝福所有遇到瓶疾且不知道怎么办的大数据程序员们,祝福大家在往后的工作与面试中一切顺利。

  hadoop中命令经常含有-fs,-dfs,fs和dfs有什么区别作用是什么

  Youcanseedefinitionsofthetwomands(hadoopfs&hadoopdfs)in可以看一下hadoop的源代码$HADOOP_HOME/bin/hadoop...elif;thenCLASS=.apache.hadoop.hdfs.tools.DFSAdminHADOOP_OPTS=“$HADOOP_OPTS$HADOOP_CLIENT_OPTS“...So,theyareexactlythesame.所以,发现两者是完全一样的功能。谢谢

  hadoop常用shell命令怎么用

  常用的hadoop命令、hadoop的fs命令#查看hadoop所有的fs命令hadoopfs#上传文件(put与copyFromLocal都是上传命令hadoopfs-putjdk-u-linux-i.tar.下载命令(get与copyToLocal都是下载命令)hadoopfs-将本地一个或者多个文件追加到hdfs文件中(appendToFilehadoopfs-appendToFileinstall.log/words#查询hdfs的所有文件(lshadoopfs-ls/#帮助命令(helphadoopfs-helpfs#查看hdfs文件的内容(cat和texthadoopfs-cat/wordshadoopfs-text/words#删除hdfs文件(rm)hadoopfs-rm-r/words#统计hdfs文件和文件夹的数量(counthadoopfs-count-r/#合并hdfs某个文件夹的文件,并且下载到本地(getmergehadoopfs-getmerge/merge#将本地文件剪切到hdfs,相当于对本地文件上传后再删除(moveFormLocalhadoopfs-moveFromLocalwords/#查看当前文件系统的使用状态(dfhadoopfs-df二、常用的hdfs命令(这个用的比较多用法跟hadoop命令一样,推荐.之后使用hdfs命令hdfsdfs

您可能感兴趣的文章:

相关文章