【知识分享】Transwarp HyperBase 运行模式(cluster/local)
Transwarp Hyperbase可以运行在Localmode和clustermode模式下,可通过set ngmr.exec.mode=local/cluster进行设置。
Localmode
Localmode:单节点模式,同一时间只有一台机器读数据,是一个查询模型。主要应用在高并发实时业务场景,为Hyperbase的高并发查询服务。Job只在InceptorServer所在机器上另起线程执行,不需要将task分发出去,不需要申请资源注册Executor。
特点: 占用资源少,并发程度高。使用场景: 低延时、高并发、参与计算数据量少。
目前适合Local模式的场景有以下四种:
基于Hyperbase索引的查询或计算;
Join通过Lookup Join实现的场景,适用于大表为Hyperbase表的情况;
Clustermode
Clustermode: 集群模式,是一个扫表统计模型,把请求发送到所有计算机,是目前集群安装完成后的默认模式,主要应用在批处理业务中。一个Job的task需要分发到不同节点的Executor上来并发执行,该模式下SparkContext需要申请资源注册Executor。
使用场景:牵扯到分析、统计、计算等业务。
localmode被kill org.apache.spark.TaskKilledException: 原因localmode 默认10s后kill 进程。可以通过ngmr.local.job.record.timeout.ms设置调大。
两种方式:
(1)通过hive-site.xml文件配置
(2)直接set ngmr.local.job.record.timeoit.ms=100000;localmode另一个限制是扫描数据不能超过500w行。