大数据面试题hadoop部分及答案(16道)

1.Hadoop安装步骤(九部曲)?
主从节点都要操作的:
1.在/etc/hosts下配置IP及主机名
2.创建hadoop用户(同时配置hosts)
3.安装jdk
4.配置环境变量/etc/profile
5.在主节点操作
(1)解压并安装hadoop
(2)配置参数文件 core-site.xml 、hdfs-site.xml、 mapred-site.xml、master、slaves
(3)将主节点的hadoop拷贝到各个从节点
6.在所有节点操作
把/usr/local/hadoop-0.20.2-cdh3u5的所有者,所有者组改为hadoop并su成该用户
7.在各个节点上配置秘钥,访问所有的节点
8.在主节点操作
(1)格式化:hadoop nodename -format
(2)启动:hadoop start-all.sh
9.验证:jps

2.请列出正常的hadoop集群中hadoop都分别需要启动哪些进程,他们的作用分别都是什么,请尽量列的详细一些。
NameNode:接受来自客户端的文件信息,存储文件的元数据,
SecondaryNode:接受来自NameNode中的edits及fsimage,做一个类似于类备份的操作,定期清空edits,减小NameNode的操作压力。
JobTracker: 管理所有作业,作业/任务的监控、错误处理等;将作业初始化分解成一系列任务,并分派给 TaskTracker。
DataNode:存储实际的数据,汇报存储信息给NameNode。
TaskTracker:运行 Map Task 和 Reduce Task;并与 JobTracker交互,汇报任务状态给JobTracker。

3.hadoop中需要配置哪些配置文件其作用是什么?
mapred-site-xml;设置jobtracker端口
hdfs-site-xml;设置datanode节点数为2
core-site-xml;设置namenode启动端口

4.Hadoop HA 如何实现?简述过程
HA:High Available(高可用)
说明1:Hadoop的高可用是hadoop2.X版本及以上的特性;hadoop HA通过zookeeper来实现namenode的高可用;
过程:现在hadoop集群里面搭建了一个zookeeper的集群,同时我这个zookeeper的共享池通过多个其他的节点来实现,然后通过在另一个机架服务器上已经配好了一个standby的namenode,然后整个hadoop的集群现在有一个处于active的namenode,通过zookeeper告诉client和从节点有这样一个standby的namenode,然后active-namenode定期产生的edits会交互到这个共享池里面,如果active-namenode宕机,则standby-namenode通过共享池里面的edits进行热备份立马恢复所有的fsimage,最终成为新的active-namenode。

5.Hadoop集群可以运行的3个模式?
1.单机模式:有一个java进程模拟hadoop的各个角色:一台单机上运行,没有分布式文件系统,而是直接读写本地操作系统的文件系统
2.伪分布式:有多个java进程模拟hadoop的各个角色:这种模式也是在一台单机上运行,但用不同的Java进程模仿分布式运行中的各类结点
3.集群环境

6.如何用命令确认hadoop集群的健康状况
hadoop dfsadmin -report

7.杀死一个job,执行的命令是什么?
列出Jobtracer上所有的作业
hadoop job -list
使用hadoop job -kill杀掉指定的jobid
hadoop job -kill job_id
组合以上两条命令就可以实现kill掉指定用户的job
for i in hadoop job -list | grep -w username| awk '{print $1}' | grep job_; do hadoop job -kill $i; done

8.如何查看hadoop日志文件?
1.Hadoop MapReduce日志分为两部分,一部分是服务日志,一部分是作业日志,服务日志包括JobTracker日志和各个TaskTracker日志,他们的日志文件均在所在节点的 HADOOPHOME/logs/;jobhistorytaskjobhistorycounterJobTracker H A D O O P H O M E / l o g s / 目 录 下 ; 作 业 日 志 包 括 j o b h i s t o r y 日 志 和 t a s k 日 志 两 部 分 , 其 中 , j o b h i s t o r y 日 志 是 作 业 运 行 日 志 , 包 括 作 业 启 动 时 间 、 结 束 时 间 , 每 个 任 务 的 启 动 时 间 、 结 束 时 间 , 各 种 c o u n t e r 信 息 等 , 用 户 可 以 从 这 个 日 志 中 解 析 出 作 业 运 行 的 各 种 信 息 , 是 非 常 有 价 值 的 信 息 。 默 认 存 放 位 置 是 J o b T r a c k e r 所 在 节 点 的 HADOOP_HOME/history目录下,可通过参数hadoop.job.history.location配置。每个task日志存放在task运行节点上,存放位置是$HADOOP_HOME/userlogs//目录下
2.可在NameNode的那个网页上找到

9.(hadoop下的数据类型)context输出类型(8个)
BooleanWritable:标准布尔型数值
ByteWritable:单字节数值
DoubleWritable:双字节数值
FloatWritable:浮点数
IntWritable:整型数
LongWritable:长整型数
Text:使用UTF8格式存储的文本
NullWritable:当

你可能感兴趣的:(大数据面试题hadoop部分及答案(16道))