搜档网
当前位置:搜档网 › Hadoop试题题库

Hadoop试题题库

Hadoop试题题库
Hadoop试题题库

1.以下哪一项不属于 A. 单机(本地)模式 B. 伪分布式模式

C. 互联模式

D. 分布式模式

Hadoop 可以运行的模式

2. Hado op 的作者是下面哪一位 A. Marti n Fowler B. Doug cutt ing C. Kent Beck D. Grace Hopper

A. TaskTracker

B. DataNode

C. Secon daryNameNode

D. Jobtracker

4. HDFS 默认Block Size 的大小是

A. 32MB

B. 64MB

C. 128MB

D. 256M

5.下列哪项通常是集群的最主要瓶颈 A. CPU

8. HDFS 是基于流数据模式访问和处理超大文件的需求而开发的,具有高容错、高可靠性、 高可扩展性、高吞吐率等特征,适合的读写任务是

_D ______ o

3.下列哪个程序通常与

NameNode 在同一个节点启动

B. C. D. 网络 磁盘IO 内存

6. F 列关于 A. Map Reduce B. Map Reduce C. Map Reduce D. Map Reduce

Map Reduce 说法不正确的是 _

是一种计算框架

来源于google 的学术论文 程序只能用

java 语言编写

隐藏了并行计算的细节,方便使用

A.—次写入,

B.多次写入,

C.多次写入,

D.—次写入,少次读少次读

7. HBase依靠 A ________ 存储底层数据。

A. HDFS

B.Hadoop

C.Memory

D. Map Reduce

8. HBase依赖 D 提供强大的计算能力。

A. Zookeeper

B.Chubby

C.RPC

D. Map Reduce

9. HBase依赖 A 提供消息通信机制

A.Zookeeper

B.Chubby

C. RPC

D. Socket

10.下面与 HDFS类似的框架是

A. NTFS

B. FAT32

C. GFS

D. EXT3

11.关于 SecondaryNameNode 下面哪项是正确的

A.它是NameNode的热备

B.它对内存没有要求

C.它的目的是帮助 NameNode合并编辑日志,减少NameNode启动时间

D.SecondaryNameNode 应与 NameNode 部署到一个节点

12.大数据的特点不包括下面哪一项巨大

的数据量多结构化数据

A.

B.

C.

D. 增长速度快价值密度高

HBase测试题

9. HBase 来源于哪一项?C

A Zookeeper

B Chubby

C RPC

D Map Reduce

17. Map Reduce A 两者不可或缺,

B 两者不是强关联关系,没有

C MapReduce 可以直接访问

D 它们之间没有任何关系

HBase 的关系,哪些描述是正确的? MapReduce 是HBase 可以正常运行的保证

Map Reduce , HBase 可以正常运行 HBase

18.下面哪些选项正确描述了 高可靠性 高性能 面向列 可伸缩

HBase 的特性? A 、 B 、C 、 D

A The Google File System

B Map Reduce

C BigTable

D Chubby

不是开源的 是面向列的 是分布式的

是一种 NoSQL 数据库

A HDFS

B Hadoop

C Memory

D Map Reduce

A Zookeeper

B Chubby

C RPC

D Socket

13.下面对 HBase 的描述哪些是正确的?

B 、

C 、D

14. HBase 依靠

存储底层数据 A

15. HBase 依赖

提供消息通信机制

16. HBase 依赖 提供强大的计算能力

C Kafka

D Chubby

20.下面与 HDFS 类似的框架是? C

A NTFS

B FAT32

C GFS

D EXT3

A HDFS

B GridFS

C Zookeeper

D EXT3

第二部分:HBase 核心知识点 22. LSM 含义是? A A 日志结构合并树 B 二叉树 C 平衡二叉树

D 基于日志结构的合并树

23.下面对LSM 结构描述正确的是? 顺序存储 直接写硬盘

需要将数据 Flush 到磁盘

是一种搜索平衡树 24. LSM 更能保证哪种操作的性能?

写 随机读

合并 25. LSM 的读操作和写操作是独立的? A 是。 B 否。

C LSM 并不区分读和写

中读写是同一种操作 26. LSM 结构的数据首先存储在() A 硬盘上

21.下面哪些概念是 HBase 框架中使用的? A 、C

D LSM

C 磁盘阵列中

D 闪存中

16 HFile 数据格式中的 A 存储实际的 KeyValue

B 存储数据的起点

C 指定字段的长度

D 存储数据块的起点

20 HFile 数据格式中的

KeyValue 数据格式中 Value 部分是()O C

拥有复杂结构的字符串 字符串 二进制数据 压缩数据

第三部分:HBase 高级应用介绍 中的批量加载底层使用()实现。 A Map Reduce B Hive C Cop rocessor D Bloom Filter

17 HFile 数据格式中的 块的长度 块的结束点

块数据内容 块的起始点

A Meta

B Meta

C Meta

D Meta

Meta In dex 字段用于()o D

18 HFile 数据格式中的 存储随机数,防止数据损坏 存储数据的起点 存储数据块的起点 指定字段的长度

19 HFile 数据格式中的 是byte[] 数组 没有固定的结构 数据的大小是定长的

有固定的结构

Magic 字段用于()

KeyValue 数据格式,下列选项描述正确的是() O A 、 D

Data 字段用于() 数据

31 HBase

27. HBase 性能优化包含下面的哪些选项? A、 B、C、 D

读优化

写优化

配置优化

A Ce ntOS

B Ubu ntu

C RedHat

D Win dows

D 最少3个 34. HBase 分布式模式最好需要()个节点?

D JVM 优化

28. Rowkey 设计的原则,下列哪些选项的描述是正确的? 尽量保证越短越好 可以使用汉字 可以使用字符串 本身是无序的

29. HBase 构建二级索引的实现方式有哪些?

A 、

B 、 C

A Map Reduce

B Cop rocessor

C Bloom Filter D

Filter

30.关于HBase 二级索引的描述,哪些是正确的? A 核心是倒排表 A 、 B

B 二级索引概念是对应 Rowkey 这个“一级”

C 二级索引使用平衡二叉树

D 二级索引使用 LSM 结构

索引

31.下列关于 Bloom Filter 的描述正确的是? A 是一个很长的二进制向量和一系列随机映射函数 B 没有误算率 C 有一定的误算率 D 可以在 Bloom Filter 第四部分: 中删除元素

HBase 安装、部署、启动

A 、

32. HBase 官方版本可以安装在什么操作系统上?

A 、

B 、 C

33. HBase

虚拟分布式模式需要()个节点?

D最少

关于hadoop 的选择题 1、Doug Cutting 所创立的项目的名称都受到其家人的启发,以下项目不是由他 创立的项目是

答案:D

配置Hadoop 时,JAVA_HOM 包 含在哪一个配置文件中

答案:B 知识点:hadoop 配置

3、Hadoop 配己置文件中, hadoop-site.xml 显示覆盖 hadoop-default.xml A. Hadoop B ? Nutch C. Lucene D. Soir

2、 A. hado op-default.xml B. hado op-en v.sh C. hado op-site.xml D. con figurati on.xsl

里的内

容。在版本0.20中,hadoop-site.xml 被分离成三个 XML文件,不包括

A. con f-site.xml

B. map red-site.xml

C. core-site.xml

D. hdfs-site.xml 答案:A 知识点:hadoop 配置

4、HDFS 默认的当前工作目录是 /user/$USER ,https://www.sodocs.net/doc/185113431.html, 的值需要在哪个

配置文件内说明

答案:B 知识点:hadoop 配置

5、关于Hadoop 单机模式和伪分布式模式的说法,正确的是

后者比前者增加了 HDFS 输入输出以及可检查内存使用情况

答案:

知识点:hadoop 配置

6、下列关于Hadoop API 的说法错误的是

A. map red-site.xml

B. core-site.xml

C. hdfs-site.xml

D. 以上均不是

A. 两者都起守护进程,且守护进程运行在一台机器上

B. 单机模式不使用 HDFS ,但加载守护进程

C.

两者都不与守护进程交互,避免复杂性

D.

HadooP 的文件API 不是通用的,只用于 HDFS 文件系统

答案:A

//HDFS 7、HDFS 的NameNode 负责管理文件系统的命名空间,将所有的文件和文件夹的 元数据保存在一个文件系统树中,这些信息也会在硬盘上保存成以下文件: A. 日志 B ?命名空间镜像

C.两者都是 答案:C 知识点:

& HDFS 的name node 保存了一个文件包括哪些数据块, 分布在哪些数据节点上, 这

些信息也存储在硬盘 A ?正确

B ?错误 答案:B 知识点:在系统启动的时候从数据节点收集而成的

A ?

B ? Con figurati on 类的默认实例化方法是以 HDFS 系统的资源配置为基础的 C. FileStatus 对象存储文件和目录的元数据 D. FSDataInputStream

是 java.io.DataInputStream

的子类

9、Secondary namenode 就是 namenode 出现问题时的备用节点 A ?正确 B ?错误 答案:B

镜像文件也在 Seco ndary name node 保存了一份,以防 name node 失败的时候,可 以恢复。

10、出现在 data node 的 VERSION 文件格式中但不出现在 name node 的 VERSION

文件格式中的是

答案:B

知识点:其他三项是公有的。

layoutVersion 是一个负整数,保存了

HDFS 的持

storageT ype 表示此文件夹中保存的是数据

节点的类型

知识点:它和元数据节点负责不同的事情。 其主要功能就是周期性将元数据节点

的命名空间镜像文件和修改日志合并,

以防日志文件过大。 合并过后的命名空间

A. n ames pacelD

B. storagelD

C. storageT ype

D. layoutVersio n

续化在硬盘上的数据结构的格式版本号;

namespacelD 是文件系统的唯一标识符, 是在文件系统初次格式化时生成的;

11、Clie nt在HDFS上进行文件写入时,name node根据文件大小和配置情况,

回部分data node 信息,谁负责将文件划分为多个 Block ,根据DataNode 的地址

答案:A 知识点:HDFS 文件写入

12、HDFS 的是基于流数据模式访问和处理超大文件的需求而开发的,默认的最 基本的存储单位是 64M ,具有高容错、高可靠性、高可扩展性、高吞吐率等特征, 适合的读写任务是 A. —次写入,少次读写 B ?多次写入,少次读写 C. 一次与入,多次读与

D ?多次写入,多次读写 答案:C 知识点:HDFS 特性

无法高效存储大量小文件,想让它能处理好小文件,比较可行的改进 策略不包括 SequenceFile 、MapFile 、Har 等方式归档小文件

信息,按顺序写入到每一个 DataNode 块

A. Clie nt B ? Name node C ? Data node

D. Secon dary n ame node

13、HDFS A.

利用

答案: 知识点:在 HDFS 的一个文件中只有一个写入者,而且写操作只能在文件末尾完 成,即只能执行追加操作。 默认三份文件块两块在同一机架上, 他机架

B. 目录

C. 两者都是 答案:C 知识点:HDFS 命令

B ? 多Master 设计

C ? Block 大小适当调小 D.

调大name node 内存或将文件系统元数据存到硬盘里

答案:D

知识点:HDFS 特性

14、 关于HDFS 的文件写入,正确的是 A. 支持多用户对同一文件的写操作 B. 用户可以在文件任意位置进行修改 C. 默认将文件块复制成三份存放 D.

复制的文件块默认都存在同一机架上

另一份存放在其

15、Hadoop fs 中的-get 和-put 命令操作对象是 A ? 文件

A. 实现Writable 接口的类是值

B.

实现WritableComparablevT> 接口的类可以是值或键

C. HadooP 的基本类型 Text 并不实现 WritableComparable 接口

D.

键和值的数据类型可以超出

HadooP 自身支持的基本类型

答案:C

18、 以下四个Hadoop 预定义的Mapper 实现类的描述错误的是 A. IdentityMapper

实现Mapper ,将输入直接映射到输出

Name node 在启动时自动进入安全模式,在安全模式阶段,说法错误的是

当数据块最小百分比数满足的最小副本数条件时,会自动退出安全模式

答案:

知识点:HDFS 安全模式

//Ma pReduce 、MapReduce 框架提供了一种序列化键 /值对的方法,支持这种序列化的类能

够在Map 和Reduce 过程中充当键或值,以下说法错误的是

16、 A. 安全模式目的是在系统启动时检查各个 DataNode 上数据块的有效性

B.

根据策略对数据块进行必要的复制或删除

C. D.

文件系统允许有修改

17

答案:B

知识点:每个分片不能太小, 否则启动与停止各个分片处理所需的开销将占很大 部分执行时间

20、针对每行数据内容为” Timestamp Url ”的数据文件,

设置 conf.setInputFormat(WhichInputFormat.class) WhichI np utFormat 应该为以下的

规表达式的匹配项生成一个 (match, 1)对

D. TokenCountMapper 实现 Mapper ,当输

入的值为分词时,生成 (take n, 1) 对 答案:B

知识点:InverseMapper 实现 Mapper

19、 卜列关于 HDFS 为存储Map Reduce 并行切分和处理的数据做的设计,错误的

A. FSDataInputStream 扩展了 DataInputStream 以支持随机读

B. 为实现细粒度并行,输入分片

(Input Sp lit) 应该越小越好

C. 台机器可能被指派从输入文件的任意位置开始处理一个分片

D.

输入分片是一种记录的逻辑划分,

而 HDFS 数据块是对输入数据的物理分割

在用JobConf 对象conf 来读取这个文件时,

A ? TextI npu tFormat

hadoop学习课程介绍

云凡教育Hadoop网络培训第二期 开课时间:2014年1月20日 授课方式:YY在线教育+课程视频+资料、笔记+辅导+推荐就业 YY教育平台:20483828 课程咨询:1441562932 大胃 云凡教育Hadoop交流群:306770165 费用: 第二期优惠特价:999元; 授课对象: 对大数据领域有求知欲,想成为其中一员的人员 想深入学习hadoop,而不只是只闻其名的人员 基础技能要求: 具有linux操作一般知识(因为hadoop在linux下跑) 有Java基础(因为hadoop是java写的并且编程也要用java语言) 课程特色 1,以企业实际应用为向导,进行知识点的深入浅出讲解; 2,从零起步,循序渐进,剖析每一个知识; 3,萃取出实际开发中最常用、最实用的内容并以深入浅出的方式把难点化于无形之中 学习安排: Hadoop的起源与生态系统介绍(了解什么是大数据;Google的三篇论文;围绕Hadoop形成的一系列的生态系统;各个子项目简要介绍)

1_Linux系统环境搭建和基本命令使用 针对很多同学对linux命令不熟悉,在课程的学习中,由于命令不熟悉导致很多错误产生,所以特意增加一节linux基础课程,讲解一些常用的命令,对接下来的学习中做好入门准备; 02_Hadoop本地(单机)模式和伪分布式模式安装 本节是最基本的课程,属于入门级别,主要对Hadoop 介绍,集中安装模式,如何在linux上面单机(本地)和伪分布模式安装Hadoop,对HDFS 和MapReduce进行测试和初步认识。 03_HDFS的体系结构、Shell操作、Java API使用和应用案例 本节是对hadoop核心之一——HDFS的讲解。HDFS是所有hadoop操作的基础,属于基本的内容。对本节内容的理解直接影响以后所有课程的学习。在本节学习中,我们会讲述hdfs的体系结构,以及使用shell、java不同方式对hdfs 的操作。在工作中,这两种方式都非常常用。学会了本节内容,就可以自己开发网盘应用了。在本节学习中,我们不仅对理论和操作进行讲解,也会讲解hdfs 的源代码,方便部分学员以后对hadoop源码进行修改。 04_MapReduce入门、框架原理、深入学习和相关MR面试题 本节开始对hadoop核心之一——mapreduce的讲解。mapreduce是hadoop 的核心,是以后各种框架运行的基础,这是必须掌握的。在本次讲解中,掌握mapreduce执行的详细过程,以单词计数为例,讲解mapreduce的详细执行过程。还讲解hadoop的序列化机制和数据类型,并使用自定义类型实现电信日志信息的统计。最后,还要讲解hadoop的RPC机制,这是hadoop运行的基础,通过该节学习,我们就可以明白hadoop是怎么明白的了,就不必糊涂了,本节内容特别重要。 05_Hadoop集群安装管理、NameNode安全模式和Hadoop 1.x串讲复习 hadoop就业主要是两个方向:hadoop工程师和hadoop集群管理员。我们课程主要培养工程师。本节内容是面向集群管理员的,主要讲述集群管理的知

hadoop基本操作指令

Hadoop基本操作指令 假设Hadoop的安装目录HADOOP_HOME为/home/admin/hadoop,默认认为Hadoop环境已经由运维人员配置好直接可以使用 启动与关闭 启动Hadoop 1. 进入HADOOP_HOME目录。 2. 执行sh bin/start-all.sh 关闭Hadoop 1. 进入HADOOP_HOME目录。 2. 执行sh bin/stop-all.sh 文件操作 Hadoop使用的是HDFS,能够实现的功能和我们使用的磁盘系统类似。并且支持通配符,如*。 查看文件列表 查看hdfs中/user/admin/aaron目录下的文件。 1. 进入HADOOP_HOME目录。 2. 执行sh bin/hadoop fs -ls /user/admin/aaron 这样,我们就找到了hdfs中/user/admin/aaron目录下的文件了。 我们也可以列出hdfs中/user/admin/aaron目录下的所有文件(包括子目录下的文件)。 1. 进入HADOOP_HOME目录。 2. 执行sh bin/hadoop fs -lsr /user/admin/aaron 创建文件目录 查看hdfs中/user/admin/aaron目录下再新建一个叫做newDir的新目录。 1. 进入HADOOP_HOME目录。 2. 执行sh bin/hadoop fs -mkdir /user/admin/aaron/newDir 删除文件 删除hdfs中/user/admin/aaron目录下一个名叫needDelete的文件 1. 进入HADOOP_HOME目录。 2. 执行sh bin/hadoop fs -rm /user/admin/aaron/needDelete 删除hdfs中/user/admin/aaron目录以及该目录下的所有文件

hadoop基本命令_建表-删除-导数据

HADOOP表操作 1、hadoop简单说明 hadoop 数据库中的数据是以文件方式存存储。一个数据表即是一个数据文件。hadoop目前仅在LINUX 的环境下面运行。使用hadoop数据库的语法即hive语法。(可百度hive语法学习) 通过s_crt连接到主机。 使用SCRT连接到主机,输入hive命令,进行hadoop数据库操作。 2、使用hive 进行HADOOP数据库操作

3、hadoop数据库几个基本命令 show datebases; 查看数据库内容; 注意:hadoop用的hive语法用“;”结束,代表一个命令输入完成。 usezb_dim; show tables;

4、在hadoop数据库上面建表; a1: 了解hadoop的数据类型 int 整型; bigint 整型,与int 的区别是长度在于int; int,bigint 相当于oralce的number型,但是不带小数点。 doubble 相当于oracle的numbe型,可带小数点; string 相当于oralce的varchar2(),但是不用带长度; a2: 建表,由于hadoop的数据是以文件有形式存放,所以需要指定分隔符。 create table zb_dim.dim_bi_test_yu3(id bigint,test1 string,test2 string)

row format delimited fields terminated by '\t' stored as textfile; --这里指定'\t'为分隔符 a2.1 查看建表结构: describe A2.2 往表里面插入数据。 由于hadoop的数据是以文件存在,所以插入数据要先生成一个数据文件,然后使用SFTP将数据文件导入表中。

Hadoop 学习笔记

Hadoop 在Hadoop上运行MapReduce命令 实验jar:WordCount.jar 运行代码:root/……/hadoop/bin/hadoop jar jar包名称使用的包名称input(输入地址) output(输出地址) 生成测试文件:echo -e "aa\tbb \tcc\nbb\tcc\tdd" > ceshi.txt 输入地址:/data2/u_lx_data/qiandongjun/eclipse/crjworkspace/input 输出地址:/data2/u_lx_data/qiandongjun/eclipse/crjworkspace/output 将测试文件转入输入文件夹:Hadoop fs -put ceshi.txt /data2/u_lx_data/qiandongjun/eclipse/crjworkspace/input/ceshi.txt 运行如下代码:hadoop jar /data2/u_lx_data/qiandongjun/eclipse/crjworkspace/WordCount.jar WordCount /data2/u_lx_data/qiandongjun/eclipse/crjworkspace/input/ceshi.txt /data2/u_lx_data/qiandongjun/eclipse/crjworkspace/output Hadoop架构 1、HDFS架构 2、MapReduce架构 HDFS架构(采用了Master/Slave 架构) 1、Client --- 文件系统接口,给用户调用 2、NameNode --- 管理HDFS的目录树和相关的的文件元数据信息以及监控DataNode的状 态。信息以“fsimage”及“editlog”两个文件形势存放 3、DataNode --- 负责实际的数据存储,并将数据定期汇报给NameNode。每个节点上都 安装一个DataNode 4、Secondary NameNode --- 定期合并fsimage和edits日志,并传输给NameNode (存储基本单位为block) MapReduce架构(采用了Master/Slave 架构) 1、Client --- 提交MapReduce 程序并可查看作业运行状态 2、JobTracker --- 资源监控和作业调度 3、TaskTracker --- 向JobTracker汇报作业运行情况和资源使用情况(周期性),并同时接 收命令执行操作 4、Task --- (1)Map Task (2)Reduce Task ——均有TaskTracker启动 MapReduce处理单位为split,是一个逻辑概念 split的多少决定了Map Task的数目,每个split交由一个Map Task处理 Hadoop MapReduce作业流程及生命周期 一共5个步骤 1、作业提交及初始化。JobClient将作业相关上传到HDFS上,然后通过RPC通知JobTracker,

入门大数据,需要学习哪些基础知识

大数据的发展历程总体上可以划分为三个重要阶段,萌芽期、成熟期和大规模应用期,20世纪90年至21世纪初,为萌芽期,随着,一批商业智能工具和知识管理技术的开始和应用,度过了数据萌芽。21世纪前十年则为成熟期,主要标志为,大数据解决方案逐渐走向成熟,形成了并行计算与分布式系统两大核心技,谷歌的GFS和MapReduce等大数据技术受到追捧,Hadoop平台开始大行期道,2010年以后,为大规模应用期,标志为,数据应用渗透各行各业,数据驱动决策,信息社会智能化程度快速提高。 数据时代的到来,也推动了数据行业的发展,包括企业使用数据获取价值,促使了大量人员从事于数据的学习,学习大数据需要掌握基础知识,接下从我的角度,为大家做个简要的阐述。 学习大数据需要掌握的知识,初期了解概念,后期就要学习数据技术,主要包括: 1.大数据概念 2.大数据的影响

3.大数据的影响 4.大数据的应用 5.大数据的产业 6.大数据处理架构Hadoop 7.大数据关键技术 8.大数据的计算模式 后三个牵涉的数据技技术,就复杂一点了,可以细说一下: 1.大数据处理架构Hadoop:Hadoop的特性、Hadoop生态系统、Hadoop 的安装与使用; 2.大数据关键技术技术:数据采集、数据存储与管理、数据处理与分析、数据隐私与安全; 3.大数据处理计算模式:批处理计算、流计算、图计算、查询分析计算

数据的核心技术就是获取数据价值,获取数据前提是,先要有数据,这就牵涉数据挖掘了。 本文内容由北大青鸟佳音校区老师于网络整理,学计算机技术就选北大青鸟佳音校区!了解校区详情可进入https://www.sodocs.net/doc/185113431.html,网站,学校地址位于北京市西城区北礼士路100号!

(完整版)hadoop例题

选择题 1、关于MapReduce的描述错误的是() A、MapReduce框架会先排序map任务的输出 B、通常,作业的输入输出都会被存储在文件系统中 C、通常计算节点和存储节点是同一节点 D、一个Task通常会把输入集切分成若干独立的数据块 2、关于基于Hadoop的MapReduce编程的环境配置,下面哪一步是不必要的() A、安装linux或者在Windows下安装Cgywin B、安装java C、安装MapReduce D、配置Hadoop参数 3、关于基于Hadoop的MapReduce编程的环境配置,下面哪一步是不必要的() A、配置java环境变量 B、配置Hadoop环境变量 C、配置Eclipse D、配置ssh 4、下列说法错误的是() A、MapReduce中maperconbiner reducer 缺一不可 B、在JobConf中InputFormat参数可以不设 C、在JobConf中MapperClass参数可以不设

D、在JobConf中OutputKeyComparator参数可以不设 5、下列关于mapreduce的key/value对的说法正确的是() A、输入键值对不需要和输出键值对类型一致 B、输入的key类型必须和输出的key类型一致 C、输入的value类型必须和输出的value类型一致 D、输入键值对只能映射成一个输出键值对 6、在mapreduce任务中,下列哪一项会由hadoop系统自动排序() A、keys of mapper's output B、values of mapper's output C、keys of reducer's output D、values of reducer's output 7、关于mapreduce框架中一个作业的reduce任务的数目,下列说法正确的是() A、由自定义的Partitioner来确定 B、是分块的总数目一半 C、可以由用户来自定义,通过JobConf.setNumReducetTask(int)来设定一个作业中reduce的任务数目 D、由MapReduce随机确定其数目 8、MapReduce框架中,在Map和Reduce之间的combiner的作用是() A、对Map的输出结果排序 B、对中间过程的输出进行本地的聚集

Hadoop 集群基本操作命令-王建雄-2016-08-22

Hadoop 集群基本操作命令 列出所有Hadoop Shell支持的命令 $ bin/hadoop fs -help (注:一般手动安装hadoop大数据平台,只需要创建一个用户即可,所有的操作命令就可以在这个用户下执行;现在是使用ambari安装的dadoop大数据平台,安装过程中会自动创建hadoop生态系统组件的用户,那么就可以到相应的用户下操作了,当然也可以在root用户下执行。下面的图就是执行的结果,只是hadoop shell 支持的所有命令,详细命令解说在下面,因为太多,我没有粘贴。) 显示关于某个命令的详细信息 $ bin/hadoop fs -help command-name (注:可能有些命令,不知道什么意思,那么可以通过上面的命令查看该命令的详细使用信息。例子: 这里我用的是hdfs用户。) 注:上面的两个命令就可以帮助查找所有的haodoop命令和该命令的详细使用资料。

创建一个名为 /daxiong 的目录 $ bin/hadoop dfs -mkdir /daxiong 查看名为 /daxiong/myfile.txt 的文件内容$ bin/hadoop dfs -cat /hadoop dfs -cat /user/haha/part-m-00000 上图看到的是我上传上去的一张表,我只截了一部分图。 注:hadoop fs <..> 命令等同于hadoop dfs <..> 命令(hdfs fs/dfs)显示Datanode列表 $ bin/hadoop dfsadmin -report

$ bin/hadoop dfsadmin -help 命令能列出所有当前支持的命令。比如: -report:报告HDFS的基本统计信息。 注:有些信息也可以在NameNode Web服务首页看到 运行HDFS文件系统检查工具(fsck tools) 用法:hadoop fsck [GENERIC_OPTIONS] [-move | -delete | -openforwrite] [-files [-blocks [-locations | -racks]]] 命令选项描述 检查的起始目录。 -move 移动受损文件到/lost+found -delete 删除受损文件。 -openforwrite 打印出写打开的文件。 -files 打印出正被检查的文件。 -blocks 打印出块信息报告。 -locations 打印出每个块的位置信息。 -racks 打印出data-node的网络拓扑结构。 打印版本信息 用法:hadoop version 运行集群平衡工具。管理员可以简单的按Ctrl-C来停止平衡过程(balancer)

java 基础知识之hadoop源码阅读必备(一)

java 程序员你真的懂java吗? 一起来看下hadoop中的如何去使用java的 大数据是目前IT技术中最火热的话题,也是未来的行业方向,越来越多的人参与到大数据的学习行列中。从最基础的伪分布式环境搭建,再到分布式环境搭建,再进入代码的编写工作。这时候码农和大牛的分界点已经出现了,所谓的码农就是你让我做什么我就做什么,我只负责实现,不管原理,也不想知道原理。大牛就开始不听的问自己why?why?why?于是乎,很自然的去看源码了。然而像hadoop这样的源码N多人参与了修改和完善,看起来非常的吃力。然后不管如何大牛就是大牛,再硬的骨头也要啃。目前做大数据的80%都是从WEB开发转变过来的,什么spring mvc框架、SSH框架非常熟悉,其实不管你做了多少年的WEB开发,你很少接触到hadoop中java代码编写的风格,有些人根本就看不懂什么意思。下面我来介绍下hadoop源码怎么看。 hadoop体现的是分布式框架,因此所有的通信都基于RPC来操作,关于RPC的操作后续再介绍。hadoop源码怎么看系列分多个阶段介绍,下面重点介绍下JA V A基础知识。 一、多线程编程 在hadoop源码中,我们能看到大量的类似这样的代码 return executor.submit(new Callable() { @Override public String call() throws Exception { //方法类 } 下面简单介绍下java的多线程编程 启动一个线程可以使用下列几种方式 1、创建一个Runnable,来调度,返回结果为空。 ExecutorService executor = Executors.newFixedThreadPool(5); executor.submit(new Runnable() { @Override public void run() { System.out.println("runnable1 running."); } }); 这种方式启动一个线程后,在后台运行,不用等到结果,因为也不会返回结果 2、创建一个Callable,来调度,有返回结果 Future future1 = executor.submit(new Callable() { @Override public String call() throws Exception { // TODO Auto-generated method stub //具体执行一些内部操作 return "返回结果了!"; } }); System.out.println("task1: " + future1.get());

hadoop常用命令

启动Hadoop ?进入HADOOP_HOME目录。 ?执行sh bin/start-all.sh 关闭Hadoop ?进入HADOOP_HOME目录。 ?执行sh bin/stop-all.sh 1、查看指定目录下内容 hadoopdfs –ls [文件目录] eg: hadoopdfs –ls /user/wangkai.pt 2、打开某个已存在文件 hadoopdfs –cat [file_path] eg:hadoopdfs -cat /user/wangkai.pt/data.txt 3、将本地文件存储至hadoop hadoopfs –put [本地地址] [hadoop目录] hadoopfs –put /home/t/file.txt /user/t (file.txt是文件名) 4、将本地文件夹存储至hadoop hadoopfs –put [本地目录] [hadoop目录] hadoopfs –put /home/t/dir_name /user/t (dir_name是文件夹名) 5、将hadoop上某个文件down至本地已有目录下hadoopfs -get [文件目录] [本地目录] hadoopfs –get /user/t/ok.txt /home/t 6、删除hadoop上指定文件 hadoopfs –rm [文件地址] hadoopfs –rm /user/t/ok.txt 7、删除hadoop上指定文件夹(包含子目录等)hadoopfs –rm [目录地址] hadoopfs –rmr /user/t

8、在hadoop指定目录内创建新目录 hadoopfs –mkdir /user/t 9、在hadoop指定目录下新建一个空文件 使用touchz命令: hadoop fs -touchz /user/new.txt 10、将hadoop上某个文件重命名 使用mv命令: hadoop fs –mv /user/test.txt /user/ok.txt (将test.txt重命名为ok.txt) 11、将hadoop指定目录下所有内容保存为一个文件,同时down至本地hadoopdfs –getmerge /user /home/t 12、将正在运行的hadoop作业kill掉 hadoop job –kill [job-id] 1、列出所有Hadoop Shell支持的命令 $ bin/hadoopfs -help 2、显示关于某个命令的详细信息 $ bin/hadoopfs -help command-name 3、用户可使用以下命令在指定路径下查看历史日志汇总 $ bin/hadoop job -history output-dir 这条命令会显示作业的细节信息,失败和终止的任务细节。 4、关于作业的更多细节,比如成功的任务,以及对每个任务的所做的尝试次数等可以用下面的命令查看 $ bin/hadoop job -history all output-dir 5、格式化一个新的分布式文件系统: $ bin/hadoopnamenode -format 6、在分配的NameNode上,运行下面的命令启动HDFS: $ bin/start-dfs.sh bin/start-dfs.sh脚本会参照NameNode上${HADOOP_CONF_DIR}/slaves文件的内容,在所有列出的slave上启动DataNode守护进程。 7、在分配的JobTracker上,运行下面的命令启动Map/Reduce: $ bin/start-mapred.sh bin/start-mapred.sh脚本会参照JobTracker上${HADOOP_CONF_DIR}/slaves文件的内容,在所有列出的slave上启动TaskTracker守护进程。 8、在分配的NameNode上,执行下面的命令停止HDFS: $ bin/stop-dfs.sh

Hadoop命令大全

Hadoop命令大全 Hadoop配置: Hadoop配置文件core-site.xml应增加如下配置,否则可能重启后发生Hadoop 命名节点文件丢失问题: hadoop.tmp.dir /home/limingguang/hadoopdata 环境变量设置: 为了便于使用各种命令,可以在.bashrc文件中添加如下内容: export JAVA_HOME=/home/limingguang/jdk1.7.0_07 export HADOOP_HOME=/home/limingguang/hadoop-1.0.3 export HIVE_HOME=/home/limingguang/hive-0.9.0 export MAHOUT_HOME=/home/limingguang/mahout-distribution-0.7 export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HIVE_HOME/bin:$MAHOUT_HOME/bin: $PATH export HADOOP_HOME_WARN_SUPPRESS=1 具体目录请更改为安装目录,HADOOP_HOME_WARN_SUPPRESS变量为抑制HADOOP_HOME变量重复时的告警。 常用命令:

1、列出所有Hadoop Shell支持的命令 $ bin/hadoop fs -help 2、显示关于某个命令的详细信息 $ bin/hadoop fs -help command-name 3、用户可使用以下命令在指定路径下查看历史日志汇总 $ bin/hadoop job -history output-dir 这条命令会显示作业的细节信息,失败和终止的任务细节。 4、关于作业的更多细节,比如成功的任务,以及对每个任务的所做的尝试次数等可以用下面的命令查看 $ bin/hadoop job -history all output-dir 5、格式化一个新的分布式文件系统: $ bin/hadoop namenode -format 6、在分配的NameNode上,运行下面的命令启动HDFS: $ bin/start-dfs.sh bin/start-dfs.sh脚本会参照NameNode上${HADOOP_CONF_DIR}/slaves文件的内容,在所有列出的slave上启动DataNode守护进程。 7、在分配的JobTracker上,运行下面的命令启动Map/Reduce: $ bin/start-mapred.sh bin/start-mapred.sh脚本会参照JobTracker上${HADOOP_CONF_DIR}/slaves 文件的内容,在所有列出的slave上启动TaskTracker守护进程。 8、在分配的NameNode上,执行下面的命令停止HDFS: $ bin/stop-dfs.sh bin/stop-dfs.sh脚本会参照NameNode上${HADOOP_CONF_DIR}/slaves文件的内容,在所有列出的slave上停止DataNode守护进程。 9、在分配的JobTracker上,运行下面的命令停止Map/Reduce: $ bin/stop-mapred.sh bin/stop-mapred.sh脚本会参照JobTracker上${HADOOP_CONF_DIR}/slaves文件的内容,在所有列出的slave上停止TaskTracker守护进程。 10、启动所有 $ bin/start-all.sh 11、关闭所有 $ bin/stop-all.sh DFSShell 10、创建一个名为 /foodir 的目录 $ bin/hadoop dfs -mkdir /foodir 11、创建一个名为 /foodir 的目录 $ bin/hadoop dfs -mkdir /foodir 12、查看名为 /foodir/myfile.txt 的文件内容 $ bin/hadoop dfs -cat /foodir/myfile.txt

Hadoop题库

1. 以下哪一项不属于Hadoop可以运行的模式___C___。 A. 单机(本地)模式 B. 伪分布式模式 C. 互联模式 D. 分布式模式 2. Hadoop的作者是下面哪一位__B____。 A. Martin Fowler B. Doug cutting C. Kent Beck D. Grace Hopper 3. 下列哪个程序通常与 NameNode 在同一个节点启动__D___。 A. TaskTracker B. DataNode C. SecondaryNameNode D. Jobtracker 4. HDFS 默认 Block Size的大小是___B___。 5. 下列哪项通常是集群的最主要瓶颈____C__。 A. CPU B. 网络

C. 磁盘IO D. 内存 6. 下列关于MapReduce说法不正确的是_____C_。 A. MapReduce是一种计算框架 B. MapReduce来源于google的学术论文 C. MapReduce程序只能用java语言编写 D. MapReduce隐藏了并行计算的细节,方便使用 8. HDFS是基于流数据模式访问和处理超大文件的需求而开发的,具有高容错、高可靠性、高可扩展性、高吞吐率等特征,适合的读写任务是 __D____。 A.一次写入,少次读 B.多次写入,少次读 C.多次写入,多次读 D.一次写入,多次读 9. HBase依靠__A____存储底层数据。 A. HDFS B. Hadoop C. Memory D. MapReduce 10. HBase依赖___D___提供强大的计算能力。 A. Zookeeper B. Chubby C. RPC D. MapReduce

hadoop提交作业分析

Hadoop提交作业流程分析 bin/hadoop jar mainclass args …… 这样的命令,各位玩Hadoop的估计已经调用过NN次了,每次写好一个Project或对Project做修改后,都必须打个Jar包,然后再用上面的命令提交到Hadoop Cluster上去运行,在开发阶段那是极其繁琐的。程序员是“最懒”的,既然麻烦肯定是要想些法子减少无谓的键盘敲击,顺带延长键盘寿命。比如有的人就写了些Shell脚本来自动编译、打包,然后提交到Hadoop。但还是稍显麻烦,目前比较方便的方法就是用Hadoop eclipse plugin,可以浏览管理HDFS,自动创建MR程序的模板文件,最爽的就是直接Run on hadoop了,但版本有点跟不上Hadoop的主版本了,目前的MR模板还是的。还有一款叫Hadoop Studio的软件,看上去貌似是蛮强大,但是没试过,这里不做评论。那么它们是怎么做到不用上面那个命令来提交作业的呢不知道没关系,开源的嘛,不懂得就直接看源码分析,这就是开源软件的最大利处。 我们首先从bin/hadoop这个Shell脚本开始分析,看这个脚本内部到底做了什么,如何来提交Hadoop作业的。 因为是Java程序,这个脚本最终都是要调用Java来运行的,所以这个脚本最重要的就是添加一些前置参数,如CLASSPATH等。所以,我们直接跳到这个脚本的最后一行,看它到底添加了那些参数,然后再

逐个分析(本文忽略了脚本中配置环境参数载入、Java查找、cygwin 处理等的分析)。 #run it exec "$JAVA"$JAVA_HEAP_MAX $HADOOP_OPTS -classpath "$CLASSPATH"$CLASS "$@" 从上面这行命令我们可以看到这个脚本最终添加了如下几个重要参数:JAVA_HEAP_MAX、HADOOP_OPTS、CLASSPATH、CLASS。下面我们来一个个的分析(本文基于Cloudera Hadoop 分析)。 首先是JAVA_HEAP_MAX,这个就比较简单了,主要涉及代码如下:JAVA_HEAP_MAX=-Xmx1000m # check envvars which might override default args if [ "$HADOOP_HEAPSIZE" !="" ];then #echo"run with heapsize $HADOOP_HEAPSIZE" JAVA_HEAP_MAX="-Xmx""$HADOOP_HEAPSIZE""m" #echo$JAVA_HEAP_MAX fi

(完整版)hadoop常见笔试题答案

Hadoop测试题 一.填空题,1分(41空),2分(42空)共125分 1.(每空1分) datanode 负责HDFS数据存储。 2.(每空1分)HDFS中的block默认保存 3 份。 3.(每空1分)ResourceManager 程序通常与NameNode 在一个节点启动。 4.(每空1分)hadoop运行的模式有:单机模式、伪分布模式、完全分布式。 5.(每空1分)Hadoop集群搭建中常用的4个配置文件为:core-site.xml 、hdfs-site.xml 、mapred-site.xml 、yarn-site.xml 。 6.(每空2分)HDFS将要存储的大文件进行分割,分割后存放在既定的存储块 中,并通过预先设定的优化处理,模式对存储的数据进行预处理,从而解决了大文件储存与计算的需求。 7.(每空2分)一个HDFS集群包括两大部分,即namenode 与datanode 。一般来说,一 个集群中会有一个namenode 和多个datanode 共同工作。 8.(每空2分) namenode 是集群的主服务器,主要是用于对HDFS中所有的文件及内容 数据进行维护,并不断读取记录集群中datanode 主机情况与工作状态,并通过读取与写入镜像日志文件的方式进行存储。 9.(每空2分) datanode 在HDFS集群中担任任务具体执行角色,是集群的工作节点。文 件被分成若干个相同大小的数据块,分别存储在若干个datanode 上,datanode 会定期向集群内namenode 发送自己的运行状态与存储内容,并根据namnode 发送的指令进行工作。 10.(每空2分) namenode 负责接受客户端发送过来的信息,然后将文件存储位置信息发 送给client ,由client 直接与datanode 进行联系,从而进行部分文件的运算与操作。 11.(每空1分) block 是HDFS的基本存储单元,默认大小是128M 。 12.(每空1分)HDFS还可以对已经存储的Block进行多副本备份,将每个Block至少复制到 3 个相互独立的硬件上,这样可以快速恢复损坏的数据。 13.(每空2分)当客户端的读取操作发生错误的时候,客户端会向namenode 报告错误,并 请求namenode 排除错误的datanode 后,重新根据距离排序,从而获得一个新的的读取路径。如果所有的datanode 都报告读取失败,那么整个任务就读取失败。14.(每空2分)对于写出操作过程中出现的问题,FSDataOutputStream 并不会立即关闭。 客户端向Namenode报告错误信息,并直接向提供备份的datanode 中写入数据。备份datanode 被升级为首选datanode ,并在其余2个datanode 中备份复制数据。 NameNode对错误的DataNode进行标记以便后续对其进行处理。 15.(每空1分)格式化HDFS系统的命令为:hdfs namenode –format 。 16.(每空1分)启动hdfs的shell脚本为:start-dfs.sh 。 17.(每空1分)启动yarn的shell脚本为:start-yarn.sh 。 18.(每空1分)停止hdfs的shell脚本为:stop-dfs.sh 。 19.(每空1分)hadoop创建多级目录(如:/a/b/c)的命令为:hadoop fs –mkdir –p /a/b/c 。 20.(每空1分)hadoop显示根目录命令为:hadoop fs –lsr 。 21.(每空1分)hadoop包含的四大模块分别是:Hadoop common 、HDFS 、

hadoop入门学习资料大全

Hadoop是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。简单地说来,Hadoop是一个可以更容易开发和运行处理大规模数据的软件平台。 Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性(fault-tolerent)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。 搜索了一些WatchStor存储论坛关于hadoop入门的一些资料分享给大家希望对大家有帮助 jackrabbit封装hadoop的设计与实现 https://www.sodocs.net/doc/185113431.html,/thread-60444-1-1.html 用Hadoop进行分布式数据处理 https://www.sodocs.net/doc/185113431.html,/thread-60447-1-1.html

Hadoop源代码eclipse编译教程 https://www.sodocs.net/doc/185113431.html,/thread-60448-1-2.html Hadoop技术讲解 https://www.sodocs.net/doc/185113431.html,/thread-60449-1-2.html Hadoop权威指南(原版) https://www.sodocs.net/doc/185113431.html,/thread-60450-1-2.html Hadoop源代码分析完整版 https://www.sodocs.net/doc/185113431.html,/thread-60451-1-2.html 基于Hadoop的Map_Reduce框架研究报告 https://www.sodocs.net/doc/185113431.html,/thread-60452-1-2.html Hadoop任务调度 https://www.sodocs.net/doc/185113431.html,/thread-60453-1-2.html Hadoop使用常见问题以及解决方法 https://www.sodocs.net/doc/185113431.html,/thread-60454-1-2.html HBase:权威指南

Hadoop入门教程(四)MR作业的提交监控、输入输出控制及特性使用-北京尚学堂

北京尚学堂提供 上次课讲到MR重要运行参数,本次继续为大家讲解MapReduce相关 提交作业并监控 JobClient是用户作业与JobTracker交互的主要接口,它提供了提交作业,跟踪作业进度、访问任务报告及logs、以及获取MR集群状态信息等方法。 提交作业流程包括: ?检查作业的输入输出 ?计算作业的输入分片(InputSplit) ?如果需要,为DistributedCache设置必须的账户信息 ?将作业用到的jar包文件和配置信息拷贝至文件系统(一般为HDFS)上的MR系统路径中 ?提交作业到JobTracker,并可监控作业状态 作业历史(Job History)文件会记录在https://www.sodocs.net/doc/185113431.html,er.location指定的位置,默认在作业输出路径下的logs/history/路径下。因此历史日志默认在mapred.output.dir/logs/history下。 用户可以将https://www.sodocs.net/doc/185113431.html,er.location值设置为none来不记录作业历史。 使用命令来查看历史日志: 1 $hadoop job -history output-dir 上面命令会显示作业的详细信息、失败的被kill的任务(tip)的详细信息。使用下面命令可以查看作业更详细的信息: 1 $hadoop job -history all output-dir 可以使用OutputLogFilter从输出路径中过滤日志文件。 一般,我们创建应用,通过JobConf设置作业的各种属性,然后使用JobClient提交作业并监控进度。 作业控制 有时可能需要一个作业链完成复杂的任务。这点是可以轻松实现的,因为作业输出一般都在分布式文件系统上,作业输出可以当做下个作业的输入,这样就形成了链式作业。 这种作业成功是否依赖于客户端。客户端可以使用以下方式来控制作业的执行: ?runJob(JobConf):提交作业并仅在作业完成时返回 ?submitJob(JobConf):提交作业后立即返回一个RunningJob的引用,使用它可以查询作业状态并处理调度逻辑。 ?JobConf.setJobEndNotificationURI(String):设置作业完成时通知 你也可以使用Oozie来实现复杂的作业链。 作业输入 下面讲作业输入的内容。 InputFormat描述MR作业的输入信息。InputFormat有以下作用: 1.验证作业的输入信息

Hadoop最全面试题整理(附目录)

Hadoop面试题目及答案(附目录) 选择题 1.下面哪个程序负责HDFS 数据存储。 a)NameNode b)Jobtracker c)Datanode d)secondaryNameNode e)tasktracker 答案C datanode 2. HDfS 中的block 默认保存几份? a)3 份b)2 份c)1 份d)不确定 答案A 默认3 份 3.下列哪个程序通常与NameNode 在一个节点启动? a)SecondaryNameNode b)DataNode c)TaskTracker d)Jobtracker 答案D 分析:hadoop 的集群是基于master/slave 模式,namenode 和jobtracker 属于master,datanode 和tasktracker 属于slave,master 只有一个,而slave 有多个SecondaryNameNode 内存需求和NameNode 在一个数量级上,所以通常secondaryNameNode(运行在单独的物理机器上)和NameNode 运行在不同的机器上。 JobTracker 和TaskTracker JobTracker 对应于NameNode,TaskTracker 对应于DataNode,DataNode 和NameNode 是针对数据存放来而言的,JobTracker 和TaskTracker 是对于MapReduce 执行而言的。mapreduce 中几个主要概念,mapreduce 整体上可以分为这么几条执行线索:jobclient,JobTracker 与TaskTracker。 1、JobClient 会在用户端通过JobClient 类将应用已经配置参数打包成jar 文件存储到hdfs,并把路径提交到Jobtracker,然后由JobTracker 创建每一个Task(即MapTask 和ReduceTask)并将它们分发到各个TaskTracker 服务中去执行。 2、JobTracker 是一个master 服务,软件启动之后JobTracker 接收Job,负责调度Job 的每一个子任务task 运行于TaskTracker 上,并监控它们,如果发现有失败的task 就重新运行它。一般情况应该把JobTracker 部署在单独的机器上。 3、TaskTracker 是运行在多个节点上的slaver 服务。TaskTracker 主动与JobTracker 通信,接收作业,并负责直接执行每一个任务。TaskTracker 都需要运行在HDFS 的DataNode 上。 4. Hadoop 作者 a)Martin Fowler b)Kent Beck c)Doug cutting 答案C Doug cutting 5. HDFS 默认Block Size a)32MB b)64MB c)128MB 答案:B 6. 下列哪项通常是集群的最主要瓶颈 a)CPU b)网络c)磁盘IO d)内存 答案:C 磁盘 首先集群的目的是为了节省成本,用廉价的pc 机,取代小型机及大型机。小型机和大型机

相关主题