分享

hadoop面试题,测试一下你的实力

 
pig2 发表于 2013-11-10 23:18:07 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 67 139484
yy504025810 发表于 2014-2-3 12:39:03
不错,我感觉这个挺好的额,顺便下来看那看~!
回复

使用道具 举报

KarmicKoala 发表于 2014-2-4 22:37:10
本帖最后由 pig2 于 2014-2-6 22:07 编辑

这是我做的答案,有什么有问题的地方大家一起讨论一下。

1. 考虑后,决定使用 MR 来实现,于是使用Java,用一个MR Job完成这个事情:

https://gist.github.com/anonymous/8802923

2.

2.1 使用 find + sed 来实现:
  1. find /home/ocetl/app/hadoop -exec sed -i 's/\$HADOOP_HOME\$/\/home\/ocetl\/app\/hadoop/g' {} \;
复制代码
2.2 直接使用ssh的参数
  1. #!/bin/bash
  2. if [ $# -ne 1 ]
  3. then
  4.         echo "Usage: `basename $0` {command}"
  5.         exit
  6. fi
  7. for i in H1 H2 H3 H4 H5 H6 H7 H8 H9 H10
  8. do
  9.         echo "$i:"
  10.         ssh $i "$1"
  11. done
复制代码
3.
3.1 不了解,HDFS用了缓存
3.2 问题是当硬盘空间很大,而内存页面缓存很少的时候,DN的Block report需要很长时间生成,而此时 FSVolumeSet 锁是锁住的,因此所有读写操作都无法执行,最终导致那些操作超时。此问题是建议提供一种方法使block report不需要持有FSVolumeSet锁,从而不会导致那些任务失败。

4. 只是替换分隔符从空格到逗号,以及增加搜索关键字列表:

https://gist.github.com/anonymous/8803741

5. 第五题的程序是什么?

6.
        hosts:增加局域网主机名和ip对应关系,省得再记住ip;
        hostname:该主机名,克隆虚拟机的时候经常需要这么做;
        fstab:修改挂载点,加新硬盘的时候会需要;
        profile, bash.bashrc: 修改系统范围环境变量时经常用;
        network/interfaces:配置静态IP时需要。

7
7.1

https://gist.github.com/anonymous/8804298

7.2 可以使用Profiler来对性能进行评估分析,比如Eclipse的TPTP,或者JProfiler。可以观察不同函数调用次数和以及占用时间,从而减少调用次数,以及优化函数内部。



回复

使用道具 举报

GeneralJing 发表于 2014-2-10 10:29:05
看不懂,菜鸟一个,得抓紧学习才行
回复

使用道具 举报

ActionReaction 发表于 2014-2-16 21:42:25
看看 学习下
回复

使用道具 举报

noame 发表于 2014-2-18 10:28:36
不错,收藏了慢慢学习
回复

使用道具 举报

SuperTong 发表于 2014-3-11 09:07:55
收藏下,希望以后我也能像楼主这么牛
回复

使用道具 举报

哈读普阿,思密 发表于 2014-3-18 11:58:49
看看学习学习
回复

使用道具 举报

hadoop520 发表于 2014-4-2 23:14:41
不错!哈呵呵呵呵
回复

使用道具 举报

jefflezhang 发表于 2014-4-25 11:20:07
学习,谢谢楼主
回复

使用道具 举报

zhulaobanxiaozh 发表于 2014-5-14 22:03:40
不错,好好学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条