1.1 Hadoop基础(☆☆)

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

A.CPU

B.网络

C.磁盘 IO

D.内存

1.1.2 下列哪项可以作为集群的管理?(C)

C.ClouderaManager

D.Zookeeper

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

A.单机版

B.伪分布式

C.完全分布式

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

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

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

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

4)Hive:基于Hadoop的一个数据仓库工具,可以将结构化的数据档映射为一张数据库表,并提供简单的sql 查询功能,可以将sql语句转换为MapReduce任务进行运行。

5)Sqoop:将一个关系型数据库中的数据导进到Hadoop的 HDFS中,也可以将HDFS的数据导进到关系型数据库中。

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

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

1.1.6 简要描述如何安装配置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)格式化 hadoopnamenode-format

11)启动节点start-all.sh

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

1)core-site.xml:

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

(2)hadoop.tmp.dir:/export/data/hadoop_tmp,这里的路径默认是NameNode、DataNode、secondaryNamenode等存放数据的公共目录。用户也可以自己单独指定这三类节点的目录。

(3)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:

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

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

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

4)mapred-site.xml:

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

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

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

2)SecondaryNameNode它不是namenode的冗余守护进程,而是提供周期检查点和清理任务。帮助NN合并editslog,减少NN启动时间。

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

4)ResourceManager(JobTracker)JobTracker负责调度DataNode上的工作。每个DataNode有一个TaskTracker,它们执行实际工作。

5)NodeManager(TaskTracker)执行任务

6)DFSZKFailoverController高可用时它负责监控NN的状态,并及时的把状态信息写入ZK。它通过一个独立线0程周期性的调用NN上的一个特定接口来获取NN的健康状态。FC也有选择谁作为Active NN的权利,因为最多只有两个节点,目前选择策略还比较简单(先到先得,轮换)。

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

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

1)dfs.namenode.http-address:50070

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

3)dfs.datanode.address:50010

4)fs.defaultFS:8020 或者9000

5)yarn.resourcemanager.webapp.address:8088

1.1.10 请列出正常工作的hadoop集群中hadoop都分别需要启动哪些进程,他们的作用分别是什么,尽可能写的全面些

1.1.11 列出几个配置文件优化hadoop,怎么做数据平衡?列出步骤

1.1.12 手绘Hadoop架构

1.1.13 是否看过Hadoop源码

Job提交源码

1.1.14 Hadoop中RecordReader的作用是什么?

自定义Inputformat和Outputformat

1.1.15 Hadoop中job和Tasks之间的区别是什么?

一个job包含多个tasks,分为map tasks 和reduce tasks