Cloudera数据平台(CDP)私有云是用于集成分析和数据管理的最全面的本地平台。它结合了Cloudera Enterprise Data Hub和Hortonworks Data Platform Enterprise Plus的优点,并为数据中心带来了用于数据管理和分析的最新最好的开源技术。
在CDP 私有云 的最新版本中,我们引入了许多新功能和增强功能。在此博客文章中,我们希望分享Apache HBase(HBase1与HBase2)中可用的性能改进。
对于那些刚接触HBase或正在为一个新项目进行评估的人,HBase是一个非关系分布式数据库,受到希望及时、可靠地处理大量数据的建筑师和开发人员的信任。
为了进行性能比较,我们使用YCSB工作负载将CDP 私有云7中可用的HBase2与CDH 5中可用的Hbase1进行了测量。进行比较可以帮助我们了解性能改进以及对进行原位升级的客户的影响,而无需更改底层硬件。
注意:从CDH 5升级到CDP 7的客户也将获得从HBase1到HBase2的HBase升级。
• 自定义YCSB仅更新工作负载
o 我们的自定义YCSB仅更新的工作负载执行
• 100%UPDATE操作
o 应用示例是将指标存储
o 工作负载性能:CDP 7 YCSB仅更新的工作负载运行吞吐量(每秒操作数)比使用CDH5运行时提高了20%
• YCSB工作负载
o YCSB工作负载A执行
• 50%读取操作
• 50%UPDATE操作
o 应用示例是将会话存储,它记录了用户会话中的最新操作
o 工作负载性能:CDP 私有云7.1 HBase2 YCSB工作负载吞吐量(每秒操作数)比CDH5 HBase1高15%
• YCSB工作负载C(只读)
o YCSB工作负载C是只读工作负载,可以执行
• 100%读取操作
o 当配置文件在其他地方(例如Hadoop)或银行系统构建以访问和查看帐户对帐单时,应用程序示例将是读取用户配置文件缓存
o 工作负载性能:CDP 7 YCSB工作负载C具有与CDH 5类似的吞吐量(每秒操作)
结论– CDP 7 YCSB提供了比CDH 5更高的性能
自定义UpdateOnly工作负载:CDP 7 YCSB仅更新工作负载的性能比C5 好20%。
YCSB工作负载A :CDP 7 YCSB工作负载A的性能比CDH5 好15%。
YCSB工作负载C :CDP 7 YCSB只读工作负载C具有与CDH 5 类似的操作/吞吐量
在测试过程中,我们注意到在CDP 7中从JDK8升级到JDK 11可以使性能再提高10%。这是从CDH5升级到CDP7所获得的性能改进的基础。
CDP 7默认情况下安装了JDK8,并支持升级到JDK11。在我们的测试运行中,CDP 7已更新为将JDK 11用于上面显示的YCSB工作负载运行。我们也使用JDK8运行相同的工作负载,测试结果表明JDK11的性能比JDK8好5-10%,如下图所示
要将CDP 7从JDK 8升级到OpenJDK 11,请执行以下步骤:
步骤1:使用以下方法在所有主机上安装OpenJDK11
RHEL
sudo yum install java - 11 - openjdk
Ubuntu
sudo apt install openjdk - 11 - jdk
步骤2:仅在Cloudera Manager服务器主机上(其他主机不需要):
1) 在文本编辑器中打开文件/etc/default/cloudera-scm-server。
2) 编辑以export JAVA_HOME开头的行(如果此行不存在,请添加它),然后将路径更改为新JDK的路径(JDK通常安装在/usr/lib/jvm中)(或/usr/lib64/jvm(在SLES 12上),但是路径可能会有所不同,具体取决于JDK的安装方式)。
有关升级JDK的更多信息,请遵循升级 JDK 。
测试环境
测试方法
在集群上安装了CDH 5.16.3/HBase1,并生成了具有10亿行(数据集大小为1TB)的工作负载数据,并运行了CDH 5.16.3 YCSB工作负载。加载后,在开始工作负载测试之前,我们等待所有压缩操作完成。
CDH 5.16.3运行完成后,将CDP私有云7.1 HBase2干净安装,并在同一集群上重新生成数据。然后运行CDP私有云7.1 YCSB工作负载以获取测试时间。在运行每个工作负载之前,我们都要初始化YCSB使用的HBase表。每次运行之前,都会创建并应用用户可用的utable_snap快照。
每个测试的工作负载运行3次,每次15分钟,以测量吞吐量*。显示的结果是3次测试的平均值。
*吞吐量(操作数/秒)=每秒操作数
CDP私有云7.1包括HBase2,而CDH 5.16.3包括HBase1。CDP私有云7.1和CDH5均已安装JDK 8。CDP私有云7.1支持JDK11,并且CDP私有云7.1已更新为使用JDK 11进行YCSB测试,CDH 5.13.3运行与JDK 8(1.8.0_141)一起运行
测试配置
• YCSB版本0.17.0
• YCSB绑定版本hbase2(CDP-CD 7.1)和hbase1(CDH 5)
• YCSB客户端使用了2
• 每个客户端的YCSB线程20
• YCSB表@ 1TB规模
• 数据大小
o YCSB表中的记录总数(每个记录为1KB)1,000,000,000(1TB)
o YCSB表250中的区域数,带有5 1节点集群,每个区域服务器约有50个区域
o 每个服务器大小290G使用的平均区域存储空间
• HBase Region服务器配置了32GB堆
• 仅使用具有LruBlockCache 的 L1缓存和12.3 GB 缓存大小
• 在区域服务器上运行期间观察到的L1缓存命中百分比为85%
• 集群上未配置L2堆外缓存
集群配置
• 使用的集群:6个节点集群(1个主节点 5个区域服务器)
• 说明:Dell PowerEdge R430、20c / 40t Xenon e5-2630 v4 @ 2.2Ghz,128GB Ram,4-2TB磁盘
• 安全性:未配置(无Kerberos)
2.4. Cloudera版本比较
C7版本:CDP 私有云7.1.0
C5版本:CDH5.16.3
使用的JDK:JDK 8(1.8.0_141)和JDK 11 (11.0.6)
根据我们的测试(上述结果),希望从CDH 5升级到CDP 7的客户应该期望与现在相比,类似工作负载的性能有所提高。
点击 此处 了解有关Cloudera Operational DB的更多信息
原文作者:Surbhi Kochhar
原文链接:https://blog.cloudera.com/operational-database-performance-improvements-in-cdp-private-cloud-7-vs-cdh5/