项目简述:
基于开源Hadoop2.0架构的集群网络,进行海量数据的分布式计算。由于Hadoop集群规模不断扩大,而搭建一个同等规模的测试集群需要一笔昂贵的开销。目前有100台左右物料,期望预测计算节点1500+的集群网络性能,目前考虑通过模拟仿真或数学建模的方法来预测大规模集群极限性能,以及对大规模集群的瓶颈进行推测和提出解决方案。
 
项目预期目标:
1.       针对目前Hadoop集群性能瓶颈提出解决方案;
2.       依据小规模Hadoop集群,预测大规模Hadoop集群性能;
3.       预测大规模Hadoop集群瓶颈,提出解决方案;
4.       针对不同业务场景,评估Hadoop集群系统极限性能进行量化评估;
5.       进一步建立合理的数学模型;

目前已知的Hadoop集群性能瓶颈:
1.  单NameNode瓶颈:集群太大;任务量大,中心节点资源调度分配瓶颈;中心管理节点的计算和带宽能力有限,因此当集群节点的规模大时,会导致规模扩展差的问题。中心节点故障导致的问题会很严重。
2.  网络瓶颈:MapReduce和Spark的shuffle阶段拉取数据对网络压力很大(可能多于输入数据量,采用基本的多数据业务物理网卡复用),超时导致失败;
3.  数据分布倾斜热点:受数据类型影响,计算层少量task计算了大量数据;
4.  MapReduce\Yarn\Spark提交任务的RPC请求太多,导致消息队列溢出;
5.  HBASE写入和查询并发,HBASE依赖zookeeper能力(200 TPS,目前提升不了了,ZK最多5个节点,增加后性能变差,因为要同步,而且好算,不用太关注);
6.  业务阶段心跳能力:简单心跳场景下,模拟心跳激励AMS,实测能力为单线程10K/s,3s上报一次,最多5线程,因此实际能力为150K/3s,而实际Container并发心跳总量为1500*32=48K/3s,可以满足;复杂心跳没测过;NM和RM之间心跳压力更小;
7.  客户端操作:客户端并发读写HDFS NameNode TPS =10K~20K,短时间解决不了,只能上多namenode Frederation命名空间特性,使用NNBENCH激励;

以下为部分参考资料,仅供参考:
模拟仿真方法:
[1]潘旭明,  MapReduce FairScheduler的高性能优化及超大规模集群模拟器设计及实现[D].浙江大学,2012
[2]曾林西, 基于性能预估的Hadoop参数自动调优系统[D].华中科技大学, 2013
[3]刘知俊, 面向性能调优的MapReduce集群模拟器的研究与设计[D],杭州电子科技大学,2012
 
数学建模方法:
[1] 韩海雯. MapReduce 计算任务调度的资源配置优化研究[D]. 广州: 华南理工大学, 2013.
[2] Han J, Ishii M, Makino H. A hadoop performance model for multi-rack clusters[C]//Computer Science and Information Technology (CSIT), 2013 5th International Conference on. IEEE, 2013: 265-274.
[3] Lin X, Meng Z, Xu C, et al. A practical performance model for hadoop mapreduce[C]//Cluster Computing Workshops (CLUSTER WORKSHOPS), 2012 IEEE International Conference on. IEEE, 2012: 231-239.

华为大数据项目fusionInsight的更多相关文章

  1. 大数据项目(MTDAP)随想

    Spark MLlib进行example测试的时候,总是编译不通过,报少包<Spark MLlib NoClassDefFoundError: org/apache/spark/ml/param ...

  2. 大数据项目实践:基于hadoop+spark+mongodb+mysql+c#开发医院临床知识库系统

    一.前言 从20世纪90年代数字化医院概念提出到至今的20多年时间,数字化医院(Digital Hospital)在国内各大医院飞速的普及推广发展,并取得骄人成绩.不但有数字化医院管理信息系统(HIS ...

  3. 大数据项目测试<二>项目的测试工作

    大数据的测试工作: 1.模块的单独测试 2.模块间的联调测试 3.系统的性能测试:内存泄露.磁盘占用.计算效率 4.数据验证(核心) 下面对各个模块的测试工作进行单独讲解. 0. 功能测试 1. 性能 ...

  4. 如何在IDEA里给大数据项目导入该项目的相关源码(博主推荐)(类似eclipse里同一个workspace下单个子项目存在)(图文详解)

    不多说,直接上干货! 如果在一个界面里,可以是单个项目 注意:本文是以gradle项目的方式来做的! 如何在IDEA里正确导入从Github上下载的Gradle项目(含相关源码)(博主推荐)(图文详解 ...

  5. 大数据项目相关技术栈(Hadoop周边技术)

    J2EE 框架Spring 开发框架 + SSH or SSM Lucene 索引和查询IKAnalyzer 分词Webmagic 爬虫 ETL工具:KettleSqoop 结构化数据库-hadoop ...

  6. 大数据项目之_15_电信客服分析平台_01&02_项目背景+项目架构+项目实现+数据生产+数据采集/消费(存储)

    一.项目背景二.项目架构三.项目实现3.1.数据生产3.1.1.数据结构3.1.2.编写代码3.1.3.打包测试3.2.数据采集/消费(存储)3.2.1.数据采集:采集实时产生的数据到 kafka 集 ...

  7. 大数据项目之_15_电信客服分析平台_03&04_数据分析

    3.3.数据分析3.3.1.Mysql 表结构设计3.3.2.需求:按照不同的维度统计通话3.3.3.环境准备3.3.4.编写代码:数据分析3.3.5.运行测试3.3.6.bug 解决 3.3.数据分 ...

  8. 大数据项目中的Oracle查询优化

    今天发现自己之前写的一些SQL查询在执行效率方面非常不理想,于是尝试做了些改进. 需求为查询国地税表和税源表中,国税有而税源没有的条目数,之前的查询如下: SELECT COUNT(NAME) FRO ...

  9. 大数据项目中js中代码和java中代码(解决Tomcat打印日志中文乱码)

    Idea2018中集成Tomcat9导致OutPut乱码找到tomcat的安装目录,打开logging.properties文件,增加一行代码,覆盖默认设置,将日志编码格式修改为GBK.java.ut ...

随机推荐

  1. 一种480 MHz无线数传模块的设计

    一种480 MHz无线数传模块的设计 来源:电子技术应用2012年第6期 作者:严 冬,黄 聃,王 平,彭 杰,朱柏寒2012/8/13 16:56:32 关键词: 微处理器|微控制器 物联网 RF  ...

  2. !KMP算法完整教程

      KMP算法完整教程 全称:                               Knuth_Morris_Pratt Algorithm(KMP算法) 类型:                ...

  3. nodejs系列笔记01---Buffer

    纯JavaScript无法处理二进制数据,buffer就是用来处理二进制数据的 原始数据保存在buffer实例中,一个buffer实例类似于数组.buffer的大小在建立时指定的不可更改. buffe ...

  4. 使用AllocConsole()添加调试用控制台

    AllocConsole 函数 为调用进程分配一个新的控制台. 使用步骤: 1. AllocConsole(); //分配控制台 2. HANDLE  g_hOutput=GetStdHandle( ...

  5. 第一百五十节,封装库--JavaScript,表单验证--密码验证

    封装库--JavaScript,表单验证--密码验证 效果图 html <div id="reg"> <h2 class="tuo">& ...

  6. hibernate中的java对象有几种状态,其相互关系如何(区别和相互转换)。

    hibernate中的java对象有几种状态,其相互关系如何(区别和相互转换). 解答:在Hibernate中,对象有三种状态:临时状态.持久状态和游离状态. 临时状态:当new一个实体对象后,这个对 ...

  7. Android插件化开发之OpenAtlas生成插件信息列表

    上一篇文章.[Android插件化开发之Atlas初体验]( http://blog.csdn.net/sbsujjbcy/article/details/47446733),简单的介绍了使用Atla ...

  8. linux运维/自动化开发__目录

    服务器软件安装 nginx apache php mysql oracle tomcat memcached mongodb sqlserver 常用pc端工具安装使用 Xshell         ...

  9. cinder服务端的keystone认证机制

    keystone在openstack中的地位 Keystone作为OpenStack中的身份管理与授权模块,主要实现系统用户的身份认证.基于角色的授权管理.其他OpenStack服务的地址发现和安全策 ...

  10. Ubuntu修改默认root及密码

    Ubuntu的默认root密码是随 机的,即每次开机都有一个新的 root密码. 我们可以在终端输入命令 sudo passwd, 然后输入当前用户的密码,enter, 终端会提示我们输入新的密码并确 ...