Spider分布式引擎介绍

编辑
文档创建者:doreen0813 (83193 )     浏览次数:3298次     编辑次数:19次     最近更新:doreen0813 于 2019-03-20     

目录:

1、描述编辑

Spider分布式引擎介绍 在线视频学习 请查看【Spider数据引擎】

计算模式中我们介绍过,FineBI的Spider引擎包含了三种数据计算模式:本地模式、分布式模式和直连模式,本地模式和分布式模式都是通过抽取数据到引擎来实现数据的保存,本地模式用于小数据量下的分析展示,对于大数据量,推荐使用分布式模式。

Spider分布式引擎利用HADOOP大数据处理思路,以最轻量级的架构实现大数据量高性能分析。此分布式方案集成了ALLUXIO 、SPARK、 HDFS、ZOOKEEPER等大数据组件,结合自研高性能算法,列式存储、并行内存计算、计算本地化加上高性能算法,解决大数据量分析问题与在FineBI中快速展示的问题。同时从架构上保证计算引擎系统全年可正常使用。

FineBI的web端服务器可以直接对接用户的数据库服务器取数,也可以将数据更新到Spider数据引擎中使用,业务部分的浏览依赖于客户端的浏览器。其中Web服务器与FineBI的spider计算引擎均可做横向扩展,如下图:

222

2、引擎定位编辑

FineBI的Spider分布式引擎定位于更先进、高可用、高扩展、高性能的一个引擎。下面我们分别详细介绍一下。

(1)更先进:分布式架构本身的先进性,并结合hadoop、spark、alluxio等大数据组件,以及分布式并行计算、内存加速、列式存储等先进的大数据技术为企业提供强力数据引擎;

(2)高可用:Spider分布式引擎的架构设计,保证了数据引擎的高可用。先进的大数据组件与先进的架构整合保证了系统的高可用,系统中节点数在3台及以上,即可实现数据引擎全年7*24小时持续可用。数据存储与计算上,完善灾难备份机制可保证数据不丢失,集群节点中过半机器挂掉也不影响计算,实现引擎系统的持续可用;

(3)更高扩展:分布式在使用时,存在多节点,多节点可以根据数据与系统需要扩展更多节点。动态弹性扩展计算存储节点,用低廉的成本提供更强的计算性能,让企业未来不再担心数据量的爆发式增长;

(4)更高性能:多节点分布式计算,内存加速,列式存储,高性能算法保证强劲的计算性能,突破FineBI旧引擎亿级数据量的瓶颈;

(5)更灵活:实时数据与数据抽取可以灵活切换,用户可以灵活控制数据是否需要做抽取,解决了不同数据展示类型下相同数据还需要做两遍前端展示的麻烦,帮助项目前期测试节省更多时间。同时实时数据与大数据量历史数据可以在一个dashboard中展示,满足更多分析需求;

(6)更稳定:先进清晰的构架,本身就为系统的稳定性能提供了有力支撑;

3、服务器推荐编辑

3.1 介绍

Spider引擎的计算依赖并行计算能力与内存加速,所以CPU核心越多,内存越大,性能就更好。内存所有机器加起来能装载所有数据最好,不用频繁与磁盘交换数据,达到最佳性能;硬盘没有特别要求,只要足够大,能装载5倍以上的原始数据(分布式数据冗余与备份)即可。

下面我们推荐的分布式引擎服务器配置以实现秒级响应为准,当需要分析的数据量比较大的情况下,理论上是需要抽取的最大单表数据量过亿(这边的数据量以最大单表的行来计算,这里指的是要抽取到分布式做分析的单表,并非数据库中的最大单表),或需要抽取的数据总量超过100G,就需要扩展数据存储的节点数,以便应对大数据量的分析计算。为保证数据引擎的高可用,推荐3台及3台以上的机器。由于Spider引擎(分布式)是数据计算密集型程序,因此需保证只运行这一个资源占用最多的程序。并且建议装在物理机上,不建议VM虚拟机。

系统环境要求必须是linux,要求必须是root用户。支持的详细版本可参考Spider分布式服务器配置备注:docker下的暂不支持)。推荐使用centOS7。

3.2 服务器推荐

这里的服务器推荐不考虑FineBI的Web端,不推荐将FineBI或Web集群部署在Spider分布式的节点上,建议FineBI单独部署在一台服务器上。否则被部署的节点压力过大,特别是IO存在严重的竞争,导致该节点很容易成为系统的瓶颈。FineBI的服务器推荐可参考硬件配置

1)分布式最低配置要求

应用场景:适用于测试阶段的最低要求,不符合要求系统无法正常运行。不能用作正式业务系统,抽取数据无法建立索引。

数据量  内存  CPU(推荐至强E5系列,2.5GHz以上)  硬盘  机器数   网卡 
  1亿~3亿  32G  8核心16线程 至强芯片 或以上带超线程x86指令集的企业级CPU 2.0GHz以上    1TB / 7200转     3台    千兆以上网卡  
  3亿~5亿  32G  8核心16线程 至强芯片 或以上带超线程x86指令集的企业级CPU 2.0GHz以上  3TB / 7200转     3台  千兆以上网卡 
  5亿~20亿  32G    8核心16线程 至强芯片 或以上带超线程x86指令集的企业级CPU 2.0GHz以上  6TB / 7200转   3台  千兆以上网卡

2)分布式推荐运行配置要求

数据量   内存CPU(推荐至强E5系列,2.5GHz以上)   硬盘  机器数  网卡 
  1亿~3亿  64G-128G  8核心16线程 至强芯片 或以上带超线程x86指令集的企业级CPU 2.5GHz以上
(例如 Intel Xeon E5-2697 v2)
  1TB / 7200转 HDD
或 PCI-E SSD
  3台千兆以上网卡  
  3亿~5亿 128G    8核心16线程 至强芯片 或以上带超线程x86指令集的企业级CPU 2.5GHz以上(例如 Intel Xeon E5-2697 v2)  3TB / 7200转 HDD 
或 PCI-E SSD  
  5台  千兆以上网卡   
  5亿~20亿 128G 以上    8核心16线程 至强芯片 或以上带超线程x86指令集的企业级CPU 2.5GHz以上(例如 Intel Xeon E5-2697 v2)  6TB / 7200转 HDD 
或 PCI-E SSD
  
  9台  千兆以上网卡  

如果内存不足够容纳一份抽取过来的数据大小,则可以增加SSD,使得所有SSD的空间+所有内存空间可以满足数据总大小。

3.3 数据量预估

这里提供根据表行数、大表数量、字段数来对机器所需详细磁盘空间的说明。

最大表行数     大表总数量   字段数  单台机器需要的磁盘空间  分布式占用总量  单台机器磁盘大小推荐  
  1千万行以下  10张以下  20列  20GB    20 * (4 份) GB  256GB
  1千万 行以下  100张以下  20列  200GB  200 * (4 份) GB  512GB
  1千万行-1亿行    10张以下  20列  400GB  400 * (4 份) GB   1TB
  1亿行-5亿行  10张以下  20列  2TB  2 * (4 份) TB  3TB
  5亿行-10亿行  10张以下  20列  4TB  4 * (4 份)TB  6TB
       ......      ......  ......  ......      ...... 
 1千万行*P   N张  20列*Q    (2 * N * P * Q)  GB  (2 * N * P * Q) * (4 份)  GB  

注:此处分布式占用总量中乘以的4份为HDFS对数据进行的备份,该备份默认为3份,可修改配置。因此总数据(压缩后)默认存储为4份。  

示例1:2千万数据量级表,80字段,5张:

           每张表大概为1 GB*2 * 4,其中 P 为2是由行数2/1得出,Q 为4是由字段80/20得出。就是 P*Q为8GB;

           大表为5张,那么 N为5;

           单节点需要空间大约为 80GB;

示例2:10张8千万40列表, 20张900万80列, 100张600万20列,200张10万20列;可以转换成以下情况来简化计算:

            10张8千万40列表  转变成 160张 1千万20字段表

            20张900万80列表 转变成 72张  1千万20字段表

            100张600万20列表 转变成 60张  1千万20字段表

            200张10万20列 2张  1千万20字段表

            那么最终需要单节点磁盘大小为 2*(160+72+60+2)* 1 GB;

3.4 服务器推荐示例
1)机器情况已知,对应支撑数据量

某公司有32g内存、500g硬盘、8核心、最多4台。要求达到的计算速度在10s之内。机器之间为千兆网络。能支撑的数据量如下:

  最大单表行数*列数    数据总物理体量  备份系数 查询用户数(单web的情况) 
2台    2亿*30列  100G  2  200
3台  3亿*30列  150G  2  200
4台   4亿*30列  200G  2  200

某公司有64g内存500g硬盘,8核心,最多4台。达到的计算速度在10s之内。机器之间为千兆网络。能支撑的数据量如下:

  最大单表行数*列数    数据总物理体量备份系数   查询用户数(单web的情况) 
2台    3亿*30列  100G  2  200
3台    5亿*30列    150G  2  200
4台   7亿*30列  200G  2  200

说明:数据总的物理体量,依赖于磁盘的大小。最大单表支撑与展示速度依赖于内存和CPU。

2)机器的详细配置示例

数据需求:最大单表10亿,日增30万,总量在6T左右

机器台数:5台,以下为每台机器的配置。

  组件型号要求  数量  
  独立阵列卡  支持raid1就行  不要也行,用于操作系统盘。系统不需要raid也很健壮。
  内联网卡  千兆网卡及以上  1
  CPU  Intel Xeon 主频2.6GHz以上   20core及以上
  SSD  256G~512G  256G~512G
  内存  128GB 128GB  
  磁盘  10k rpm 600/900/1000GB SAS   12+(总量保持每台12T左右即可)

更多行业的分布式服务器示例可参考分布式服务器案例



Spider分布式引擎介绍 在线视频学习 请查看【Spider数据引擎】



附件列表


主题: 部署集成
标签: 暂无标签 编辑/添加标签
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

本文档是否有用? [ 去社区提问 ]