VT2020-AppachePinot-Demo
Installation
Certains prérequis doivent être remplis pour la démonstration :
- Installer à minima Java 9
- Installer Appache Maeven ( https://maven.apache.org/download.cgi )
Pour pouvoir effectuer la démonstration vous devrez télécharger les logiciels suivant :
- Les données test fournies par Apache Pinot ( https://github.com/npawar/pinot-tutorial )
- Télécharger la dernière version stable de Apache Pinot ( https://pinot.apache.org )
- Installer ZooInspector ( https://github.com/zzhang5/zooinspector )
Déploiement d'un cluster Pinot
On commence par lancer le zookeeper :
bin/pinot-admin.sh StartZookeeper -zkPort 2181
On déploie ensuite les deux controlleurs :
bin/pinot-admin.sh StartController -zkAddress localhost:2181 -clusterName PinotCluster -controllerPort 9001 bin/pinot-admin.sh StartController -zkAddress localhost:2181 -clusterName PinotCluster -controllerPort 9002
On déploie ensuite les deux brokers :
bin/pinot-admin.sh StartBroker -zkAddress localhost:2181 -clusterName PinotCluster -brokerPort 7001 bin/pinot-admin.sh StartBroker -zkAddress localhost:2181 -clusterName PinotCluster -brokerPort 7002
On lance enfin les deux serveurs :
in/pinot-admin.sh StartServer -zkAddress localhost:2181 -clusterName PinotCluster -serverPort 8001 -serverAdminPort 8011 bin/pinot-admin.sh StartServer -zkAddress localhost:2181 -clusterName PinotCluster -serverPort 8002 -serverAdminPort 8012
Test
Tout d'abord nous configurons une table et son shéma sur notre cluster :
bin/pinot-admin.sh AddTable -tableConfigFile /home/remy/Bureau/testVT/pinot-tutorial/transcript/transcript-table-offline.json -schemaFile /home/remy/Bureau/testVT/pinot-tutorial/transcript/transcript-schema.json -controllerPort 9001 -exec
Et enfin nous allons injecter des données dans cette tabe :
bin/pinot-admin.sh LaunchDataIngestionJob -jobSpecFile /home/remy/Bureau/testVT/pinot-tutorial/transcript/batch-job-spec.yml
Maintenant rendez-vous sur https://localhost:9001 pour pouvoir effectuer quelque requêtes SQL sur notre table et pouvoir avoir une vue globlale de notre architecture.
Nous allons pour finir tester la résilience du système en coupant l'un des deux serveurs puis vérifier que Pinot peut continuer a gérer des requêtes.