高可用Hadoop平台-答疑篇
1.概述
这篇博客不涉及到具体的编码,只是解答最近一些朋友心中的疑惑。最近,一些朋友和网友纷纷私密我,我总结了一下,疑问大致包含以下几点:
- 我学 Hadoop 后能从事什么岗位?
- 在遇到问题,我该如何去寻求解决方案?
针对以上问题,我在这里赘述下个人的经验,给即将步入 Hadoop 行业的同学做个参考。
2.我学 Hadoop 后能从事什么岗位
目前 Hadoop 相关的工作大致分为三类:应用,运维,二次开发
2.1 应用
这方面的主要工作是编写MapReduce作业,利用Hive之类的套件来进行数据分析或数据挖掘,Hadoop在这里只是一个基础平台,仍然是需要自己编写相应的逻辑去实现对应的业务。从事这方面的工作,你至少要懂一门编程语言,如Java,Shell,Python等。由于Hadoop的源码是用Java语言编写的,目前业界Java方面的Hadoop社区活跃度相对较高,Shell和Python对应的活跃度较少。目前培训机构都是在这方面进行培养的比较多,你只需要对Hadoop的框架构造,基本的组织结构有所了解,理解MapReduce的编程框架和模式,懂得代码调优,能够使用Hadoop的相关套件,如:Hive,Sqoop,Flume等。
2.2运维
这方面主要负责Hadoop集群的搭建,系统的各种参数的调优,集群故障处理和保持集群运行稳定,这部分人才目前市场上是较为奇缺的,也是很多在Hadoop平台相对成熟的企业所青睐的人才,对于从事这部分工作的人同学来说,他可以不懂Java语言,但是在工作上必须处事冷静,做事严谨认真。如果由较强的钻研精神,可以通过自己的在实际工作中摸索一些调优的解决方案。同样,也可以参加一些峰会,沙龙之类的互动活动与业界的一些牛人交流工作心得,从而来获取一些有价值的方案。另外一个能体现Hadoop运维价值的因素,遇到问题能够快速定位并找到解决方案,不过这部分的工作经验都是靠平时工作日积月累出来的,当然和你运维的集群规模大小也有一定关系,若你由机会进入到拥有大集群的公司进行这方面的工作,你的成长会很快,不单单是运维Hadoop。Hadoop运维这类工作是没法弄虚作假的,你想随便谷歌点资料去忽悠,很容易被识破。
2.3二次开发
从事这方面工作的要求较高,而且也不是所有的企业都设有这样的工作岗位,这部分的工作有:按照企业实际需求,对Hadoop的框架本身进行修改以适用于企业本身业务;研究版本的新特性;规划版本升级等等。这方面就需要你对Hadoop的源码进行深入了解学习和研究,时刻关注Hadoop官网及Hadoop社区,了解最新版本的特性,把握Hadoop未来的发展前景及房子方向。
但是并不是所有的企业将这些岗位划分的这么明细的,有些企业根本不涉及二次开发,一个Hadoop工程师同时负责开发和运维,所以,我们不仅要在Hadoop应用这块烂熟于心,而且,基本的Hadoop运维我们也必须要掌握,至少集群的搭建,基本的集群维护这些我们要会去做。
3.在遇到问题,我该如何去寻求解决方案
这个问题是很多初入Hadoop的同学会遇到的,在开发时遇到异常,或集群在运行时抛出一些异常,不知所措,下面我给出自己在实际工作中的一些心得体会。
一般抛出异常,log 文件都会有记录,这些问题很大一部分可能是你首次遇到,遇到问题我得先备份这些信息(log文件,异常操作记录)。然后,我们在仔细分析日志信息,若实在是没有解决思路,则可参考以下方案:
- Google 关键字
这里给大家举个例子,异常信息如下所示:
java.io.ioexception could not obtain block blk_
这个异常信息我只截取了部分,我们首先到Google去搜索对应得关键字,如下图所示:

然后,Google会列出匹配到得或是相似得问题得结果,我们可以从中筛选出我们想要得结果。
- Hadoop Jira
若是在Google后找不到想要得结果,可在Apache的官方Jira上查找关键字,这里有来自世界各地从事这方面的人,他们会把出现的这些现象做详细的描述,有的甚至会给出解决方案,和附上相应的patch。


部分 Comments 截图如下所示:

通过阅读评论,我们知道出现这种情况大多数是节点断开了,连接不上,原因找到后,我们就好去解决了。
- 源码
若以上两中方式都未能解决,查看源码,理解工作原理,初步猜测原因,调试验证。其实解决只是时间问题。如果你想深入了解,阅读官方的Jira,找到你感兴趣的问题去研究。绝对会有不一样的体验。
4.结束语
这篇答疑博客就和大家分享到这里,如果大家在研究的过程当中,有什么疑问可以加群进行讨论或发送邮件给我,我会尽我所能为您解答,与君共勉!
高可用Hadoop平台-答疑篇的更多相关文章
- 高可用Hadoop平台-实战尾声篇
1.概述 今天这篇博客就是<高可用Hadoop平台>的尾声篇了,从搭建安装到入门运行 Hadoop 版的 HelloWorld(WordCount 可以称的上是 Hadoop 版的 Hel ...
- 高可用Hadoop平台-Oozie工作流之Hadoop调度
1.概述 在<高可用Hadoop平台-Oozie工作流>一篇中,给大家分享了如何去单一的集成Oozie这样一个插件.今天为大家介绍如何去使用Oozie创建相关工作流运行与Hadoop上,已 ...
- 高可用Hadoop平台-Hue In Hadoop
1.概述 前面一篇博客<高可用Hadoop平台-Ganglia安装部署>,为大家介绍了Ganglia在Hadoop中的集成,今天为大家介绍另一款工具——Hue,该工具功能比较丰富,下面是今 ...
- 高可用Hadoop平台-实战
1.概述 今天继续<高可用的Hadoop平台>系列,今天开始进行小规模的实战下,前面的准备工作完成后,基本用于统计数据的平台都拥有了,关于导出统计结果的文章留到后面赘述.今天要和大家分享的 ...
- 高可用Hadoop平台-集成Hive HAProxy
1.概述 这篇博客是接着<高可用Hadoop平台>系列讲,本篇博客是为后面用 Hive 来做数据统计做准备的,介绍如何在 Hadoop HA 平台下集成高可用的 Hive 工具,下面我打算 ...
- 高可用Hadoop平台-探索
1.概述 上篇<高可用Hadoop平台-启航>博客已经让我们初步了解了Hadoop平台:接下来,我们对Hadoop做进一步的探索,一步一步的揭开Hadoop的神秘面纱.下面,我们开始赘述今 ...
- 高可用Hadoop平台-启航
1.概述 在上篇博客中,我们搭建了<配置高可用Hadoop平台>,接下来我们就可以驾着Hadoop这艘巨轮在大数据的海洋中遨游了.工欲善其事,必先利其器.是的,没错:我们开发需要有开发工具 ...
- 高可用Hadoop平台-Flume NG实战图解篇
1.概述 今天补充一篇关于Flume的博客,前面在讲解高可用的Hadoop平台的时候遗漏了这篇,本篇博客为大家讲述以下内容: Flume NG简述 单点Flume NG搭建.运行 高可用Flume N ...
- 高可用Hadoop平台-Ganglia安装部署
1.概述 最近,有朋友私密我,Hadoop有什么好的监控工具,其实,Hadoop的监控工具还是蛮多的.今天给大家分享一个老牌监控工具Ganglia,这个在企业用的也算是比较多的,Hadoop对它的兼容 ...
随机推荐
- Redis-5.0.0集群配置
版本:redis-5.0.0 参考:http://redis.io/topics/cluster-tutorial. 集群部署交互式命令行工具:https://github.com/eyjian/re ...
- java的静态内部类
只是一个简单的记录.因为一直排斥java这个东西.java跟c++比是很不错的一个语言,至少内存管理这么麻烦的东西不用操心了.但是和不断崛起的脚本语言比起来,效率差的太多.无论如何做android还是 ...
- (转)mysql command line client打不开(闪一下消失)的解决办法
转自:http://www.2cto.com/database/201209/153858.html 网上搜索到的解决办法: 1.找到mysql安装目录下的bin目录路径. 2.打开cmd,进入到bi ...
- hdu 4941 map的使用
http://acm.hdu.edu.cn/showproblem.php?pid=4941 给定N,M和K,表示在一个N*M的棋盘上有K个棋子,给出K个棋子的位置和值,然后是Q次操作,对应的是: 1 ...
- sqoop快速入门
转自http://www.aboutyun.com/thread-22549-1-1.html
- Java学习--数组与方法
1. public class MethodDemo01{ public static void main(String args[]){ printInfo() ; // 调用printInfo() ...
- Linked List
链表是线性表的一种.线性表是最基本,最简单也是最常见的一种数据结构.线性表中数据元素之间的关系是一对一的关系,除了第一个和最后一个数据元素外,其他数据元素都是首尾相接的. 线性表有两种存储方式,一种是 ...
- Android-WebView加载网页(new WebView(this)方式)
之前的博客,都是 findViewById(R.id.webview);,来得到WebView, 此博客使用 new WebView(this)方式; AndroidManifest.xml中配置网络 ...
- 软件测试实践平台(Mooctest)FAQ
0. 背景 我们在<软件测试技术>课程使用 MOOCTEST (mooctest.net) 作为课程的实践教学平台. 在教学过程中学生们遇到了一些问题,本文将一一总结. 注意:本文在解决问 ...
- C#中类的属性的获取
/// <summary> /// 将多个实体转换成一个DataTable /// </summary> /// <typeparam name="T" ...