我读了一些关于使用hadoop进行实时处理的书,偶然发现了这个问题http://www.scaleoutsoftware.com/hserver/
根据文档所述,看起来他们使用hadoop worker/slave节点实现了一个内存中的数据网格。我有几个问题
据我所知,如果我有一个大小为100 gb的数据,我将至少需要100 gb的ram跨越我的集群上的所有节点,只为数据+额外的ram用于任务跟踪器,数据节点守护进程+额外的ram用于将在所有这些节点上运行的hserver服务。我的理解正确吗?
该软件声称他们可以通过改善hadoop中的延迟问题来进行实时数据处理。是因为它允许我们将数据写入内存网格而不是hdfs吗?
我对大数据技术很陌生。如果有些问题很幼稚,请道歉。
1条答案
按热度按时间4ktjp1zp1#
[完全披露:我在scaleout软件公司工作,这是一家创建scaleout hserver的公司。]
内存中的数据网格为每个对象创建一个副本,以确保出现故障时的高可用性。所需的内存总量是用于存储对象的内存以及用于存储对象副本的内存的总和。在您的示例中,您将需要200 gb的总内存:100 gb用于对象,100 gb用于副本。例如,在一个四服务器集群中,每台服务器需要50gb的内存可用于scaleout hserver服务。
在当前版本中,scaleout hserver通过加速数据访问,迈出了实现实时分析的第一步。它有两种实现方式,使用不同的输入/输出格式实现。第一种操作模式使用网格作为hdfs的缓存,第二种使用网格作为数据集的主存储器,为快速变化的、基于内存的数据提供支持。使用内存中的数据网格访问数据通过消除磁盘i/o和最小化网络开销来减少延迟。此外,缓存hdfs数据还提供了额外的性能提升,它将记录读取器生成的键和值存储在网格中,而不是原始hdfs文件。