hubble数据库软件和硬件环境建议配置

hubble数据库,可以很好的部署和运行在Intel、ARM构架的服务器之上,支持主流的Linux操作系统环境。 如有国产化系统版本建议要求的,请与天云公司hubble售后部门确认继续情况

Linux 操作系统版本要求

操作系统平台版本
CentOS7.6 及以上的 7.x 版本
Red Hat Enterprise Linux7.6 及以上的 7.x 版本

注意:
目前支持 Red Hat Enterprise Linux 8.2 ,其他 8.x 版本未测试
目前支持 CentOS Linux 8.2 ,其他 8.x 版本未测试

开发和测试环境-推荐配置

名称要求
机器数量3+
单台CPU2路主频2.4GHz每路16核
单台内存32GB*2
单台磁盘480GB*2 SSD + 960GB*2 SSD
网络千兆网卡
NFS网盘2T SSD

生产环境-推荐配置

名称要求
机器数量6+
单台CPU2路主频2.9GHz,每路至少16核
单台内存32GB*8
单台磁盘480GB*2 SSD + 960GB*6 SSD
网络2块万兆网卡
NFS网盘2T SSD

硬件建议

接下来所提到的cpu资源,指的是vcore,也就是常说的超线程(hyperthreads)

硬件方面指导是平台无关的。可以是物理机、虚拟机、容器化的。

在正式部署环境前,对应用程序的工作负载模式进行测试,以及调优硬件设置是非常重要的一个环节。例如读多和写多的工作负载将对cpu,内存,存储,IO和网络的测试是有很大差异的。

指标项建议
内存 /vcore4GiB
存储 /vcore150GiB
IOPS /vcore500
MB/s /vcore30

cpu与内存

每个节点至少需要有4个vcores。为了能有更好的性能,我们建议至少给每个节点提供16个vcores,并给每个vcore提供4GiB的内存。

如果想获得更大的吞吐量,可以给每个节点配置更多的vcore,最大建议为32vcores。如还要进一步提高吞吐量,我们建议增加节点,而不是继续增加节点的物理硬件配置。

为了使得集群能有更好的弹性,我们建议使用更多的小节点,而不是使用更少的较大的节点。因为当数据分布在更多的小节点上时,故障节点的数据恢复的效率是更快的。

如果有大量的表,则需要更多的内存,由于元信息会在在每个节点的内存中,用于查询提速,当有巨量的表信息,无疑对内存的使用也将提升。

请避免使用超频或共享核心的虚拟机,这会限制cpu资源的负载。为了确保一致的性能,请确保所有节点具有统一的配置。

请关闭linux的swap功能,hubble有自己的内存与缓存的管理器。这是不依赖操作系统的缓存机制的。同时需要注意,当需要将页面读入内存时,在服务上过度分配内存可能会导致意料之外的性能问题。

存储

hubble对于硬盘要求比较高,强烈推荐SSD类型,建议每块磁盘960G 磁盘格式建议使用 EXT4类型文件系统,xfs能提供一定程度上的性能提升,但在长期的崩溃测试中,有出现过数据丢失的情况

我们建议给每个vcore提供对应150GiB的存储空间,如果您的工作负载对容量并没有很大的要求,那么每个vcore对应更少的存储空间,也是没问题的。无论这个节点的vcore是多少,最大的存储都不能超过2.5TiB。

store建议使用单独的卷,避免store的卷与其他io活跃的服务共用。建议将log路径与store区分开,这样可以避免相互影响。

图片
图片

  • 单台节点 数据盘6块,每块960GB
  • 其中 /data1 RAID10模式共占用4块硬盘 用于存储数据文件
  • 其中 /data2 作为RAID1模式共占用2块硬盘 用于存放日志和数据备份文件

DISK I/O

磁盘必须能达到 500iops 和 30MB/s 对应每个vcore。可以使用sysbench工具计算IOPS,如果iops减少,建议增加节点,这样可以增加集群整体的IOPS。

网络端口要求

默认端口说明
48080页面监听端口
15432集群间通信端口

客户端 Web 浏览器要求

hubble数据库支持常用的IE、Google Chrome、Mozilla Firefox等较新版本访问