- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
hadoop面试题选编
Hadoop就业面试宝典
简要描述如何安装配置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
2.0 请;列出正常的hadoop集群中hadoop都分别需要启动 哪些进程,他们的作用分别都是什么,请尽量列的详细一些。
答:namenode:管理集群,存储数据的原信息,并管理记录datanode中的文件信息。
Secondname:可以做冷备,对一定范围内数据做快照性备份。
Datanode:存储数据
Jobtracker :管理任务,并将任务分配给 tasktracker。
Tasktracker: 执行JobTracker分配的任务。
3.0请写出以下的shell命令
(1)杀死一个job
(2)删除hdfs上的 /tmp/aaa??录
(3) 加入一个新的存储节点和删除一个节点需要执行的命令
答:(1)hadoop job –list 得到job的id,然后执 行 hadoop job -kill jobId就可以杀死一个指定jobId的job工作了。
(2)hadoop fs -rmr /tmp/aaa
(3) 增加一个新的节点在新的几点上执行
Hadoop daemon.sh start datanode
Hadooop daemon.sh start tasktracker
然后在主节点中执行 hadoop dfsadmin -refreshnodes
删除一个节点的时候,只需要在主节点执行 hadoop mradmin -refreshnodes
请列出你所知道的hadoop调度器,并简要说明其工作方法
答:Fifo schedular :默认,先进先出的原则
Capacity schedular :计算能力调度器,选择占用最小、优先级高的先执行,依此类推。
Fair schedular:公平调度,所有的 job 具有相同的资源。
请列出你在工作中使用过的开发mapreduce的语言
答:java,hive
当前日志采样格式为
a , b , c , d
b , b , f , e
a , a , c , f
请你用最熟悉的语言编写mapreduce,计算第四列每个元素出现的个数
Static final String
答:
public class WordCount1 {
public static final String INPUT_PATH = hdfs://hadoop0:9000/in;
public static final String OUT_PATH = hdfs://hadoop0:9000/out;
public static void main(String[] args) throws Exception {
Configuration conf = new Configuration();
FileSystem fileSystem = FileSystem.get(conf);
if(fileSystem.exists(new Path(OUT_PATH))){}
fileSystem.delete(new Path(OUT_PATH),true);
Job job = new Job(conf,WordCount1.class.getSimpleName());
//1.0读取文件,解析成key,value对
FileInputFormat.setInputPaths(job,new Path(INPUT_PATH));
//2.0写上自己的逻辑,对输入的可以,value进行处理,转换成新的key,value对进行输出
job.setMapperClass(MyMapper.class);
job.setMapOutputKeyClass(Text.class);
job.setMapOutputValueClass(LongWritable.class);
//3.0对输出后的数据进行分区
文档评论(0)