分类:分布式系统测试

支付宝--平台技术部--质量技术部--工具平台研发团队招聘

蚂蚁金服--平台技术部--质量技术部--工具平台研发团队邀请您一起打造AQC 全力打造蚂蚁金服全站产品质量管控、资损防控、风险防控、测试管控、回归体系、效率工具、无线测试等平台,见http://aqc.alipay.net 全站回归体系建设,见详情;无线测试平台建设,见详情;线下工具平台建设实践,见详情 工作年限:五年以上 学历要求:本科或硕士 岗位级别:P6+、P7、P8 待遇面谈:Base + 年终奖+ 红包 + 股权激励 岗位描述: 1. 负责测试平台研发、持续集成平台或回归体系建设、自动化测试框架研发、移动应用开发(andriod或ios); 2. 带领组员进行项目研发和关键技术攻关; 3. 要带头写代码,尤其是技术攻关,要能够落地,不单单只是方... 详情

沧海拾贝——一个递归引发的思考

最近一段时间,在登月项目中接触到一个涉及数据对比的工具,需要对hdfs上的一些原始数据进行按行解析,并重新保存成可被hive识别的数据文件。作为一个复杂度不高的应用MR并行计算框架的工具,设计制作过程还是很顺利的,两三天的功夫编码完成,自测也通过了,然而上线使用后,却发生了一个意想不到的bug,在解决该bug的过程中,我有幸从中获得了一些新的技术启发,也许对大多数技术人员来说只是一个常规到不值一提的小技术点,然而对我却是一个不错的感悟,记录下来以供抛砖引玉。 闲话少说,直切重点。 事情是这样的,用户的需求是希望将某个路径作为参数传递给工具,然后工具可以遍历该目录下的所有子目录和文件,将所有数据文件进行解析转换。对于这样一个需求,最常规的思路是做一个递归函数,遇到文件时处理文件,遇到... 详情

工欲善其事必先利其器——第四弹 业务线仿真回归流程剖析

引言 Hadoop集群的计算和数据处理能力随着集群规模的增长逐渐形成了一个弥漫天际的浩翰空间,处于其中的各种数据应用、采集作业、数据分析、数据挖掘,以及前沿的机器学习、人工智能等都如同空间中的一朵朵云彩,此消彼长。Hadoop集群根据业务提起的请求按需动态分配计算资源、数据空间,虽然业务的需求是复杂多变的,但是对于大规模的Hadoop集群来说,整体的计算能力需求则始终是平滑的。这正是云计算的特点,而为了应对这样一个动态的计算资源,仅仅通过前几弹描述的一些含有相当强烈针对性的测试作业来模拟真实状况显然是远不够完备的。 因此,我们需要对每一个新发布的Hadoop版本进行真实的业务线作业仿真模拟回归。这种仿真回归可以最大限度的验证发布版的每个功能点是否正确可靠,检查在新版本下集群的稳定性... 详情

工欲善其事必先利其器——第三弹 用云存储实现对云计算的监控

引言 大凡集群系统的性能、压力测试,都要通过监控系统进行收集整理。其中ganglia是集群监控最常用的工具之一。它与Hadoop生态圈结合的非常好,且性能优良,不会对系统本身性能造成影响。 Ganglia是UC Berkeley发起的一个开源集群监视项目,包含gmond、gmetad两个服务,以及一个web展示前端。本身部署后就立即可以对cpu、memory、network、disk等情况进行监控汇总。gmond负责收集系统的这些监控指标数据,一般若干个节点会有一个master,负责从子节点上通过tcp协议抓取这些节点的xml格式的监控数据。若干master再向更上一层的master汇总,直到gmetad这一层会将所有数据保存到rrd数据库中。这样层层抓取进而汇总的模式,保证了... 详情

云梯1跨机房测试整体解决方案

云梯1跨机房测试整体解决方案 阅读本文前建议先阅读云梯跨机房方案介绍,了解云梯跨机房项目背景,难点以及解决方案。本文重点介绍下跨机房测试的整体解决方案 l 功能测试 使用Kelude进行测试用例管理 l 数据安全性测试 数据安全简单的说就是不能丢数据,跨机房后集群规模到达近万台,数据存储到达数百PB,如何确保数据安全是一个很大的挑战 在跨机房的情况下,我们通过(Sange、Slive、DFSIO)模拟线上比例的各种混合性操作,通过NN的FSCK, CN的 CrossCheck工具定位异常数据如CORRUPT,一直处于BEING WRITTEN无法关闭的文件,跨机房失败的文件 数据安全性测试里需要考虑的一种重要场景是NN和DN重启,在实际的升级过程中,在集群重启... 详情

工欲善其事必先利其器——第二弹 HDFS性能压测工具浅析

引言 Hadoop生态圈的基石有两个,一个是HDFS文件系统,一个是MR编程框架。第一弹中提到应用MR编程框架实现大规模多机联合负载压测场景的方案,则突出了MR的能力,实际上HDFS作为这一切的基础,所起的作用是不容忽视的。 HDFS分布式文件系统与一般的文件系统,从本质构成上来说并没有太大的区别,普通磁盘上的文件系统,例如ext3有数据块(block),HDFS也有这个概念,ext3的分区表记录了文件与block、block与扇区的对应关系,同样HDFS的fsimage文件中也包含了这类信息。对于一个整体的分布式系统来说,HDFS包含两个重要角色,一个是中心节点Namenode,一个是数据节点Datanode。其中Namenode用来记录文件目录结构树,即元数据fsimag,... 详情

工欲善其事必先利其器——番外篇 Distcp工具深入分析

引言 DistCp命令是hadoop用户最常使用的命令之一,它位于hadoop tools包中,代码不多,约1300多行,主要用于在两个HDFS集群之间快速拷贝数据。DistCp工具代码结构清晰易懂,通过分析该工具的代码有助于我们更好的理解MR编程框架,并可以对hdfs文件系统有一个初步的了解。 用法 DistCp使用方法如下表所示: OPTIONS: -p[rbugp] Preserve status r: replication number b: block size u: user g: group p: permission -p alone is equivalent to -prbu... 详情

工欲善其事必先利其器——第一弹 应用MapReduce制作压测利器

引言 众所周知,MapReduce编程框架(以下简称MR)一直是大并发运算以及海量数据读写应用设计的利器。在MR编程体系下,一个job通常会把输入的数据集切分为若干块,由map task以完全并行的方式处理消化这些数据块。框架会对map的输出先进行排序,然后把结果作为输入提交给reduce任务。通常作业的输入和输出都会被存储在文件系统中。整个框架负责任务的调度和监控,以及重新执行已经失败的任务。典型的MR程序有如下重要模块结构构成: No. 模块 描述 1 InputFormat 定义map输入数据的格式 2 OutputFor... 详情

一种基于mysql标准库测试方法

引言:本文介绍一种基于mysql标准库测试方法,主要适用于mysql分布式数据存储项目的测试。 一、分布式存储系统介绍: 分布式存储系统,是将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。 二、mysql标准库测试实现原理 分布式存储与使用单个mysql的联系: 1)数据的分布与上层数据查询分离,无论数据的分布如何变化,上层应该都能够查出正确的结果。 2)相同操作,使用mysql分布式数据存... 详情

容错测试2-hsf mock方案

问题描述: 前文中描述了基于aop的容错测试解决方法, 我们可以结合具体的业务,使用场景来编写脚本进行测试.但是实际工作中,随着业务复杂度的不断提高,系统间的相互依赖更加复杂,完全依赖测试人员一个个编写针对性的容错测试脚本来保证系统的容错能力,会越来越困难.我们需要一个更”自动化”的解决方案. 再仔细分析一下淘宝的实际使用场景,淘宝的应用这件的依赖关系类似下图: 一个淘宝的应用,依赖几十个其他应用提供的服务是很正常的现象。依赖系统之间使用HSF服务(淘宝内部的分布式的服务框架,RPC解决方案)来进行相互调用,在调用方进行如下的配置,就可以调用远程的hsf服务. 应用提供的服务如果有异常,对于服务的使用方来说就是调用HSF时抛异常,比如在hsf服务调用超时,在使... 详情

Hadoop/Hive/元数据库/Hivesql/Datax环境的搭建

入职以来本人一直在做海量数据计算建模应用的相关开发和测试工作,年前有幸全权负责一个应用的开发并将应用成功上线,从底层数据到上层应用通通走了一遍,成长良多。在工作过程中发现多部门协助内耗十分严重,由于本部门的PE同学不懂hadoop相关的环境搭建方法,而BI团队的PE又没有本部门预发线上的部署权限,由于业务和流程不熟悉,加之与多部门审核和工具使用协作等问题,使计算所依赖的运行环境准备问题,耽误了大量的时间,消耗了巨大的精力,也使本人身心饱受摧残!随着大数据应用场景越来越多,相信这种需求会越来越旺盛,不是BI部门的同学使用大数据环境的场景也越来越多,需要自己搭建环境的可能性也会越来越大,所以为了避免其他同学像我一样被蹂躏摧残,现将部署的过程总结分享如下,分享前先阐述文中几个名词含义: ... 详情

[2012 Q3 GBA] - 浏览器无规律死锁问题的发现和解决

Q3第一次参加GBA的评选就能拿到GBA大奖,还是挺开心的。现在离评选已经有一段时间了,也是该整理一下。在这里分享一下,与大家共勉。 这次参选的bug是一个关于浏览器无规律死锁的问题,从发现bug到解决bug共花了4个多月的时间,其中有很多感想和收获。这个bug解决后,我们也开发出了一套功能齐全的浏览器稳定性测试工具,可以对浏览器的死锁,crash,异常关闭等情况进行测试并且得到量化指标。关于工具的分享见我的另一篇博客:http://taobaotest.ruoguschool.com/blogs/2145 废话不多说了,下面来介绍这个bug的详细情况,如果有任何疑问的欢迎随时和我来联系。 参选bug: 使用过程中浏览器经常发生无规律的死锁,严重影响用户体验。 bug发现过程: 一开始... 详情

HBase使用中几个容易犯的小错误

HBase现在用户越来越多,在我们处理的问题中属于使用范畴的占的比重非常大。客户端的代码如果出现问题,很可能导致性能下降,客户端OOM等。下面我总结下几个常见小问题: HTable和HTablePool的使用 之所以要使用HTablePool是因为HTable本身线程不安全,不能在多线程中使用相同的HTable对象。在使用过程中会遇到以下几个问题: 1、HTablePool开多大合适? HTablePool的maxSize决定了pool中最多保持多少个htable对象。注意如果maxSize=10,我们需要并发20个htable,那么从HTablePool中仍然能get出多余的10个HTable对象,只不过调用htable.close()时这10个对象并不会放回pool,而... 详情

HBase中GC方面的优化策略

HBase在运维过程中最让人头疼的就是GC。1、随时可能出现的FullGc会导致瞬间客户端响应超时,甚至超过zookeeper超时时间而导致regionserver挂掉。2、blockcache在大量加载时会出现ygc时间瞬间彪高可能达到500ms以上。3、个别应用ygc时间长期保持在200ms左右,产生响应时间毛刺。针对上面3种情况我们分别做了一些探索和测试,具体的优化还在持续进行中,先分享一下我们最新的进展。 JVM参数设置 目前大部分JVM heap都在开在34G,其中新生代会设置在2G或4G,CMS发生比率在75%。个别应用为了尽量减少内存碎片的影响会设置CMS比率在65%,但是这样的做法其实牺牲了LRUCache的大小,影响了部分性能。 HBase发生FullG... 详情

HBase中MSLAB的应用

HBase写入数据首先会存放在自身的一个缓存中,我们称作MemStore,等待到达一定大小后才会将其中内容刷入磁盘形成文件。如此的策略很多存储系统都会用到,因为1、可以通过调节其大小控制刷入磁盘文件的大小,调节磁盘压力获取更好的性能。2、当需要读取刚刚写入的数据时,memstore就成为了高速缓存。好处显而易见,但是如果我们仅仅使用对象直接存储这些写入的数据时就会出现很恶心的问题:内存碎片。 内存碎片问题成因 从下面一张图我们就能看出传统做法为什么会产生内存碎片。左边是我们写入的数据存储在一个数据结构中,当MemStore达到一定的大小,其中的部分数据被刷入磁盘,同时从内存中被清理掉。就形成了右图的情况。原来连续的内存空间将不再连续,产生了很多的碎片,比碎片大小更大的对象将... 详情

返回首页 博客 技术交流 产品 期刊下载 关于我们 意见反馈 无障碍

浙ICP备09109183号-14 Copyright © 2003-2015 TaobaoTesting.com 版权所有