Cloudera Data Platform (CDP) Private Cloud is het meest uitgebreide platform op locatie voor geïntegreerde analyse en gegevensbeheer. Het combineert het beste van Cloudera Enterprise Data Hub en Hortonworks Data Platform Enterprise Plus en brengt de nieuwste en beste open source-technologieën voor databeheer en -analyse naar het datacenter.
Met de nieuwste versie (7) van CDP Private Cloud Base hebben we een aantal nieuwe functies en verbeteringen geïntroduceerd. In deze blogpost willen we de prestatieverbeteringen delen die beschikbaar zijn in Apache HBase.
Voor degenen die nieuw zijn bij HBase of het evalueren voor een nieuw project, HBase is een niet-relationele gedistribueerde database die wordt vertrouwd door architecten en ontwikkelaars die grote hoeveelheden gegevens op een tijdige en betrouwbare manier willen verwerken.
Voor deze prestatievergelijking hebben we HBase2 gemeten die beschikbaar is in CDP Private Cloud Base 7 tot Hbase1 beschikbaar in CDH 5 met behulp van YCSB-workloads. De vergelijking helpt ons de prestatieverbeteringen en implicaties te begrijpen voor klanten die interne upgrades uitvoeren zonder wijzigingen aan de onderliggende hardware.
Opmerking:klanten die upgraden van CDH 5 naar CDP 7 krijgen ook een HBase-upgrade van HBase1 naar HBase2.
- Aangepaste YCSB-update alleen werklast
- Onze aangepaste YCSB Update Only-workload presteert
- 100% UPDATE-bewerkingen
- Een toepassingsvoorbeeld is een metrische winkel
- Werklastprestaties: CDP 7 YCSB-update Alleen de verwerkingscapaciteit van de werklast (bewerkingen per seconde) was 20% beter dan bij uitvoering met CDH5
- Onze aangepaste YCSB Update Only-workload presteert
- YCSB-werkbelastingA
- YCSB Workload A presteert
- 50% LEES-bewerkingen
- 50% UPDATE-bewerkingen
- Een toepassingsvoorbeeld is een sessieopslag waarin recente acties in een gebruikerssessie worden vastgelegd
- Werklastprestaties:CDP Private Cloud Base 7.1 HBase2 YCSB-workload Een doorvoer (bewerkingen per seconde) was 15% beter dan CDH5 HBase1
- YCSB Workload A presteert
- YCSB Workload C (alleen-lezen)
- YCSB Workload C is een alleen-lezen werkbelasting en voert
- . uit
- 100% LEES-bewerkingen
- Een toepassingsvoorbeeld is het lezen van de cache van gebruikersprofielen wanneer profielen elders worden gemaakt (bijv. Hadoop) of een banksysteem om rekeningafschriften te openen en te bekijken
- Werklastprestaties:CDP 7 YCSB-werklast C had een vergelijkbare doorvoer (bewerkingen per seconde) als CDH 5
- YCSB Workload C is een alleen-lezen werkbelasting en voert
Uitspraak - CDP 7 biedt verbeterde prestaties dan CDH 5 in YCSB
Werklast Alleen aangepaste update :CDP 7 YCSB Update alleen werklast uitgevoerd 20% beter dan C5.
YCSB-werkbelasting A :CDP 7 YCSB-werklast A presteerde 15% beter dan CDH5.
YCSB-werkbelasting C :CDP 7 YCSB alleen-lezen werkbelasting C had vergelijkbare bewerkingen/doorvoer naar CDH 5
Tijdens onze tests hebben we gemerkt dat het upgraden van JDK8 naar JDK 11 binnen CDP 7 de prestaties met nog eens 10% kan verbeteren. Dit is een aanvulling op de prestatieverbeteringen die zijn verkregen door een upgrade van CDH5 naar CDP7.
CDP 7 wordt geleverd met JDK8 standaard geïnstalleerd en ondersteunt een upgrade naar JDK11. In onze testruns is CDP 7 bijgewerkt om JDK 11 te gebruiken voor de hierboven getoonde YCSB-workloadruns. We hebben dezelfde workloads ook met JDK8 uitgevoerd, en de testresultaten toonden aan dat JDK11-prestaties 5-10% beter zijn in vergelijking met JDK8 , zoals weergegeven in de onderstaande grafiek
Als u CDP 7 wilt upgraden van JDK 8 naar OpenJDK 11, volgt u onderstaande stappen:
Stap 1:Installeer OpenJDK11 op alle hosts met behulp van de onderstaande
RHEL
sudo yum install java-11-openjdk
Ubuntu
sudo apt install openjdk-11-jdk
Stap 2:Alleen op de Cloudera Manager Server-host (niet vereist voor andere hosts):
- Open het bestand /etc/default/cloudera-scm-server in een teksteditor.
- Bewerk de regel die begint met export JAVA_HOME (als deze regel niet bestaat, voeg deze dan toe) en wijzig het pad naar het pad van de nieuwe JDK (de JDK wordt meestal geïnstalleerd in / usr/lib/jvm)(of /usr/lib64/jvm op SLES 12), maar het pad kan verschillen, afhankelijk van hoe de JDK is geïnstalleerd).
Voor meer informatie over het upgraden van JDK, volg De JDK upgraden
Testomgeving
Testmethodologie
CDH 5.16.3/HBase1 is geïnstalleerd op het cluster en er zijn werklastgegevens met 1 miljard rijen (datasetgrootte 1 TB) gegenereerd en CDH 5.16.3 YCSB-werklasten zijn uitgevoerd. Na het laden hebben we gewacht tot alle verdichtingswerkzaamheden waren voltooid voordat we met de werkbelastingstest begonnen.
Nadat CDH 5.16.3-runs waren voltooid, werd CDP Private Cloud Base 7.1 HBase2 schoon geïnstalleerd en werden de gegevens opnieuw gegenereerd op hetzelfde cluster. De CDP Private Cloud Base 7.1 YCSB-workloads werden vervolgens uitgevoerd om de testtimings te krijgen. Voor elke workload hebben we de HBase-tabel geïnitialiseerd die door YCSB wordt gebruikt. Momentopname van de gebruikerstabel utable_snap werden gemaakt en toegepast vóór elke run.
Elke geteste workload werd 3 keer uitgevoerd gedurende 15 minuten om de doorvoer te meten*. De getoonde resultaten zijn de gemiddelden van de 3 tests.
*Doorvoer (ops/sec) =aantal bewerkingen per seconde
CDP Private Cloud Base 7.1 bevat HBase2 en CDH 5.16.3 bevat HBase1. Zowel CDP Private Cloud Base 7.1 als CDH5 hebben JDK 8 geïnstalleerd. CDP Private Cloud Base 7.1 ondersteunt JDK11 en CDP Private Cloud Base 7.1 is bijgewerkt om JDK 11 te gebruiken voor YCSB-tests, CDH 5.13.3-runs zijn uitgevoerd met JDK 8 (1.8.0_141)
Testconfiguraties
- YCSB-versie 0.17.0
- YCSB-bindingsversie hbase2(CDP-CD 7.1) en hbase1(CDH 5)
- YCSB-clients gebruikten er 2
- YCSB-threads per klant 20
- Gegevensgrootte
- YCSB-tabel @1TB schaal
- Totaal aantal records in de YCSB-tabel 1.000.000.000 (1 TB), elk record is 1 KB
- Aantal regio's in de YCSB-tabel 250, met 5+1 node-cluster zijn ongeveer 50 regio's per regioserver
- Gemiddelde opslagruimte in regio gebruikt per servergrootte 290G
- HBase Region-servers zijn geconfigureerd met 32 GB heap
- Alleen L1-cache met LruBlockCache werd gebruikt met een cachegrootte van 12,3 GB
- L1-cache hitpercentage waargenomen tijdens runs op regioservers was 85%
- L2 off heap cache is niet geconfigureerd op het cluster
Clusterconfiguraties
- Gebruikt cluster: 6 node cluster (1 master + 5 regioservers)
- Beschrijving: Dell PowerEdge R430, 20c/40t Xenon e5-2630 v4 @ 2,2 Ghz, 128 GB RAM, 4-2 TB schijven
- Beveiliging: Niet geconfigureerd (geen Kerberos)
Cloudera-versies vergeleken
C7-versie :CDP Private Cloud Base 7.1.0
C5-versie: CDH5.16.3
Gebruikte JDK's:JDK 8 ( 1.8.0_141) en JDK 11 (11.0.6)
Op basis van onze testen (resultaten hierboven) kunnen klanten die willen upgraden van CDH 5 naar CDP 7 betere prestaties verwachten voor vergelijkbare workloads in vergelijking met wat ze vandaag krijgen.
Meer informatie over Cloudera Operational DB hier