Hadoop之Hadoop基础知识常问面试题
-
列举几个hadoop生态圈的组件并做简要描述。
- Zookeeper:是一个开源的分布式应用程序协调服务,基于zookeeper可以实现同步服务,配置维护,命名服务。
- Flume:一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。
- Hbase:是一个分布式的、面向列的开源数据库, 利用Hadoop HDFS作为其存储系统。
- Hive:基于Hadoop的一个数据仓库工具,可以将结构化的数据档映射为一张数据库表,并提供简单的sql 查询功能,可以将sql语句转换为MapReduce任务进行运行。
- Sqoop:将一个关系型数据库中的数据导进到Hadoop的 HDFS中,也可以将HDFS的数据导进到关系型数据库中。
-
解释“hadoop”和“hadoop 生态系统”两个概念。
- Hadoop是指Hadoop框架本身;hadoop生态系统,不仅包含hadoop,还包括保证hadoop框架正常高效运行其他框架,比如zookeeper、Flume、Hbase、Hive、Sqoop等辅助框架。
- 简要描述如何安装配置apache的一个开源Hadoop,只描述即可,无需列出具体步骤,列出具体步骤更好。
-
使用root账户登录
-
修改IP
-
修改host主机名
-
配置SSH免密码登录
-
关闭防火墙
-
安装JDK
-
解压hadoop安装包
-
配置hadoop的核心文件 hadoop-env.sh,core-site.xml , mapred-site.xml , hdfs-site.xml
-
配置hadoop环境变量
-
格式化 hadoop namenode-format
-
- 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: 指定mr运行在yarn上。
- 简述Hadoop的几个默认端口及其含义
1)dfs.namenode.http-address(namenode的http服务的端口):50070
2)SecondaryNameNode辅助名称节点端口号:50090
3)dfs.datanode.address(datanode服务端口,用于数据传输):50010
4)fs.defaultFS:8020 或者9000
5)yarn.resourcemanager.webapp.address(yarn的http服务端口):8088