Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur

105 visualizaciones

Publicado el

Terminé l'adminstration de cluster Hadoop !
Depuis l'arrivée de la version 2.3 de Spark, il est maintenant possible de lancer des jobs sur un cluster Manager Kubernetes. Ce slot se propose de vous faire découvrir Spark sur un cluster manager Kubernetes mais pas seulement.
Il se propose également de montrer les nouvelles façons de faire du Spark sans être dépendant d'une distribution Hadoop tout en interagissant de manière sécurisée avec un stockage de masse.
Toutes ces solutions seront présentées à l'aide d'un provider de Cloud. Vous découvrirez lequel durant la présentation.

Par Bruno Bouchahoua, Architect Data chez Xebia

Toutes les informations et vidéos sur xebicon.fr

Publicado en: Tecnología
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur

  1. 1. @Xebiconfr #Xebicon18 @votre_twitter Build the future Spark in jail Data/Cloud Bruno Bouchahoua
  2. 2. @Xebiconfr #Xebicon18 @votre_twitter Qui suis-je ? Bruno Bouchahoua Data Architect
  3. 3. @Xebiconfr #Xebicon18 @votre_twitter Plan Industrialisation de projets Spark Cloud Tâche de fond 1. Contexte Data Lake + Hadoop 2. Focus sur une stratégie client 3. Stockage de masse 4. Spark + stockage de masse 5. Spark on Kubernetes a. concept b. local c. managé 6. Spark in Serverless mode 7. Conclusion
  4. 4. @Xebiconfr #Xebicon18 @votre_twitter Contexte Data Lake & Cluster Hadoop
  5. 5. @Xebiconfr #Xebicon18 @votre_twitter #1 Data Lake Centric DATA PROVIDER 1 BU 1 BU N DATA PROVIDER 2 DATA PROVIDER 1 DATA PROVIDER 2 DATA SOURCE 1 DATA SOURCE N INPUT RAW
  6. 6. @Xebiconfr #Xebicon18 @votre_twitter #2 Traitements de données
  7. 7. @Xebiconfr #Xebicon18 @votre_twitter On prem / IAAS CAAS PAAS/aPAAS Serverless Google CE AWS EC2 Azure VM GKE ECS ACS → AKS Fargate ACI DataProc EMR, Glue HDI #3 Mode d’exécution de Spark + Cloud
  8. 8. @Xebiconfr #Xebicon18 @votre_twitter Focus sur une stratégie client
  9. 9. @Xebiconfr #Xebicon18 @votre_twitter ● Ce que nous rencontrons chez nos clients ● Ce que nous proposons pour : ○ Utiliser efficacement les technologies adaptées ○ Améliorer la flexibilité ○ Diminuer les coûts ○ Mettre en production des uses case data
  10. 10. @Xebiconfr #Xebicon18 @votre_twitter Focus sur une stratégie client : ambitions ● Migrer des projets Hadoop dans le Cloud ● Tous nouveaux projets Big data ● Respect de la réglementation GDPR ● Etanchéité des données et des accès entre les entités PAAS First
  11. 11. @Xebiconfr #Xebicon18 @votre_twitter Focus sur une stratégie client : PAAS pour tous INPUT RAW REFINERY GOLD HDI DEV HDI REC HDI PRD PROJET 1 HDI DEV HDI REC HDI PRD PROJET 2 HDI DEV HDI REC HDI PRD PROJET 3 Entité 1
  12. 12. @Xebiconfr #Xebicon18 @votre_twitter Les écueils 1/2 Liés au provider ○ Service managé par provider (roadmap) ○ Temps de démarrage d’un cluster > 20 minutes ○ Nombre de composants pas forcément utiles ○ Versions des composants ○ Infra dédiées supplémentaires ( 3 machines zookeeper ) ○ Identité du cluster
  13. 13. @Xebiconfr #Xebicon18 @votre_twitter Les écueils 2/2 liés à l’organisation Liés à l’organisation ○ Processus d’industrialisation fastidieux (Infra As Code dépendante de la roadmap) ○ Administration du cluster compliquée ○ Coûts humain ○ Règles de sécurité internes qui interdisent les accès par API, accès publics
  14. 14. @Xebiconfr #Xebicon18 @votre_twitter ▼ Faire du Spark sans HDI ▼ En serverless ▼ Sur Kubernetes ▼ Sur une autre offre Plan de repli
  15. 15. @Xebiconfr #Xebicon18 @votre_twitter Interaction avec un stockage de masse
  16. 16. @Xebiconfr #Xebicon18 @votre_twitter ADLS présentation ▼ Stockage massif à faible coût ▼ Authentification avec Azure AD ▼ Un WebHDFS avec authentification Oauth2
  17. 17. @Xebiconfr #Xebicon18 @votre_twitter ADLS données de travail
  18. 18. @Xebiconfr #Xebicon18 @votre_twitter Interaction basique avec ADLS
  19. 19. @Xebiconfr #Xebicon18 @votre_twitter Hadoop & les stockages de masse
  20. 20. @Xebiconfr #Xebicon18 @votre_twitter core-site.xml <property> <name>fs.adl.oauth2.access.token.provider</name> <value>${token_provider}</value> </property> <property> <name>fs.adl.oauth2.client.id</name> <value>${client_id}</value> </property> <property> <name>fs.adl.oauth2.credential</name> <value>${client_credential}</value> </property> <property> <name>fs.adl.oauth2.refresh.url</name> <value>https://login.microsoftonline.com/${tenant_id}/oauth2/token</value> </property>
  21. 21. @Xebiconfr #Xebicon18 @votre_twitter Valorisation à la volée export HADOOP_OPTS=" -Dtoken_provider=org.apache.hadoop.fs.adl.custom.ClientCre dentialTokenProvider -Dclient_id=14f6dec4-b950-43a7-a2b3-e8fc310fc10b -Dclient_credential=XXXXXXXXXXXXXXXXX -Dtenant_id=xebiafrance.onmicrosoft.com -Dadl_fqdn=majeur.azuredatalakestore.net " hdfs dfs -ls adl://majeur.azuredatalakestore.net/
  22. 22. @Xebiconfr #Xebicon18 @votre_twitter
  23. 23. @Xebiconfr #Xebicon18 @votre_twitter Spark + stockage de masse
  24. 24. @Xebiconfr #Xebicon18 @votre_twitter Spark + Hadoop + Adls export SPARK_DIST_CLASSPATH=$(${HADOOP_HOME}/bin/hadoop classpath) spark-shell --master=local[4] --conf spark.driver.extraJavaOptions="-Dtoken_provider=org.apache.hadoop.fs.adl.custom.Cl ientCredentialTokenProvider -Dclient_id=14f6dec4-b950-43a7-a2b3-e8fc310fc10b -Dclient_credential=<SECRET> -Dtenant_id=xebiafrance.onmicrosoft.com -Dadl_fqdn=majeur.azuredatalakestore.net"
  25. 25. @Xebiconfr #Xebicon18 @votre_twitter Spark on Kubernetes
  26. 26. @Xebiconfr #Xebicon18 @votre_twitter Cluster Manager
  27. 27. @Xebiconfr #Xebicon18 @votre_twitter 2.3.0 28/02/2018 2.3.1 08/06/2018 2.3.2 24/09/2018 2.4.0 02/11/2018
  28. 28. @Xebiconfr #Xebicon18 @votre_twitter Kubernetes : fonctionnement
  29. 29. @Xebiconfr #Xebicon18 @votre_twitter Construction de l’image ▼ Deux choses à modifier ▽ entrypoint.sh ▽ DockerFile ▼ Ne pas mettre le jar dans l’image Docker !! ▼ Mettre à disposition au choix : ▽ HTTP(S) ▽ NEXUS ▽ BLOB ▽ ZONE Kubernetes
  30. 30. @Xebiconfr #Xebicon18 @votre_twitter Construction de l’image : DockerFile
  31. 31. @Xebiconfr #Xebicon18 @votre_twitter Construction de l’image : entrypoint.sh ▼ Récupération des secrets ▼ Mode d’accès ▽ MASTER ▽ WORKER ▽ SPÉCIAL
  32. 32. @Xebiconfr #Xebicon18 @votre_twitter Construction de l’image docker build --no-cache -t <IMAGE> -f <DOCKER_FILE_PATH> <BUILD_PATH> docker tag <IMAGE> bbouchahoua/<IMAGE>
  33. 33. @Xebiconfr #Xebicon18 @votre_twitter Spark sur Kubernetes local : minikube kubectl cluster-info kubectl get nodes kubectl get nodes kubectl logs -f <pod> kubectl describe pods <pod> kubectl describe nodes <pod>
  34. 34. @Xebiconfr #Xebicon18 @votre_twitter Spark sur Kubernetes managé : AKS
  35. 35. @Xebiconfr #Xebicon18 @votre_twitter Spark sur conteneur instance
  36. 36. @Xebiconfr #Xebicon18 @votre_twitter ▼ 14 Go de RAM max ▼ 4 VCPU max ▼ Démarrage rapide ▼ Améliorations à venir ▼ Coût faible Azure conteneur instance
  37. 37. @Xebiconfr #Xebicon18 @votre_twitter
  38. 38. @Xebiconfr #Xebicon18 @votre_twitter Conclusion
  39. 39. @Xebiconfr #Xebicon18 @votre_twitter On prem / IAAS CAAS PAAS/aPAAS Serverless Google CE AWS EC2 Azure VM GKE ECS ACS → AKS Fargate ACI DataProc EMR, Glue HDI Conclusion
  40. 40. @Xebiconfr #Xebicon18 @votre_twitter Conclusion ▼ Administration/monitoring/logging/alerting ▼ Colocalisation de traitements Data & de microservices ▼ Distribution optionnelle et plus systématique ▼ Liberté sur le choix de la version Spark ▼ Coût faible
  41. 41. @Xebiconfr #Xebicon18 @votre_twitter

×