1. 下列哪项通常是集群的最主要瓶颈(C)

A. CPU

B. 网络

C. 磁盘IO

D. 内存

2. 下列哪项可以作为集群的管理工具?(C)

A.Puppet

B.Pdsh

C.ClouderaManager

D.Zookeeper

3. 下列哪个是Hadoop 运行的模式?(ABC)

A. 单机版

B. 伪分布式

C. 完全分布式

4. 列举几个hadoop 生态圈的组件并做简要描述

Zookeeper:是一个开源的分布式应用程序协调服务,基于zookeeper 可以实现同步服务, 配置维

护,命名服务。

Flume:一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。

Hbase:是一个分布式的、面向列的开源数据库, 利用Hadoop HDFS 作为其存储系统。

Hive:基于Hadoop 的一个数据仓库工具,可以将结构化的数据档映射为一张数据库表, 并提供

简单的sql 查询功能,可以将sql 语句转换为MapReduce 任务进行运行。

6. 解释“hadoop”和“hadoop 生态系统”两个概念。

Hadoop 是指Hadoop 框架本身;hadoop 生态系统,不仅包含hadoop,还包括保证hadoop框架正常高效运行其他框架,比如zookeeper、Flume、Hbase、Hive、Sqoop 等辅助框架

7. 简要描述如何安装配置apache 的一个开源Hadoop,只描述即可,无需列出具体步骤,列出具体步骤更好。

1) 使用root 账户登录

2) 修改IP

3) 修改host 主机名

4) 配置SSH 免密码登录

5) 关闭防火墙

6) 安装JDK

7) 解压hadoop 安装包

8) 配置hadoop 的核心文件hadoop-env.sh,core-site.xml , mapred-site.xml ,

hdfs-site.xml

9) 配置hadoop 环境变量

10) 格式化hadoop namenode-format

11)启动节点start-all.sh

8. Hadoop 中需要哪些配置文件,其作用是什么?

1) core-site.xml:

fs.defaultFS:hdfs://cluster1(域名),这里的值指的是默认的HDFS 路径。

hadoop.tmp.dir:/export/data/hadoop_tmp,这里的路径默认是NameNode、DataNode、

secondaryNamenode 等存放数据的公共目录。用户也可以自己单独指定这三类节点的目录。

ha.zookeeper.quorum:hadoop101:2181,hadoop102:2181,hadoop103:2181,这里是

ZooKeeper 集群的地址和端口。注意,数量一定是奇数,且不少于三个节点。

2)hadoop-env.sh:

只需设置jdk 的安装路径,如:export JAVA_HOME=/usr/local/jdk。

3)hdfs-site.xml:

dfs.replication:他决定着系统里面的文件块的数据备份个数,默认为3 个。

dfs.data.dir:datanode 节点存储在文件系统的目录。

dfs.name.dir:是namenode 节点存储hadoop 文件系统信息的本地系统路径。

4)mapred-site.xml:

mapreduce.framework.name: yarn 指定mr 运行在yarn 上。

9. 请列出正常工作的Hadoop 集群中Hadoop 都分别需要启动哪些进程,它们的作用分别是什么?

NameNode 它是hadoop 中的主服务器,管理文件系统名称空间和对集群中存储的文件的访问,

保存有metadate。

SecondaryNameNode 它不是namenode 的冗余守护进程,而是提供周期检查点和清理任务。帮

助NN 合并editslog,减少NN 启动时间。

DataNode 它负责管理连接到节点的存储(一个集群中可以有多个节点)。每个存储数据的节点运

行一个datanode 守护进程。

ResourceManager(JobTracker)JobTracker 负责调度DataNode 上的工作。每个DataNode 有一

个TaskTracker,它们执行实际工作。

NodeManager(TaskTracker)执行任务

DFSZKFailoverController 高可用时它负责监控NN 的状态,并及时的把状态信息写入ZK 。它

通过一个独立线程周期性的调用NN 上的一个特定接口来获取NN 的健康状态。FC 也有选择谁作

为Active NN 的权利,因为最多只有两个节点,目前选择策略还比较简单(先到先得,轮换)。

JournalNode 高可用情况下存放namenode 的editlog 文件.

10. 简述Hadoop 的几个默认端口及其含义

dfs.namenode.http-address:50070

SecondaryNameNode 辅助名称节点端口号:50090

dfs.datanode.address:50010

fs.defaultFS:8020 或者9000

yarn.resourcemanager.webapp.address:8088

11. 简述hadoop实现Join的几种方法

reduce side join

reduce side join是一种最简单的join方式,其主要思想如下:在map阶段,map函数同时读取两个文件File1和File2,为了区分两种来源的key/value数据对,对每条数据打一个标签(tag),比如:tag=0表示来自文件File1,tag=2表示来自文件File2。即:map阶段的主要任务是对不同文件中的数据打标签。

在reduce阶段,reduce函数获取key相同的来自File1和File2文件的value list, 然后对于同一个key,对File1和File2中的数据进行join(笛卡尔乘积)。即:reduce阶段进行实际的连接操作。

map side join

之所以存在reduce side join,是因为在map阶段不能获取所有需要的join字段,即:同一个key对应的字段可能位于不同map中。Reduce side join是非常低效的,因为shuffle阶段要进行大量的数据传输。

Map side join是针对以下场景进行的优化:两个待连接表中,有一个表非常大,而另一个表非常小,以至于小表可以直接存放到内存中。这样,我们可以将小表复制多份,让每个map task内存中存在一份(比如存放到hash table中),然后只扫描大表:对于大表中的每一条记录key/value,在hash table中查找是否有相同的key的记录,如果有,则连接后输出即可。

为了支持文件的复制,Hadoop提供了一个类DistributedCache,使用该类的方法如下:

(1)用户使用静态方法DistributedCache.addCacheFile()指定要复制的文件,它的参数是文件的URI(如果是HDFS上的文件,可以这样:hdfs://namenode:9000/home/XXX/file,其中9000是自己配置的NameNode端口号)。JobTracker在作业启动之前会获取这个URI列表,并将相应的文件拷贝到各个TaskTracker的本地磁盘上。

(2)用户使用DistributedCache.getLocalCacheFiles()方法获取文件目录,并使用标准的文件读写API读取相应的文件。

SemiJoin

SemiJoin,也叫半连接,是从分布式数据库中借鉴过来的方法。它的产生动机是:对于reduce side join,跨机器的数据传输量非常大,这成了join操作的一个瓶颈,如果能够在map端过滤掉不会参加join操作的数据,则可以大大节省网络IO。

实现方法很简单:选取一个小表,假设是File1,将其参与join的key抽取出来,保存到文件File3中,File3文件一般很小,可以放到内存中。在map阶段,使用DistributedCache将File3复制到各个TaskTracker上,然后将File2中不在File3中的key对应的记录过滤掉,剩下的reduce阶段的工作与reduce side join相同。

大数据面试题(一)----HADOOP 面试题的更多相关文章

  1. 大数据平台搭建(hadoop+spark)

    大数据平台搭建(hadoop+spark) 一.基本信息 1. 服务器基本信息 主机名 ip地址 安装服务 spark-master 172.16.200.81 jdk.hadoop.spark.sc ...

  2. 大数据学习系列之四 ----- Hadoop+Hive环境搭建图文详解(单机)

    引言 在大数据学习系列之一 ----- Hadoop环境搭建(单机) 成功的搭建了Hadoop的环境,在大数据学习系列之二 ----- HBase环境搭建(单机)成功搭建了HBase的环境以及相关使用 ...

  3. 大数据学习系列之六 ----- Hadoop+Spark环境搭建

    引言 在上一篇中 大数据学习系列之五 ----- Hive整合HBase图文详解 : http://www.panchengming.com/2017/12/18/pancm62/ 中使用Hive整合 ...

  4. 大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 图文详解

    引言 在之前的大数据学习系列中,搭建了Hadoop+Spark+HBase+Hive 环境以及一些测试.其实要说的话,我开始学习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式.至于为什么先写单 ...

  5. 大数据实时计算工程师/Hadoop工程师/数据分析师职业路线图

    http://edu.51cto.com/roadmap/view/id-29.html http://my.oschina.net/infiniteSpace/blog/308401 大数据实时计算 ...

  6. 大数据学习笔记之Hadoop(一):Hadoop入门

    文章目录 大数据概论 一.大数据概念 二.大数据的特点 三.大数据能干啥? 四.大数据发展前景 五.企业数据部的业务流程分析 六.企业数据部的一般组织结构 Hadoop(入门) 一 从Hadoop框架 ...

  7. 阿里巴巴飞天大数据架构体系与Hadoop生态系统

    很多人问阿里的飞天大数据平台.云梯2.MaxCompute.实时计算到底是什么,和自建Hadoop平台有什么区别. 先说Hadoop 什么是Hadoop? Hadoop是一个开源.高可靠.可扩展的分布 ...

  8. 大数据软件安装之Hadoop(Apache)(数据存储及计算)

    大数据软件安装之Hadoop(Apache)(数据存储及计算) 一.生产环境准备 1.修改主机名 vim /etc/sysconfig/network 2.修改静态ip vim /etc/udev/r ...

  9. 大数据组件原理总结-Hadoop、Hbase、Kafka、Zookeeper、Spark

    Hadoop原理 分为HDFS与Yarn两个部分.HDFS有Namenode和Datanode两个部分.每个节点占用一个电脑.Datanode定时向Namenode发送心跳包,心跳包中包含Datano ...

  10. 了解大数据的技术生态系统 Hadoop,hive,spark(转载)

    首先给出原文链接: 原文链接 大数据本身是一个很宽泛的概念,Hadoop生态圈(或者泛生态圈)基本上都是为了处理超过单机尺度的数据处理而诞生的.你能够把它比作一个厨房所以须要的各种工具. 锅碗瓢盆,各 ...

随机推荐

  1. 工厂设计模式灵魂拷问-Java实现

    show me the code and take to me,做的出来更要说的明白 GitHub项目JavaHouse同步收录 喜欢就点个赞呗! 你的支持是我分享的动力! 引入 我们经常听到工厂模式 ...

  2. 解决echarts中的点击事件点击后走多次接口

    使用echarts图点击图之后,走了很多次接口,后来发现添加一个off事件就可以解决了,具体如下:

  3. 【题解】AcWing 110. 防晒(普及题)

    [题解]AcWing 110. 防晒(普及题) AcWing 110. 防晒 你没有用过的全新OJ 嘿嘿水水题. 题目就是一维坐标轴上给定多个线段,给定多个点,点在线段上造成贡献,点可以重复,问最大贡 ...

  4. 边框,元素居中,盒子模型,margin,display,overflow,textarea,float,浮动停止条件,清除浮动影响,margin-top的bug,清除默认样式

    边框 solid实线 dotted虚线 dashed点线 盒子在页面中实际的宽高都是5部分组成 宽=borderleft+paddingleft+width+paddingright+borderri ...

  5. dos2unix命令 – 将DOS格式的文本文件转换成UNIX格式

    今天做题的时候,出现了个很冷门的: 查找子目录src下所有后缀为.txt的文件执行dos2unix命令,把文件从Dos格式转换为Linux格式,正确的命令是:find src "*.txt& ...

  6. VMware 完成 27 亿美元的 Pivotal 收购 | 云原生生态周报 Vol. 34

    作者 | 汪萌海.王思宇.李鹏 业界要闻 VMware 完成 27 亿美元的 Pivotal 收购 VMware 在 12 月 30 日宣布,已完成 27 亿美元的 Pivotal 收购,同一天 Pi ...

  7. 虚拟机下 windows 自动配置 IPv4 地址 169.254.X.X(首选)

    问题: windows server上,自己手动配置的ip不生效,自动获取地址虽然ok,但是服务器必须指定ip. 诊段: ipconfig/all里查看 自动配置 IPv4 地址  169.254.X ...

  8. 加深对于 MVC、MVP、MVVM 的概念理解

    目录 MVC 对 MVC 的误解及缘由 MVP MVVM MVC MVC - 维基百科,自由的百科全书 MVC 是软件工程的一种软件架构模式,它不是具体的技术,而是一种代码分层的理念,主要体现了职责分 ...

  9. python中各种文件打开模式

    在python中,总的来说有三种大的模式打开文件,分别是:a, w, r 当以a模式打开时,只能写文件,而且是在文件末尾添加内容. 当以a+模式打开时,可以写文件,也可读文件,可是在读文件的时候,会发 ...

  10. 一文带你看清HTTP所有概念

    上一篇文章我们大致讲解了一下 HTTP 的基本特征和使用,大家反响很不错,那么本篇文章我们就来深究一下 HTTP 的特性.我们接着上篇文章没有说完的 HTTP 标头继续来介绍(此篇文章会介绍所有标头的 ...