项目简述:
基于开源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. 跟着百度学PHP[14]-COOKIE的应用/网站登陆案例完整案例

    先在数据库当中创建以下数据: mysql> create table user( -> id int not null auto_increment, ) not null default ...

  2. CentOS 7 ifconfig: command not found

    # ifcon-bash: ifconfig: command not found谷歌了一下,整理了一下解决思路 查看ifconfig命令是否存在 查看 /sbin/ifconfig是否存在 如果if ...

  3. NGUI3.7.4实现循环拖动

    前段时间下了NGUI新版本3.7.4,看到例子Endless Scroll Views,实现了循环拖动,可能会用到,先把实现步骤贴出来跟大家分享一下. 1.首先新建一个背景. 2.添加所需控件,类似滑 ...

  4. SecureCRT中 secureCRT使用VIM时对语法高亮

    1.在SecureCRT中 secureCRT使用VIM时对语法高亮 其实不是secureCRT的功能,而是VIM的 设置:Options ->Session Options -> Ter ...

  5. COCOS2D-HTML5 开发之二】cocos2d-html5项目定义成员,局部变量,函数笔记随笔

    本站文章均为李华明Himi原创,转载务必在明显处注明:(作者新浪微博:@李华明Himi) 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/cocos2d- ...

  6. PHP 清除HTML代码、空格、回车换行符的函数

    function DeleteHtml($str) { $str = trim($str); $str = strip_tags($str,""); $str = ereg_rep ...

  7. [Linux 学习] Centos 图形和命令行界面切换

    要想切换图形界面和命令行界面切换, 需修改一个文件... root 下, 到 /etc/inittab 修改 id:5:initdefault Linux系统有7个运行级别(runlevel): 运行 ...

  8. python数据类型及运算符

    python 的数据类型:数字.字符串.元组.列表.字典   type(a)  查看a的类型 数字: 整形int:-2 **32 ~+2**32 次方 长整形 a=123L 浮点float 复数型 - ...

  9. Java定时任务:利用java Timer类实现定时执行任务的功能

    一.概述 在java中实现定时执行任务的功能,主要用到两个类,Timer和TimerTask类.其中Timer是用来在一个后台线程按指定的计划来执行指定的任务. TimerTask一个抽象类,它的子类 ...

  10. 【BZOJ3144】[Hnoi2013]切糕 最小割

    [BZOJ3144][Hnoi2013]切糕 Description Input 第一行是三个正整数P,Q,R,表示切糕的长P. 宽Q.高R.第二行有一个非负整数D,表示光滑性要求.接下来是R个P行Q ...