精华内容
下载资源
问答
  • Prometheus Hadoop HDFS FSImage导出器 | 将Hadoop HDFS统计信息导出到包括 总数/每个用户/每个组/每个配置的目录路径/每个路径集 目录数 文件数 文件大小和大小分布(可选) 块数 文件复制(总体/每个用户摘要)...
  • HadoopHDFS

    2020-12-03 20:20:27
    Hadoop架构HDFS架构NameNode(nn)DataNode(dn)Secondary NodeName(2nn)如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个...

    HDFS组成

    HDFS采用master/slave架构。一个HDFS集群一般有一个Namenode和Secondary NodeName以及一定数目的Datanode组成。
    在这里插入图片描述

    NameNode(nn)

    就是Master,它是一个主管,管理者。用于处理客户端请求,存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在的DataNode等。

    DataNode(dn)

    在本地文件系统存储文件块数据,执行数据块的读写操作,以极快数据的校验。

    Secondary NodeName(2nn)

    用来监控HDFS状态的辅助后台程序,定期合并Fsimage和Edits,并推送给NameNode,在紧急情况下可以辅助恢复NameNode.。
    并非NameNode的热备。当NameNode挂掉的时候,他并不能马上替换NameNode并提供服务。

    HDFS写数据流程

    在这里插入图片描述

    1. 首先客户端创建Distributed FileSystem ,客户端向NameNode请求上传文件ss.avi。
    2. NameNode接受请求相应可以上传文件。
    3. client请求上窜第一个块(block),并请求返回DataNode
    4. NameNode返回dn1,dn2.dn3,即准备通过三个datanode存储文件。
    5. 客户端通过FSDataOutputStream模块请求dn1上传数据,dn1收到请求会继续调用dn2,然后dn2调用dn3,将这个通信管道建立完成。
    6. dn1、dn2、dn3逐级应答客户端
    7. 客户端开始往dn1上传第一个Block(先从磁盘读取数据放到一个本地内存缓存),以Packet为单位,dn1收到一个Packet就会传给dn2,dn2传给dn3;dn1每传一个packet会放入一个应答队列等待应答。
    8. 当一个Block传输完成之后,客户端再次请求NameNode上传第二个Block的服务器。(重复执行3-7步)。

    DataNode选择

    在HDFS写数据的过程中,NameNode会选择距离待上传数据最近距离的DataNode接收数据。这个最近距离通过节点距离确定,两个节点到达最近的共同祖先的距离总和。
    在这里插入图片描述

    HDFS副本选择

    在这里插入图片描述
    副本节点的选择方式,第一个副本在Client所处的节点上,如果客户端在集群外,随机选一个。第二个副本与第以个副本在相同机架的随机节点。第三个副本位于不同机架的随机节点。
    删除文本

    NameNode和SecondaryNameNode

    NN和2NN工作机制

    首先,我们做个假设,如果存储在NameNode节点的磁盘中,因为经常需要进行随机访问,还有响应客户请求,必然是效率过低。因此,元数据需要存放在内存中。但如果只存在内存中,一旦断电,元数据丢失,整个集群就无法工作了。因此产生在磁盘中备份元数据的FsImage。

    这样又会带来新的问题,当在内存中的元数据更新时,如果同时更新FsImage,就会导致效率过低,但如果不更新,就会发生一致性问题,一旦NameNode节点断电,就会产生数据丢失。因此,引入Edits文件(只进行追加操作,效率很高)。每当元数据有更新或者添加元数据时,修改内存中的元数据并追加到Edits中。这样,一旦NameNode节点断电,可以通过FsImage和Edits的合并,合成元数据。

    但是,如果长时间添加数据到Edits中,会导致该文件数据过大,效率降低,而且一旦断电,恢复元数据需要的时间过长。因此,需要定期进行FsImage和Edits的合并,如果这个操作由NameNode节点完成,又会效率过低。因此,引入一个新的节点SecondaryNamenode,专门用于FsImage和Edits的合并。
    在这里插入图片描述
    第一阶段:NameNode启动
    (1)第一次启动NameNode格式化后,创建Fsimage和Edits文件。如果不是第一次启动,直接加载编辑日志和镜像文件到内存。
    (2)客户端对元数据进行增删改的请求。
    (3)NameNode记录操作日志,更新滚动日志。
    (4)NameNode在内存中对元数据进行增删改。

    第二阶段:Secondary NameNode工作
    (1)Secondary NameNode询问NameNode是否需要CheckPoint。直接带回NameNode是否检查结果。
    (2)Secondary NameNode请求执行CheckPoint。
    (3)NameNode滚动正在写的Edits日志。
    (4)将滚动前的编辑日志和镜像文件拷贝到Secondary NameNode。
    (5)Secondary NameNode加载编辑日志和镜像文件到内存,并合并。
    (6)生成新的镜像文件fsimage.chkpoint。
    (7)拷贝fsimage.chkpoint到NameNode。
    (8)NameNode将fsimage.chkpoint重新命名成fsimage。

    NN和2NN工作机制详解

    Fsimage:NameNode内存中元数据序列化后形成的文件。

    Edits:记录客户端更新元数据信息的每一步操作(可通过Edits运算出元数据)。

    NameNode启动时,先滚动Edits并生成一个空的edits.inprogress,然后加载Edits和Fsimage到内存中,此时NameNode内存就持有最新的元数据信息。Client开始对NameNode发送元数据的增删改的请求,这些请求的操作首先会被记录到edits.inprogress中(查询元数据的操作不会被记录在Edits中,因为查询操作不会更改元数据信息),如果此时NameNode挂掉,重启后会从Edits中读取元数据的信息。然后,NameNode会在内存中执行元数据的增删改的操作。

    由于Edits中记录的操作会越来越多,Edits文件会越来越大,导致NameNode在启动加载Edits时会很慢,所以需要对Edits和Fsimage进行合并(所谓合并,就是将Edits和Fsimage加载到内存中,照着Edits中的操作一步步执行,最终形成新的Fsimage)。SecondaryNameNode的作用就是帮助NameNode进行Edits和Fsimage的合并工作。

    SecondaryNameNode首先会询问NameNode是否需要CheckPoint(触发CheckPoint需要满足两个条件中的任意一个,定时时间到和Edits中数据写满了)。直接带回NameNode是否检查结果。SecondaryNameNode执行CheckPoint操作,首先会让NameNode滚动Edits并生成一个空的edits.inprogress,滚动Edits的目的是给Edits打个标记,以后所有新的操作都写入edits.inprogress,其他未合并的Edits和Fsimage会拷贝到SecondaryNameNode的本地,然后将拷贝的Edits和Fsimage加载到内存中进行合并,生成fsimage.chkpoint,然后将fsimage.chkpoint拷贝给NameNode,重命名为Fsimage后替换掉原来的Fsimage。NameNode在启动时就只需要加载之前未合并的Edits和Fsimage即可,因为合并过的Edits中的元数据信息已经被记录在Fsimage中。

    DataNode工作机制

    在这里插入图片描述
    1)一个数据块在DataNode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。

    2)DataNode启动后向NameNode注册,通过后,周期性(1小时)的向NameNode上报所有的块信息。

    3)心跳是每3秒一次,心跳返回结果带有NameNode给该DataNode的命令如复制块数据到另一台机器,或删除某个数据块。如果超过10分钟没有收到某个DataNode的心跳,则认为该节点不可用。

    4)集群运行中可以安全加入和退出一些机器。

    数据完整性

    思考:如果电脑磁盘里面存储的数据是控制高铁信号灯的红灯信号(1)和绿灯信号(0),但是存储该数据的磁盘坏了,一直显示是绿灯,是否很危险?同理DataNode节点上的数据损坏了,却没有发现,是否也很危险,那么如何解决呢?

    如下是DataNode节点保证数据完整性的方法。
    1)当DataNode读取Block的时候,它会计算CheckSum。
    2)如果计算后的CheckSum,与Block创建时值不一样,说明Block已经损坏。
    3)Client读取其他DataNode上的Block。
    4)DataNode在其文件创建后周期验证CheckSum。
    在这里插入图片描述

    掉线时限参数设置

    > 引用文本

    展开全文
  • hadoop-hdfs编程

    2017-11-20 11:52:00
    1、开发环境搭建 一、新建一个普通的java工程 二、引入hdfs相关的jar包 需要引入的jar包: ...package com.cvicse.ump.hadoop.hdfs; import org.apache.hadoop.conf.Configuration; impo...

    1、开发环境搭建

    一、新建一个普通的java工程

    二、引入hdfs相关的jar包

    需要引入的jar包:

    common下的jar

     

    hdfs下的jar

     

    2、编写HDFS相关的程序

    package com.cvicse.ump.hadoop.hdfs;
    
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.fs.FSDataOutputStream;
    import org.apache.hadoop.fs.FileStatus;
    import org.apache.hadoop.fs.FileSystem;
    import org.apache.hadoop.fs.Path;
    
    public class FileOperation {
        
        //创建文件
        public static void createFile(String dst,byte[] contents) throws Exception{
            Configuration conf = new Configuration();
            FileSystem fs = FileSystem.get(conf);
            Path dstPath = new Path(dst);
            FSDataOutputStream outputStream = fs.create(dstPath);;
            outputStream.write(contents);
            outputStream.close();
            fs.close();
            System.out.println(dst+",文件创建成果");
        }
        
        //上传文件
        public static void uploadFile(String src,String dst) throws Exception{
            Configuration conf = new Configuration();
            FileSystem fs = FileSystem.get(conf);
            Path srcPath = new Path(src);
            Path dstPath = new Path(dst);
            fs.copyFromLocalFile(srcPath, dstPath);
            System.out.println("Upload to "+conf.get("fs.default.name"));
            System.out.println("------list files---------"+"\n");
            FileStatus[] fileStatus = fs.listStatus(dstPath);
            for(FileStatus file:fileStatus){
                System.out.println(file.getPath());
            }
            fs.close();
            
        }
        
        //删除目录
        public static void delete(String filePath)throws Exception{
            
            Configuration conf = new Configuration();
            FileSystem fs = FileSystem.get(conf);
            Path path = new Path(filePath);
            boolean isOk = fs.deleteOnExit(path);
            if(isOk){
                System.out.println("delete OK.");
            }else{
                System.out.println("delete failure.");
            }
            fs.close();
            
        }
        //创建目录
        public static void mkdir(String path)throws Exception{
            Configuration conf = new Configuration();
            FileSystem fs = FileSystem.get(conf);
            Path srcPath = new Path(path);
            boolean isOK = fs.mkdirs(srcPath);
            if(isOK){
                System.out.println("create dir ok!");
            }else{
                System.out.println("create dir failure!");
            }
            fs.close();
        }
        
        //下载文件
        public static void downFile(String src,String dst)throws Exception{
            Configuration conf = new Configuration();
            FileSystem fs = FileSystem.get(conf);
            Path srcPath = new Path(src);
            Path dstPath = new Path(dst);
            
            fs.copyToLocalFile(srcPath, dstPath);
            System.out.println("down load over");
            
        }
        
        public static void main(String[] args) throws Exception {
            /*String dst = args[0];
            byte[] contents = "hello,dyh".getBytes();
            createFile(dst, contents);*/
            
            /*String src = args[0];
            String dst = args[1];
            uploadFile(src, dst);*/
            
            /*String filePath = args[0];
            delete(filePath);*/
            
            /*String path = args[0];
            mkdir(path);*/
            
            String src = args[0];
            String dst = args[1];
            downFile(src, dst);
        }
    
    }

     

    导出jar包

     

    上传jar到HADOOP运行环境,并执行

    执行命令:hadoop jar jar包名字 main函数所在的类

     

     

    转载于:https://www.cnblogs.com/dyh004/p/7865629.html

    展开全文
  • Hadoop,HDFS

    2020-04-06 23:16:47
    B.HDFSHadoop Distributed File System 分布式文件系统) C.YARN(Yet Another Resources Negotiator 运算资源调度系统) D.MapReduce(Map 和 Reduce 分布式运算编程框架) Hadoop :利用服务器集群...

    Hadoop 的核心组件

    A.Common(基础功能组件)(工具包,RPC 框架)JNDI 和 RPC
    B.HDFS(Hadoop Distributed File System 分布式文件系统)
    C.YARN(Yet Another Resources Negotiator 运算资源调度系统)
    D.MapReduce(Map 和 Reduce 分布式运算编程框架)
    Hadoop :利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分 布式处理Hive™:一个数据仓库基础设施,提供了数据总结和特别查询
    ZooKeeper™:一个高性能的分布式应用程序的协调服务
    Spark™:Hadoop 数据的快速、通用的计算引擎。Spark 提供了一个简单的和丰富的编 程模型,支持广泛的应用程序,包括 ETL、机器学习、流处理和图计算
    Oozie/Azkaban:工作流调度引擎
    Sqoop:数据迁入迁出工具
    MapReduce : 定制开发 MapReduce 程序运行于 Hadoop 集群,或者专门数据收集工具也 能进行数据预处理

    数据处理过程

    A、数据采集:定制开发采集程序,或使用开源框架 Flume 或者 LogStash
    B、数据预处理:定制开发 MapReduce 程序运行于 Hadoop 集群,或者专门数据收集工具也能进行数据预处理
    C、数据仓库技术:基于 Hadoop 之上的 Hive
    D、数据导出:基于 Hadoop 的 Sqoop 数据导入导出工具
    E、数据可视化:定制开发 web 程序或使用 Kettle 等产品
    F、数据统计分析:Hadoop 中的 MapReduce 或者基于 Hadoop 的 Hive,或者 Spark,Flink
    G、整个过程的流程调度:Hadoop 生态圈中的 Oozie/Azkaban 工具或其他类似开源产品
    在这里插入图片描述

    在这里插入图片描述

    HDFS 基础使用

    shell命令

    -getmerge
    功能:合并下载多个文件
    示例: 如 hdfs 的目录 /aaa/下有多个文件:log.1, log.2,log.3,…
    hadoop fs -getmerge /aaa/log.* ./log.sum
    -copyFromLocal
    功能:从本地文件系统中拷贝文件到 hdfs 文件系统去
    示例:hadoop fs -copyFromLocal ./jdk.tar.gz /aaa/
    -copyToLocal
    功能:从 hdfs 拷贝到本地
    示例:hadoop fs -copyToLocal /aaa/jdk.tar.gz

    MapReduce 基础入门

    在这里插入图片描述
    在这里插入图片描述

    1. 接收文件,若全是小文件先进行文件的合并
    2. 在mapper中输入的是一行文本文件,先进行切割,映射,形成一对一对的<key,value>
    3. 进入shuffle阶段,首先若有分区,将<key,value>按照hashpartiton分到不同的区域中
    4. 在这个区中按照key的值进行排序
    5. 若单个key的值有点多,可以先进行局部汇总
    6. 将分区的key进行归并排序,按照key相同,将value进入reducer,进行计算
    7. 输出文件到hdfs

    YARN

    1. yarn 上可以运行各种类型 的分布式运算程序(mapreduce 只是其中的一种),比如 mapreduce、storm 程序,spark 程序,tez ……
    2. 所以,spark、storm 等运算框架都可以整合在 yarn 上运行,只要他们各自的框架中有符 合 yarn 规范的资源请求机制即可

    在这里插入图片描述

    1. container中启动applicationMaster
    2. Amster向resourceManager申请资源并且RM可以通过它来监控其状态
    3. AM向RM申请到资源后便与Node Manager 通信,要求启动任务
    4. NM通过RCP协议向AM汇报任务进程
    5. 会一直重复3.4直到任务完成,关闭AM
    展开全文
  • 有些hive安装文档提到了hdfs dfs -mkdir ,也就是说hdfs也是可以用的,但在2.8.0中已经不那么处理了,之所以还可以使用,是...在$HADOOP_HOME/bin下可以看到hadoophdfs的脚本。 hdfs的相当一部分的功能可以使用...

    有些hive安装文档提到了hdfs dfs -mkdir ,也就是说hdfs也是可以用的,但在2.8.0中已经不那么处理了,之所以还可以使用,是为了向下兼容.

    本文简要介绍一下有关的命令,以便对hadoop的命令有一个大概的影响,并在想使用的时候能够知道从哪里可以获得帮助。

    概述

    在$HADOOP_HOME/bin下可以看到hadoop和hdfs的脚本。

    hdfs的相当一部分的功能可以使用hdoop来替代(目前),但hdfs有自己的一些独有的功能。hadoop主要面向更广泛复杂的功能。

    本文介绍hadoop,hdfs和yarn的命令 ,目的是为了给予自己留下一个大概的映像!

     

    第一部分  hadoop命令

    参见http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-common/CommandsManual.html 

    Usage: hadoop [--config confdir] [--loglevel loglevel] [COMMAND] [GENERIC_OPTIONS] [COMMAND_OPTIONS]

     

    GENERIC_OPTIONDescription中文说明
    -archives <comma separated list of archives>Specify comma separated archives to be unarchived on the compute machines. Applies only to job.为某个作业提交一串的压缩文件(以逗号分隔),目的是让作业加压,并在计算节点计算
    -conf <configuration file>Specify an application configuration file.设定配置文件
    -D <property>=<value>Use value for given property.让hadoop命令使用特性属性值
    -files <comma separated list of files>Specify comma separated files to be copied to the map reduce cluster. Applies only to job.设定逗号分隔的文件列表,这些文件被复制到mr几圈。只针对job
    -fs <file:///> or <hdfs://namenode:port>Specify default filesystem URL to use. Overrides ‘fs.defaultFS’ property from configurations.设定hadoop命令需要用到的文件系统,会覆盖fs.defaultFS的配置
    -jt <local> or <resourcemanager:port>Specify a ResourceManager. Applies only to job.设定一个资源管理器。只针对job
    -libjars <comma seperated list of jars>Specify comma separated jar files to include in the classpath. Applies only to job.设定一个逗号分隔的jar文件列表,这些jar会被加入classpath。只针对作业

     

     

     

     

     

     

     

     

     

    一般情况下,以上的通用选项可以不需要用到。

    下面介绍命令command

    archive
    checknative
    classpath
    credential
    distcp
    fs
    jar
    key
    trace
    version
    CLASSNAME

     

    1.1 archive

    创建一个hadoop压缩文件,详细的可以参考 http://hadoop.apache.org/docs/r2.8.0/hadoop-archives/HadoopArchives.html

    hadoop的压缩文件不同于普通的压缩文件,是特有格式(不能使用rar,zip,tar之类的解压缩).后缀是har.压缩目录包含元数据和数据。

    压缩的目的,主要是为了减少可用空间,和传输的数据量。

    注:hadoop官方文档没有过多的解释。如此是否意味着har文件仅仅为mapreduce服务? 如果我们不用mapreduce,那么是否可以不关注这个。

    创建压缩文件

    hadoop archive -archiveName name -p <parent> [-r <replication factor>] <src>* <dest>

    例如

    把目录/foor/bar下的内容压缩为zoo.har并存储在/outputdir下

    hadoop archive -archiveName zoo.har -p /foo/bar -r 3 /outputdir

    把目录/user/haoop/dir1和/user/hadoop/dir2下的文件压缩为foo.har,并存储到/user/zoo中

    hadoop archive -archiveName foo.har -p /user/ hadoop/dir1 hadoop/dir2 /user/zoo

    解压

    把文件foo.har中的dir目录解压到 /user/zoo/newdir下

    hdfs dfs -cp har:///user/zoo/foo.har/dir1 hdfs:/user/zoo/newdir 

    以并行方式解压

    hadoop distcp har:///user/zoo/foo.har/dir1 hdfs:/user/zoo/newdir

    查看解压文件

    hdfs dfs -ls -R har:///user/zoo/foo.har/

    1.2 checknative

    hadoop checknative [-a] [-h]

    -a 检查所有的库

    -h 显示帮助

    检查hadoop的原生代码,一般人用不到。具体可以参考 http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-common/NativeLibraries.html

     

    1.3 classpath

    hadoop classpath [--glob |--jar <path> |-h |--help]

    打印hadoop jar或者库的类路径


    1.4 credential

    hadoop credential <subcommand> [options]

    管理凭证供应商的凭证、密码和secret(有关秘密信息)。

    查看帮助

    hadoop credential -list

    注:暂时没有涉略,大概是用于有关安全认证的。


    1.5 distcp

    功能:复制文件或者目录

    详细参考: http://hadoop.apache.org/docs/r2.8.0/hadoop-distcp/DistCp.html

    distcp就是distributed copy的缩写(望文生义),主要用于集群内/集群之间 复制文件。需要使用到mapreduce。

    原文用了相当的篇幅介绍这个功能,估计这个功能有不少用处,毕竟搬迁巨量文件还是挺复杂的,值得专门写这个工具。

    简单复制1

    [hadoop@bigdata ~]$ hadoop distcp /tmp/input/hadoop /tmp/input/haoop1
    17/06/07 15:57:53 DEBUG util.NativeCodeLoader: Trying to load the custom-built native-hadoop library...
    17/06/07 15:57:53 DEBUG util.NativeCodeLoader: Loaded the native-hadoop library
    17/06/07 15:57:54 INFO tools.DistCp: Input Options: DistCpOptions{atomicCommit=false, syncFolder=false, deleteMissing=false, ignoreFailures=false, overwrite=false, skipCRC=false, blocking=true, numListstatusThreads=0, maxMaps=20, mapBandwidth=100, sslConfigurationFile='null', copyStrategy='uniformsize', preserveStatus=[], preserveRawXattrs=false, atomicWorkPath=null, logPath=null, sourceFileListing=null, sourcePaths=[/tmp/input/hadoop], targetPath=/tmp/input/haoop1, targetPathExists=false, filtersFile='null'}
    17/06/07 15:57:54 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
    17/06/07 15:57:56 INFO tools.SimpleCopyListing: Paths (files+dirs) cnt = 31; dirCnt = 1
    17/06/07 15:57:56 INFO tools.SimpleCopyListing: Build file listing completed.
    17/06/07 15:57:56 INFO Configuration.deprecation: io.sort.mb is deprecated. Instead, use mapreduce.task.io.sort.mb
    17/06/07 15:57:56 INFO Configuration.deprecation: io.sort.factor is deprecated. Instead, use mapreduce.task.io.sort.factor
    17/06/07 15:57:57 INFO tools.DistCp: Number of paths in the copy list: 31
    17/06/07 15:57:57 INFO tools.DistCp: Number of paths in the copy list: 31
    17/06/07 15:57:58 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
    17/06/07 15:57:59 INFO mapreduce.JobSubmitter: number of splits:20
    17/06/07 15:58:00 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1496800112089_0001
    17/06/07 15:58:01 INFO impl.YarnClientImpl: Submitted application application_1496800112089_0001
    17/06/07 15:58:01 INFO mapreduce.Job: The url to track the job: http://bigdata.lzf:8099/proxy/application_1496800112089_0001/
    17/06/07 15:58:01 INFO tools.DistCp: DistCp job-id: job_1496800112089_0001
    17/06/07 15:58:01 INFO mapreduce.Job: Running job: job_1496800112089_0001
    17/06/07 15:58:24 INFO mapreduce.Job: Job job_1496800112089_0001 running in uber mode : false

    --注:后面太多,省略了

    结果查看下(列出部分)

    hadoop fs -ls /tmp/intput/hadoop1

    [hadoop@bigdata ~]$ hadoop fs -ls /tmp/input/haoop1
    17/06/07 16:05:58 DEBUG util.NativeCodeLoader: Trying to load the custom-built native-hadoop library...
    17/06/07 16:05:58 DEBUG util.NativeCodeLoader: Loaded the native-hadoop library
    Found 30 items
    -rw-r--r--   1 hadoop supergroup       4942 2017-06-07 15:59 /tmp/input/haoop1/capacity-scheduler.xml
    -rw-r--r--   1 hadoop supergroup       1335 2017-06-07 15:58 /tmp/input/haoop1/configuration.xsl
    -rw-r--r--   1 hadoop supergroup        318 2017-06-07 15:59 /tmp/input/haoop1/container-executor.cfg
    -rw-r--r--   1 hadoop supergroup       1443 2017-06-07 15:59 /tmp/input/haoop1/core-site.xml
    -rw-r--r--   1 hadoop supergroup       3804 2017-06-07 16:00 /tmp/input/haoop1/hadoop-env.cmd
    -rw-r--r--   1 hadoop supergroup       4755 2017-06-07 16:00 /tmp/input/haoop1/hadoop-env.sh
    -rw-r--r--   1 hadoop supergroup       2490 2017-06-07 15:58 /tmp/input/haoop1/hadoop-metrics.properties
    -rw-r--r--   1 hadoop supergroup       2598 2017-06-07 15:59 /tmp/input/haoop1/hadoop-metrics2.properties
    -rw-r--r--   1 hadoop supergroup       9683 2017-06-07 16:00 /tmp/input/haoop1/hadoop-policy.xml
    -rw-r--r--   1 hadoop supergroup       1527 2017-06-07 15:58 /tmp/input/haoop1/hdfs-site.xml
    -rw-r--r--   1 hadoop supergroup       1449 2017-06-07 15:59 /tmp/input/haoop1/httpfs-env.sh
    -rw-r--r--   1 hadoop supergroup       1657 2017-06-07 15:59 /tmp/input/haoop1/httpfs-log4j.properties

    ........

    路径可以使用uri,例如  hadoop distcp hdfs://bigdata.lzf:9001/tmp/input/hadoop  hdfs://bigdata.lzf:9001/tmp/input/hadoop1

    源可以是多个 例如  hadoop distcp hdfs://bigdata.lzf:9001/tmp/input/hadoop   hdfs://bigdata.lzf:9001/tmp/input/test   hdfs://bigdata.lzf:9001/tmp/input/hadoop1

    注意:复制的总是提示

    17/06/07 16:09:52 INFO Configuration.deprecation: io.sort.mb is deprecated. Instead, use mapreduce.task.io.sort.mb
    17/06/07 16:09:52 INFO Configuration.deprecation: io.sort.factor is deprecated. Instead, use mapreduce.task.io.sort.factor

    这个不用管,通过8099的配置可以看到,使用的是 mapreduce.task.io.sort.mb,mapreduce.task.io.sort.factor


    1.6 fs

    这个是比较常用的一个命令,和hdfs dfs基本等价,但还是有一些区别。

    http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-common/FileSystemShell.html

    说明很详细,用法很简单。

    •appendToFile
    •cat
    •checksum
    •chgrp
    •chmod
    •chown
    •copyFromLocal
    •copyToLocal
    •count
    •cp
    •createSnapshot
    •deleteSnapshot
    •df
    •du
    •dus
    •expunge
    •find
    •get
    •getfacl
    •getfattr
    •getmerge
    •help
    •ls
    •lsr
    •mkdir
    •moveFromLocal
    •moveToLocal
    •mv
    •put
    •renameSnapshot
    •rm
    •rmdir
    •rmr
    •setfacl
    •setfattr
    •setrep
    •stat
    •tail
    •test
    •text
    •touchz
    •truncate
    •usage
    这些参数很容易阅读理解,和linux的常见文件系统命令基本一致。

    这里介绍几个有意思,且常用的。

    从本地文件系统复制数据到hadoop uri

    hadoop fs -copyFromLocal <localsrc> URI

    这个命令很多情况下等同于put,只不过前者只能在本地文件系统下用。

    例如:

    [hadoop@bigdata ~]$ hadoop fs -copyFromLocal start-hadoop.sh  /log
    17/06/07 17:10:21 DEBUG util.NativeCodeLoader: Trying to load the custom-built native-hadoop library...
    17/06/07 17:10:21 DEBUG util.NativeCodeLoader: Loaded the native-hadoop library

    --通过uri,强制覆盖

    [hadoop@bigdata ~]$ hadoop fs -copyFromLocal -f  start-hadoop.sh  hdfs://bigdata.lzf:9001/log
    17/06/07 17:12:03 DEBUG util.NativeCodeLoader: Trying to load the custom-built native-hadoop library...
    17/06/07 17:12:03 DEBUG util.NativeCodeLoader: Loaded the native-hadoop library

     

     

     

     

     

     

     

     

     

    复制uri中文件到本地copyToLocal

    hadoop fs -copyToLocal [-ignorecrc] [-crc] URI <localdst>

    命令等同于get,只不过只能复制到本地中而已。

    例如

    hadoop fs -copyToLocal -f  hdfs://bigdata.lzf:9001/log/start-hadoop.sh /home/hadoop/testdir

    计数count

    hadoop fs -count [-q] [-h] [-v] [-x] [-t [<storage type>]] [-u] <paths>

    这个命令还是挺有用的。

    Count the number of directories, files and bytes under the paths that match the specified file pattern. Get the quota and the usage. The output columns with -count are: DIR_COUNT, FILE_COUNT, CONTENT_SIZE, PATHNAME

    计算目录,文件个数和字节数

    例如:

    [hadoop@bigdata ~]$ hadoop fs -count /tmp/input/hadoop
    17/06/07 17:41:04 DEBUG util.NativeCodeLoader: Trying to load the custom-built native-hadoop library...
    17/06/07 17:41:04 DEBUG util.NativeCodeLoader: Loaded the native-hadoop library
               1           30              83564 /tmp/input/hadoop

    通过这个命令,了解下存储的文件情况。

    复制cp

    Usage: hadoop fs -cp [-f] [-p | -p[topax]] URI [URI ...] <dest>

    目标必须是目录,源可以多个。

    和distcp有点类似,不过这个只能在同个hadoop集群内? 且distcp需要使用mapreduce

    例如:

    hadoop fs -cp /tmp/input/hadoop1/hadoop/*.* /tmp/input/hadoop

    创建快照

    http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-hdfs/HdfsSnapshots.html

    主要功能是备份

    删除快照

    显示可用空间df

    hadoop fs -df [-h] URI [URI ...]

    [hadoop@bigdata ~]$ hadoop fs -df -h /
    17/06/07 17:51:31 DEBUG util.NativeCodeLoader: Trying to load the custom-built native-hadoop library...
    17/06/07 17:51:31 DEBUG util.NativeCodeLoader: Loaded the native-hadoop library
    Filesystem                 Size   Used  Available  Use%
    hdfs://bigdata.lzf:9001  46.5 G  1.5 M     35.8 G    0%

    计算目录字节大小du

    hadoop fs -du [-s] [-h] [-x] URI [URI ...]

    部分功能可以用count替代

    [hadoop@bigdata ~]$ hadoop fs -du -h /
    17/06/07 17:52:56 DEBUG util.NativeCodeLoader: Trying to load the custom-built native-hadoop library...
    17/06/07 17:52:56 DEBUG util.NativeCodeLoader: Loaded the native-hadoop library
    0      /input
    63     /log
    0      /test
    1.0 M  /tmp
    9      /warehouse
    [hadoop@bigdata ~]$ hadoop fs -du -h -s /
    17/06/07 17:53:19 DEBUG util.NativeCodeLoader: Trying to load the custom-built native-hadoop library...
    17/06/07 17:53:19 DEBUG util.NativeCodeLoader: Loaded the native-hadoop library
    1.0 M  /
    [hadoop@bigdata ~]$

    参数基本同Linux的

    清空回收站数据expunge

    hadoop fs -expunge

    永久删除过期的文件,并创建新的检查点。 检查点比fs.trash.interval老的数据,会再下次的这个操作的时候清空。

    查找find

    hadoop fs -find <path> ... <expression> ...

    查找根据文件名称查找,而不是文件内容。

    [hadoop@bigdata ~]$ hadoop fs -find / -name hadoop  -print
    17/06/08 11:59:04 DEBUG util.NativeCodeLoader: Trying to load the custom-built native-hadoop library...
    17/06/08 11:59:04 DEBUG util.NativeCodeLoader: Loaded the native-hadoop library
    /tmp/hadoop-yarn/staging/hadoop
    /tmp/hadoop-yarn/staging/history/done_intermediate/hadoop
    /tmp/hive/hadoop
    /tmp/input/hadoop
    /tmp/input/hadoop1/hadoop

    或者 使用iname(不考虑大小写)

     hadoop fs -find / -iname hadoop  -print  

    [hadoop@bigdata ~]$ hadoop fs -find / -name hadooP  -print
    17/06/08 12:00:59 DEBUG util.NativeCodeLoader: Trying to load the custom-built native-hadoop library...
    17/06/08 12:00:59 DEBUG util.NativeCodeLoader: Loaded the native-hadoop library
    [hadoop@bigdata ~]$ hadoop fs -find / -iname hadooP  -print
    17/06/08 12:01:06 DEBUG util.NativeCodeLoader: Trying to load the custom-built native-hadoop library...
    17/06/08 12:01:06 DEBUG util.NativeCodeLoader: Loaded the native-hadoop library
    /tmp/hadoop-yarn/staging/hadoop
    /tmp/hadoop-yarn/staging/history/done_intermediate/hadoop
    /tmp/hive/hadoop
    /tmp/input/hadoop
    /tmp/input/hadoop1/hadoop

     

    下载文件到本地get

    类似于copyToLocal.但有crc校验

    hadoop fs -get [-ignorecrc] [-crc] [-p] [-f] <src> <localdst>

    例如:

    hadoop fs -get /tmp/input/hadoop/*.xml /home/hadoop/testdir/

    查看文件或者目录属性 getfattr

    hadoop fs -getfattr [-R] -n name | -d [-e en] <path>

    -n name和 -d是互斥的,-d表示获取所有属性。-R表示循环获取; -e en 表示对获取的内容编码,en的可以取值是 “text”, “hex”, and “base64”.

    例如

    hadoop fs -getfattr -d /file

    hadoop fs -getfattr -R -n user.myAttr /dir

    从实际例子看,暂时不知道有什么特别用处。

     

    合并文件getmerge

    hadoop fs -getmerge -nl  /src  /opt/output.txt

    hadoop fs -getmerge -nl  /src/file1.txt /src/file2.txt  /output.txt

    例如:

    hadoop fs -getmerge -nl /tmp/input/hadoop/hadoop-env.sh /tmp/input/hadoop/slaves /home/hadoop/testdir/merget-test.txt

    注:目标是本地文件,不是uri文件

    罗列文件列表ls

    hadoop fs -ls [-C] [-d] [-h] [-q] [-R] [-t] [-S] [-r] [-u] <args>

    mkdir hadoop fs -mkdir [-p] <paths>   --创建目录

    moveFromLocal  hadoop fs -moveFromLocal <localsrc> <dst>  --从本地上传,类似Put

    集群内移动目录mv   

    hadoop fs -mv URI [URI ...] <dest>    

    源可以是多个。

    例如  hadoop fs -mv /tmp/input/hadoop1/hadoop/slaves /tmp/input/hadoop1/

    上传文件put

    hadoop fs -put  [-f] [-p] [-l] [-d] [ - | <localsrc1>  .. ]. <dst>

    类似于copyFromLocal

    删除文件rm      hadoop fs -rm [-f] [-r |-R] [-skipTrash] [-safely] URI [URI ...]

    删除目录rmdir  hadoop fs -rmdir [--ignore-fail-on-non-empty] URI [URI ...]

    显示文件部分内容tail  hadoop fs -tail [-f] URI 

    其余略


    1.7 jar

    使用hadoop来运行一个jar

    hadoop jar <jar> [mainClass] args...

    但hadoop建议使用yarn jar 来替代hadoop jar

    yarn jar的命令参考   http://hadoop.apache.org/docs/r2.8.0/hadoop-yarn/hadoop-yarn-site/YarnCommands.html#jar


    1.8 key

    管理密匙供应商的密匙

    具体略
    1.9 trace

    查看和修改跟踪设置,具体参考  http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-common/Tracing.html
    1.10 version

    查看版本信息

    hadoop version


    1.11 CLASSNAME

    利用hadoop运行某个类

    语法:hadoop CLASSNAME

    以下内容来自 http://www.thebigdata.cn/Hadoop/1924.html

    使用hadoop CLASSNAM之前,你需要设置HADOOP_CLASSPATH.

    export HADOOP_CLASSPATH=/home/hadoop/jardir/*.jar:/home/hadoop/workspace/hdfstest/bin/

    其中/home/hadoop/jardir/包含了我所有的hadoop的jar包。

    /home/hadoop/workspace/hdfstest/bin/就是我的开发class的所在目录。

    我使用eclipse写java开发,由于eclipse有自动编译的功能,写好之后,就可以直接在命令行运行hadoop CLASSNAME的命令:hadoop FileSystemDoubleCat hdfs://Hadoop:8020/xstartup

    你同样可以将你的工程打成runable jar包(将所有的jar包打包)。 然后运行hadoop jar jar包名 类型 参数1 。 每一次都要打成jar包,这对于测试来说极不方便的。。。

    这个主要就是为了方便开发人员测试的。

     

    第二部分 hdfs 命令

    直接在cli下输入hdfs可以获得官方的帮助

      dfs                     run a filesystem command on the file systems supported in Hadoop.
      classpath            prints the classpath
      namenode -format     format the DFS filesystem
      secondarynamenode    run the DFS secondary namenode
      namenode             run the DFS namenode
      journalnode          run the DFS journalnode
      zkfc                     run the ZK Failover Controller daemon
      datanode             run a DFS datanode
      debug                  run a Debug Admin to execute HDFS debug commands
      dfsadmin             run a DFS admin client
      haadmin              run a DFS HA admin client
      fsck                    run a DFS filesystem checking utility
      balancer             run a cluster balancing utility
      jmxget               get JMX exported values from NameNode or DataNode.
      mover                run a utility to move block replicas across
                               storage types
      oiv                    apply the offline fsimage viewer to an fsimage
      oiv_legacy           apply the offline fsimage viewer to an legacy fsimage
      oev                  apply the offline edits viewer to an edits file
      fetchdt              fetch a delegation token from the NameNode
      getconf              get config values from configuration
      groups               get the groups which users belong to
      snapshotDiff         diff two snapshots of a directory or diff the
                           current directory contents with a snapshot
      lsSnapshottableDir   list all snapshottable dirs owned by the current user
          Use -help to see options
      portmap              run a portmap service
      nfs3                 run an NFS version 3 gateway
      cacheadmin           configure the HDFS cache
      crypto               configure HDFS encryption zones
      storagepolicies      list/get/set block storage policies
      version              print the version

      或者直接通过 http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-hdfs/HDFSCommands.html  获得官方的帮助

     

    需要阅读的内容太多,先提供一个清单,简要说明每个命令是做什么,并重点介绍几个内容

    命令语法功能概要描述
    classpathhdfs classpath [--glob |--jar <path> |-h |--help]获取jar包或者库的有关类路径
    dfshdfs dfs [COMMAND [COMMAND_OPTIONS]]等同于hadoop fs 命令
    fetchdthdfs fetchdt <opts> <token_file_path>从名称节点获取代理令牌
    fsckhdfs fsck <path>
              [-list-corruptfileblocks |
              [-move | -delete | -openforwrite]
              [-files [-blocks [-locations | -racks | -replicaDetails]]]
              [-includeSnapshots]
              [-storagepolicies] [-blockId <blk_Id>]

    运行hdfs文件系统检验

    管理员有必要常常执行这个命令

    getconf  

    hdfs getconf -namenodes
    hdfs getconf -secondaryNameNodes
    hdfs getconf -backupNodes
    hdfs getconf -includeFile
    hdfs getconf -excludeFile
    hdfs getconf -nnRpcAddresses
    hdfs getconf -confKey [key]

    获取配置信息
    groups    hdfs groups [username ...]获取用户的组信息
    lsSnapshottableDir  hdfs lsSnapshottableDir [-help]获取快照表目录
    jmxget hdfs jmxget [-localVM ConnectorURL | -port port | -server mbeanserver | -service service]

    从特定服务获取jmx信息

    原文用的是dump/倒出

    oev

     hdfs oev [OPTIONS] -i INPUT_FILE -o OUTPUT_FILE

    参考 http://lxw1234.com/archives/2015/08/442.htm

    离线编辑查看器
    oiv

      hdfs oiv [OPTIONS] -i INPUT_FILE

    参考  http://lxw1234.com/archives/2015/08/440.htm

    离线映像编辑查看器
    snapshotDiff

     hdfs snapshotDiff <path> <fromSnapshot> <toSnapshot>

    具体参考 http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-hdfs/HdfsSnapshots.html#Get_Snapshots_Difference_Report

    比较不同快照的差异
    version hdfs version查看版本信息
    balancer

      hdfs balancer
              [-threshold <threshold>]
              [-policy <policy>]
              [-exclude [-f <hosts-file> | <comma-separated list of hosts>]]
              [-include [-f <hosts-file> | <comma-separated list of hosts>]]
              [-source [-f <hosts-file> | <comma-separated list of hosts>]]
              [-blockpools <comma-separated list of blockpool ids>]
              [-idleiterations <idleiterations>]

    详细参考

    http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html#Balancer

    运行集群均衡

    非常重要命令

    由于各种原因,需要重新均衡数据节点。例如添加了新节点之后

    cacheadmin

     hdfs cacheadmin -addDirective -path <path> -pool <pool-name> [-force] [-replication <replication>] [-ttl <time-to-live>]

    详细参考

    http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-hdfs/CentralizedCacheManagement.html#cacheadmin_command-line_interface

    缓存管理

    非常重要命令

    官方微了这个写了一大篇的文章进行描述。

     

    datanode hdfs datanode [-regular | -rollback | -rollingupgrade rollback]

    数据节点管理

    用于启动数据节点和滚动升级中进行回滚

    dfsadmin hdfs dfsadmin [GENERIC_OPTIONS]
              [-report [-live] [-dead] [-decommissioning]]
              [-safemode enter | leave | get | wait | forceExit]
              [-saveNamespace]
              [-rollEdits]
              [-restoreFailedStorage true |false |check]
              [-refreshNodes]
              [-setQuota <quota> <dirname>...<dirname>]
              [-clrQuota <dirname>...<dirname>]
              [-setSpaceQuota <quota> [-storageType <storagetype>] <dirname>...<dirname>]
              [-clrSpaceQuota [-storageType <storagetype>] <dirname>...<dirname>]
              [-finalizeUpgrade]
              [-rollingUpgrade [<query> |<prepare> |<finalize>]]
              [-metasave filename]
              [-refreshServiceAcl]
              [-refreshUserToGroupsMappings]
              [-refreshSuperUserGroupsConfiguration]
              [-refreshCallQueue]
              [-refresh <host:ipc_port> <key> [arg1..argn]]
              [-reconfig <datanode |...> <host:ipc_port> <start |status>]
              [-printTopology]
              [-refreshNamenodes datanodehost:port]
              [-deleteBlockPool datanode-host:port blockpoolId [force]]
              [-setBalancerBandwidth <bandwidth in bytes per second>]
              [-getBalancerBandwidth <datanode_host:ipc_port>]
              [-allowSnapshot <snapshotDir>]
              [-disallowSnapshot <snapshotDir>]
              [-fetchImage <local directory>]
              [-shutdownDatanode <datanode_host:ipc_port> [upgrade]]
              [-getDatanodeInfo <datanode_host:ipc_port>]
              [-evictWriters <datanode_host:ipc_port>]
              [-triggerBlockReport [-incremental] <datanode_host:ipc_port>]
              [-help [cmd]]

    文件管理

    核心命令--至关重要

     

    haadmin    hdfs haadmin -checkHealth <serviceId>
        hdfs haadmin -failover [--forcefence] [--forceactive] <serviceId> <serviceId>
        hdfs haadmin -getServiceState <serviceId>
        hdfs haadmin -help <command>
        hdfs haadmin -transitionToActive <serviceId> [--forceactive]
        hdfs haadmin -transitionToStandby <serviceId>

    高可靠管理

    核心命令-至关重要

    journalnode

     hdfs journalnode

      参考

     http://blog.csdn.net/kiwi_kid/article/details/53514314

     http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html#Administrative_commands

     http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithNFS.html

     http://blog.csdn.net/dr_guo/article/details/50975851  --搭建ha集群参考

    运行一个名称节点见同步服务
    mover

     hdfs mover [-p <files/dirs> | -f <local file name>]

    参考 http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html#Mover_-_A_New_Data_Migration_Tool

     运行数据迁移。用于迁移压缩文件。类似于均衡器。定时均衡有关数据
     namenode hdfs namenode [-backup] |
              [-checkpoint] |
              [-format [-clusterid cid ] [-force] [-nonInteractive] ] |
              [-upgrade [-clusterid cid] [-renameReserved<k-v pairs>] ] |
              [-upgradeOnly [-clusterid cid] [-renameReserved<k-v pairs>] ] |
              [-rollback] |
              [-rollingUpgrade <rollback |started> ] |
              [-finalize] |
              [-importCheckpoint] |
              [-initializeSharedEdits] |
              [-bootstrapStandby [-force] [-nonInteractive] [-skipSharedEditsCheck] ] |
              [-recover [-force] ] |
              [-metadataVersion ]

    名称节点管理(核心命令-至关重要

    进行备份,格式化,升级,回滚,恢复等等至关重要的操作。

    nfs3

    hdfs  nfs3

    参考 http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-hdfs/HdfsNfsGateway.html#Start_and_stop_NFS_gateway_service

    启动一个nfs3网关,能够以类似操作系统文件浏览方式来浏览hdfs文件。

    通过这个东西,有的时候能够更方便地操作

    portmap

     hdfs  portmap

    参考   http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-hdfs/HdfsNfsGateway.html#Start_and_stop_NFS_gateway_service

     和nfs服务器一起使用
    secondarynamenode

     hdfs secondarynamenode [-checkpoint [force]] | [-format] | [-geteditsize]

    参考 http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html#Secondary_NameNode

     关于第二名称节点
     storagepolicies

     hdfs storagepolicies

    参考 http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html

    压缩存储策略管理

    在某些环境下很有利。也许以后不存在所谓ssd的问题,仅仅是内存还是磁盘的问题

     

     zkfc

     hdfs zkfc [-formatZK [-force] [-nonInteractive]]

    参考  http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html#Administrative_commands

    管理动物园管理员节点

    和journalnoe有关

    高可靠的重要部分

     

     debug hdfs debug verifyMeta -meta <metadata-file> [-block <block-file>] 检验hdfs的元数据和块文件。

    hdfs debug computeMeta -block <block-file> -out <output-metadata-file>

    谨慎使用,官方告警:

     Use at your own risk! If the block file is corrupt and you overwrite it’s meta file, it will show up as ‘good’ in HDFS,

    but you can’t read the data. Only use as a last measure, and when you are 100% certain the block file is good.

     通过块文件计算元数据

     hdfs debug recoverLease -path <path> [-retries <num-retries>]

    恢复租约?

    恢复特定路径的租约

     

    第三部分  yarn命令

    细节参考 http://hadoop.apache.org/docs/r2.8.0/hadoop-yarn/hadoop-yarn-site/YarnCommands.html

    下表列出命令概览

    yarn命令概览
    命令  语法和概述备注
     applicationyarn application [options]打开应用报告或者终止应用
     applicationattemptyarn applicationattempt [options]打印应用尝试报告
     classpathyarn classpath [--glob |--jar <path> |-h |--help]打印hadoop jar需要用到的类路径和库
     containeryarn container [options]打印容器信息
     jaryarn jar <jar> [mainClass] args...通过yarn运行一个jar.jar中的代码必须和yarn有关
     logsyarn logs -applicationId <application ID> [options]导出容器日志
     nodeyarn node [options]打印节点报告
     queueyarn queue [options]打印队列信息
     versionyarn version 显示版本信息
    daemonlog

    yarn daemonlog -getlevel <host:httpport> <classname> 
    yarn daemonlog -setlevel <host:httpport> <classname> <level>

    例如:

    bin/yarn daemonlog -setlevel 127.0.0.1:8088 org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppImpl DEBUG

    获取/设置类的日志级别
     nodemanageryarn nodemanager启动yarn的节点管理器
     proxyserveryarn proxyserver启动web代理服务器
     resourcemanageryarn resourcemanager [-format-state-store]启动yarn资源管理亲戚
     rmadmin Usage: yarn rmadmin
         -refreshQueues
         -refreshNodes [-g [timeout in seconds]]
         -refreshNodesResources
         -refreshSuperUserGroupsConfiguration
         -refreshUserToGroupsMappings
         -refreshAdminAcls
         -refreshServiceAcl
         -getGroups [username]
         -addToClusterNodeLabels <"label1(exclusive=true),label2(exclusive=false),label3">
         -removeFromClusterNodeLabels <label1,label2,label3> (label splitted by ",")
         -replaceLabelsOnNode <"node1[:port]=label1,label2 node2[:port]=label1,label2"> [-failOnUnknownNodes]
         -directlyAccessNodeLabelStore
         -refreshClusterMaxPriority
         -updateNodeResource [NodeID] [MemSize] [vCores] ([OvercommitTimeout])
         -transitionToActive [--forceactive] <serviceId>
         -transitionToStandby <serviceId>
         -failover [--forcefence] [--forceactive] <serviceId> <serviceId>
         -getServiceState <serviceId>
         -checkHealth <serviceId>
         -help [cmd]
     管理资源管理器
     scmadmin

    yarn scmadmin [options]

    yarn scmadmin  -runCleanerTask

     执行共享缓存管理
     sharedcachemanageryarn sharedcachemanager 启动共享缓存管理器
     timelineserveryarn timelineserver 启动时间线服务器    

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    第四部分  总结

    1. 有很多重要的命令

    2. 了解所有这些命令,必须耗费许多时间,并必须在一个完善的环境下进行!

    3. 不要在blog中插入太多表格,否则会倒霉的。

     

    转载于:https://www.cnblogs.com/lzfhope/p/6952869.html

    展开全文
  • 搭建hadoopHDFS

    2018-08-05 22:31:26
    HDFS是什么:HDFSHadoop分布式文件系统(Hadoop分布式文件系统); HDFS干什么:以流式数据访问模式来存储超大文件,运行于商用硬件集群上,是管理网络中跨多台计算机存储的文件系统; HDFS缺点:要求低时间...
  • 异常信息: ...Exception in thread "main" java.lang.IllegalAccessError: class org.apache.hadoop.hdfs.web.HftpFileSystem cannot access its superinterface org.apache.hadoop.hdfs.web.TokenAspect$...
  • HadoopHDFS Edits和Fsimage机制详解 概述 fsimage镜像文件包含了整个HDFS文件系统的所有目录和文件的indoe(节点)信息,比如:/node01/node,会记录每个节点nodeid,以及节点之间父子路径。 以及文件名,文件...
  • HadoopHDFS基础编程

    2021-04-08 10:09:08
    目录 具体流程: 1.在Linux中安装Eclipse 2.创建Eclipse项目 3.编写java程序 4.启动Hadoop ...5.执行Eclispse中的HDFSFileIfExist.java文件 ...(1)启动Eclipse,系统默认工作空间是“/home/hadoop..
  • hadoop以及hdfs概括

    2019-09-29 07:25:56
    视频、ppt2)传输层:1.Sqoop:数据库导入导出2.Flume处理读写日志 3.Kafka缓存数据3)存储层:1.HDFS 存储数据 2.kafka也能存储一部分 3.hbase 键值对 4)资源管理层:yarn负责调度磁盘、内存。5)数据计算层:1....
  • Hadoophdfs 上拷出文件到本地,出现权限不够:hadoop fs -copyToLocal /user/hadoop/test1215.txt Test/ copyToLocal: /test1215.txt._COPYING_ (权限不够)**有可能是以下情况:** 1.hdfs上的要拷下来的文件...
  • HadoopHDFS介绍和操作

    千次阅读 2018-04-24 22:49:53
    一、HDFS概述 HDFSHadoop Distributed File System):分布式文件系统二、操作HDFS 1、通过Web Console:50070、50090 2、命令行 (1)操作命令 hdfs dfs **** -mkdir 创建目录 ...
  • Exception in thread "main" java.lang.IllegalAccessError: class org.apache.hadoop.hdfs.web.HftpFileSystem cannot access its superinterface org.apache.hadoop.hdfs.web.TokenAspect$TokenManagementDe...
  • 大数据知识梳理(HadoopHDFS)(更新中。。。) 第1讲 大数据概述1.1 大数据时代1.2 大数据概念和影响1.3 大数据的应用1.4 大数据的关键技术1.5 大数据与云计算、物联网 第2讲 大数据处理架构Hadoop2.1 概述2.2 Hadoop...
  • HadoopHDFS(理论篇)

    千次阅读 2018-09-03 23:53:23
    1、初识HDFS HDFS作为一个分布式文件系统,具有高容错的特点,它可以部署在廉价的通用硬件上,提供高吞吐率的数据访问,适合那些需要处理海量数据集的应用程序。HDFS没有遵循可移植操作系统接口(Portable ...
  • java.lang.IllegalAccessError: class org.apache.hadoop.hdfs.web.HftpFileSystem cannot access its superinterface org.apache.hadoop.hdfs.web.TokenAspect$TokenManagementDelegator 提交spark-submit报错 解决...
  • HadoopHDFS 、MR 、HIVE等通俗理解

    千次阅读 2019-07-08 17:56:00
    Hadoop HIVE HBASE KAFKA FLUME STORM SCALA SPARK Hadoop HDFS MapReduce HDSF:分布式文件系统 简单理解就是存储文件的系统,就像百度云盘一样的东西。我们搭建好HDFS就相当于自己做了一个...
  • ES-Hadoop是Elasticsearch推出的专门用于对接...对于一些较复杂的分析任务,需要通过MapReduce任务读取HDFS上的JSON文件,写入Elasticsearch集群。本文介绍如何通过ES-Hadoop,借助MapReduce任务向Elasticsearch写
  • hdfs-高级命令文件夹内文件数量限制文件夹内存储空间大小限制进入退出安全模式 文件夹内文件数量限制 设置数量:hdfs dfsadmin -setQuota 2 /aa 取消设置:hdfs dfsadmin -clrQuota /aa 文件夹内存储空间大小限制 ...
  • Hadoop-HDFS的特点

    千次阅读 2016-05-14 17:02:43
    欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: ...导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
  • 这是Hadoop中目录share/hadoop中找不到hdfs文件夹中的jar包 [root@master hadoop]# bin/hdfs namenode -format Error: Could not find or load main class org.apache.hadoop.hdfs.server.namenode.NameNode 可以用...
  • 大数据技术原理与应用1HadoopHDFS

    千次阅读 2018-11-01 17:59:08
    第2讲 大数据处理架构Hadoop 2.1 概述 2.2 Hadoop项目结构 2.3 Hadoop的安装与使用 2.4 Hadoop集群的部署和使用 第3讲 分布式文件系统HDFS 3.1 分布式文件系统HDFS简介 3.2 HDFS相关概念 3.3...
  • python大数据基础知识点 ***概述 起源:Google 3篇论文 GFS ,MapReduce ,BigTable Doug Cutting 写 Hadoop HDFS - GFS, MapReduce -- MapRe...
  • Hadoop-草稿欢迎使用Markdown编辑器前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成...
  • HDFS概述1、HDFS定义2、HDFS的使用场景3、HDFS的组成架构4、HDFS的文件块大小二、HDFS的shell操作HDFS的客户端操作新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一...
  • 数据准备 通过HDFS 命令方式将本地words.txt文件上传到HDFS上 ...[root@node1 ~]# hdfs dfs -mkdir /input[root@node1 ~]# hdfs dfs -ls /input[root@node1 ~]# hdfs dfs -put /root/words.txt /input[root@nod...
  • 1、HDFS API简单操作文件 package cn.ctgu.hdfs; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; import org.apache.commons.io.output....
  • import java.net.URI; import java.util.ArrayList;...import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileStatus; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.
  • Cron jobs can be scheduled, but fail to write parquet file and seems due to user permission of “yarn”...: org.apache.hadoop.security.AccessControlException: Permission denied: user=yarn, access=WRIT...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,547
精华内容 5,818
关键字:

hadoop导出hdfs