Hadoop管理员的十个最佳实践

接触Hadoop有两年的时间了,期间遇到很多的问题,既有经典的NameNode和JobTracker内存溢出故障,也有HDFS存储小文件问题,既有任务调度问题,也有MapReduce性能问题。遇到的这些问题有些是Hadoop自身的缺陷(短板),有些则是使用的不当。

在解决问题的过程中,有时需要翻源码,有时会向同事、网友请教,遇到复杂问题则会通过mail list向全球各地Hadoop使用者,包括Hadoop Committer(Hadoop开发者)求助。在获得很多人帮助后,自己将遇到问题和心得整理成文,希望本文可以对那些焦头烂额的Hadoop新手们有所帮助,少走笔者的弯路。

本文基于Cloudera CDH 3u4(同Apache Hadoop 1.0)编写。相关推荐配置为官方推荐值或者笔者经验数值,它不是绝对的,可能会因为不同的应用场景和硬件环境有所出入。

1. 选择Cloudera CDH部署你的Cluster

动机

大多数管理员都是从Apache Hadoop开始学习。笔者最开始也使用Apache版本Hadoop进行开发和部署工作,但接触到Cloudera CDH后,我发现它可以使管理员的工作更简单,不仅可以获得最新的特性和Bug修复,有时也会带来令人惊喜的性能改善。

CDH为什么更好?笔者罗列了以下几点:

CDH基于稳定版Apache Hadoop,并应用了最新Bug修复或者Feature的Patch。Cloudera常年坚持季度发行Update版本,年度发行Release版本,更新速度比Apache官方快,而且在实际使用过程中CDH表现无比稳定,并没有引入新的问题。

Cloudera官方网站上安装、升级文档详细,省去Google时间。

CDH支持Yum/Apt包,Tar包,RPM包,Cloudera Manager四种方式安装,总有一款适合您。官方网站推荐Yum/Apt方式安装,笔者体会其好处如下:

联网安装、升级,非常方便。当然你也可以下载rpm包到本地,使用Local Yum方式安装。

自动下载依赖软件包,比如要安装Hive,则会级联下载、安装Hadoop。

Hadoop生态系统包自动匹配,不需要你寻找与当前Hadoop匹配的Hbase,Flume,Hive等软件,Yum/Apt会根据当前安装Hadoop版本自动寻找匹配版本的软件包,并保证兼容性。

自动创建相关目录并软链到合适的地方(如conf和logs等目录);自动创建hdfs, mapred用户,hdfs用户是HDFS的最高权限用户,mapred用户则负责mapreduce执行过程中相关目录的权限。

推荐指数:★★★

推荐理由:获取最新特性和最新Bug修复;安装维护方便,节省运维时间。

2. Hadoop集群配置与管理

安装和维护Hadoop集群涉及大量的管理工作,包括软件安装,设备管理(crontab、iptables等)、配置分发等。

对于小型集群软件分发和节点管理可以使用PDSH这款软件,它可以通过免密钥的SSH将文件分发到目标服务器,以及为一组目标设备发送命令并获得反馈。如果是大型集群或者硬件配置差别很大的集群,推荐使用puppet这样的工具帮助你维护配置文件,或者通过Cloudera Manager以GUI的方式的管理集群(注意:Clodera Manager不是开源软件,免费版最多支持50个节点)。

推荐指数:★★★

推荐理由:提高运维效率

3. 开启SecondaryNameNode

SecondaryNameNode(下称SNN)的主要功能是工作是帮助NameNode(下称NN)合并编辑日志,然后将合并后的镜像文件copy回NN,以减少NN重启时合并编辑日志所需的时间。SNN不是NN的热备,但是通过以下步骤可以实现将SNN切换为NN的目的。首先,SNN节点上导入从NN Copy过来的镜像文件,然后修改SNN机器名和IP与NN一致,最后重启集群。

特别注意的是SNN的内存配置要与NN一致,因为合并编辑日志的工作需要将metadata加载到内存完成。另外,不仅仅是SNN,任何保存NN镜像的节点都可以通过上面步骤变为NN,只是SNN更适合罢了。

推荐指数:★★★

推荐理由:减少NN重启导致集群服务中断时间;NN节点故障后,SNN充当NN角色

(责任编辑:蒙遗善)

时间: 2024-08-01 00:57:18

Hadoop管理员的十个最佳实践的相关文章

运维经验分享:Hadoop管理员的十个最佳实践

大多数管理员都是从Apache Hadoop开始学习.笔者最开始也使用Apache版本Hadoop进行开发和部署工作,但接触到Cloudera CDH后,我发现它可以使管理员的工作更简单,不仅可以获得最新的特性和Bug修复,有时也会带来令人惊喜的性能改善. 接触Hadoop有两年的时间了,期间遇到很多的问题,既有经典的NameNode和JobTracker内存溢出故障,也有HDFS存储小文件问题,既有任务调度问题,也有MapReduce性能问题.遇到的这些问题有些是Hadoop自身的缺陷(短板)

购物车邮件的十个最佳实践提示

购物车邮件的十个最佳实践提示 我想,大概如今每个人都在做挽回购物车的邮件(basket abandonment email).但刚被证明我错了. 依据我们的研究,英国前http://www.aliyun.com/zixun/aggregation/11629.html">100个电子商务网站(由Hitwise划定)中,只有不到10%目前做挽回购物车的邮件,所以我觉得还是贴一下这十年来我们积累的10个最佳实践所得. 1. 了解为什么有人放弃购物车的原因发生这种事情最大的三个原因,是过于复杂的

Hadoop MapReduce开发最佳实践

前言 本文是Hadoop最佳实践系列第二篇,上一篇为<Hadoop管理员的十个最佳实践>. MapRuduce开发对于大多数程序员都会觉得略显复杂,运行一个WordCount(Hadoop中hello word程序)不仅要熟悉MapRuduce模型,还要了解Linux命令(尽管有Cygwin,但在Windows下运行MapRuduce仍然很麻 烦),此外还要学习程序的打包.部署.提交job.调试等技能,这足以让很多学习者望而退步. 所以如何提高MapReduce开发效率便成了大家很关注的问题.

E-MapReduce(云Hadoop生态)之最佳实践

引言 当今想提高竞争力,大数据分析是一个很好的途径.每个行当都会有很多企业在做,做精才有出路.从市场.产品本身的优化.后续的服务都需要数据的支持.很多企业数据分析部是其公司灵魂的部门. 本篇是实践篇,主要讲述hadoop的一些处理场景,一些大致的架构,特别是在云上的一些最佳实践.本篇是建立在阿里云E-MapReduce及整个阿里云体系之上的. 本篇描述场景肯定有不全,但力求覆盖最多的场景,如果读者有一些其它好的场景,欢迎直接联系笔者. 这些场景只是一些典型场景的抽象,一般一个业务系统会交叉使用的

《DevOps实战:VMware管理员运维方法、工具及最佳实践》——3.4 管理源代码

3.4 管理源代码 源代码管理(SCM,Source Code Management)是DevOps环境中必不可少的元素.想象一下:如果你要把基础设施转换为代码,重要的是有一种回顾任何更改.在新更改引入问题(例如,在最好的情况下是定期出现不稳定的情况,在最糟糕的情况下引起停机)时回到文件不同版本的手段.有些人可能认为"容易"的方法是建立文件的多个拷贝,每个都使用唯一的名称(Vagrantf?ile1.Vagrantf?ile2.Vagrantf?ile01012015等),但是接着当你

混合云使用不能盲目:学习最佳实践是王道

多年来,企业一直享受着混合云带来的益处.然而,他们同时也忍受着不断增长的痛苦,混合云的新人可以从他们的前辈所犯的错误中学习. 混合云的采用率正在上升.很多组织看到了云服务的优势,但他们也想要自己拥有一定的灵活性,将一些工作负载和数据保持在本地的控制下. 虽说有些意外,但对于IT来说,混合云的"真正的"定义并不总是很清楚--特别是因为云清洗.混合云是一种IT部署模型,它使用本地(私有)云和第三方(公共)云服务的混合,在两个平台之间进行协调. MarketsandMarkets估计,到20

十个最佳方法保护Windows文件服务器

你强化过你的文件服务器了吗?按照以下方法,可以充分保护你的重要文件,阻止未经授权的入侵. 现在把你公司有价值的机密信息存放在一个或者多个windows文件服务器上,是一个非常安全的做法.可能不太明显的是,你不知道强化的程度和保护数据防止非法入侵的范围. 如果你不知道从哪入手的话,没关系只要按照以下通过实践得出的十个最佳方法去做就行了: 第一招:确保您的服务器在物理层面上是安全的. 如果入侵者可以物理访问你的服务器,那么你将会有被带走整个机器或者一个硬盘的风险.除了要确保物理安全之外,你还应该配置

UEBA的预期,特性和最佳实践

作为一种高级网络威胁检测手段,用户与实体行为分析(UEBA)最近风头正劲.UEBA解决方案利用机器学习来使威胁浮出水面,很多案例中远快于传统的安全信息和事件管理(SIEM)系统或其他解决方案.它们以极高的准确率命中异常事件. 如果以上描述让你联想起别的分析工具,那不是巧合.用户行为分析作为一种安全特定的应用,与所有智能业务分析采用的基本原则是一致的. UEBA的工作原理是?功效是? 首先,UEBA解决方案收集网络多个节点产生的信息.最好的解决方案会从网络设备.系统.应用.数据库和用户处收集数据.

PgSQL · 最佳实践 · 双十一数据运营平台订单Feed数据洪流实时分析方案

摘要 2017年的双十一又一次刷新了记录,交易创建峰值32.5万笔/秒.支付峰值25.6万笔/秒.而这样的交易和支付等记录,都会形成实时订单Feed数据流,汇入数据运营平台的主动服务系统中去. 数据运营平台的主动服务,根据这些合并后的数据,实时的进行分析,进行实时的舆情展示,实时的找出需要主动服务的对象等,实现一个智能化的服务运营平台. 通过阿里云RDS PostgreSQL和HybridDB for PGSQL实时分析方案: - 承受住了几十万笔/s的写入吞吐并做数据清洗,是交易的数倍 - 实