Hadoop面试题收集

1、列出安装Hadoop流程

a) 创建Hadoop用户
b) 更改机器IP
c) 安装Java并配置/etc/profile环境变量
d) 修改/etc/hosts文件域名和添加集群IP
e) 安装ssh,配置无密码登陆
f) 解压Hadoop至指定文件夹
g) 配置etc/hadoop/下的配置文件
h) 执行hadoop namenode -format格式化主节点
i) 执行sbin/start-all.shsbin/start-dfs.sh

2、列出Hadoop集群启动的进程和进程的作用

a) NameNode 管理集群、记录HDFS元数据信息
b) Secondary NameNode 检查点、合并edit logfsimage

1、首先,它定时到NameNode去获取edit logs,并更新到fsimage上。[笔者注:Secondary NameNode自己的fsimage]
2、一旦它有了新的fsimage文件,它将其拷贝回NameNode中。
3、NameNode在下次重启时会使用这个新的fsimage文件,从而减少重启的时间。
参考:[https://blog.csdn.net/xh16319/article/details/31375197]

c) DataNode 存储数据
d) ResourceManager 调度器,启动和监控ApplicationMaster
e) NodeManager 应用程序的容器,监控资源(CPU、内存、网络)使用情况

3、写出下列执行命令

a) 杀死一个Job

hadoop job -list //取得Job id
hadoop job -kill job_id

b) 删除HDFS上目录或文件

hadoop fs -rm -r -skipTrash /path_to_file/file_name
hadoop fs -rm -r /folder_name
注:-skipTrash >>> 是否放入回收站

c) 添加节点

修改slaves文件,在各个节点添加IP
hadoop-daemon.sh start datanode
hadoop dfsadmin -refreshNodes

d) 删除节点

在master节点上创建并修改excludes文件,添加删除节点IP,
hadoop dfsadmin -refreshNodes

4、Hadoop调度器,工作方式

a) FIFO scheduler:先进先出,默认
b) Capacity scheduler:计算调度器,选择占用内存小、优先级高的
c) Fair scheduler:公平调度器,所有Job占用相同资源

5、java开发Map/Reduce的优缺点

a) Java编写mapreduce可以实现发杂的逻辑,如果需求简单,则显得繁琐。
b) HiveSQL基本上都是对Hive中表数据的编写,对发杂的逻辑很难实现。

你可能感兴趣的:(面试)