O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
@Xebiconfr #Xebicon18 @votre_twitter
Build the future
Spark in jail
Data/Cloud
Bruno Bouchahoua
@Xebiconfr #Xebicon18 @votre_twitter
Qui suis-je ?
Bruno Bouchahoua
Data Architect
@Xebiconfr #Xebicon18 @votre_twitter
Plan
Industrialisation de projets Spark
Cloud
Tâche de fond
1. Contexte Data Lake + H...
@Xebiconfr #Xebicon18 @votre_twitter
Contexte Data Lake
&
Cluster Hadoop
@Xebiconfr #Xebicon18 @votre_twitter
#1 Data Lake Centric
DATA PROVIDER 1
BU 1
BU N
DATA PROVIDER 2
DATA PROVIDER 1
DATA P...
@Xebiconfr #Xebicon18 @votre_twitter
#2 Traitements de données
@Xebiconfr #Xebicon18 @votre_twitter
On prem / IAAS CAAS PAAS/aPAAS Serverless
Google CE
AWS EC2
Azure VM
GKE
ECS
ACS → AK...
@Xebiconfr #Xebicon18 @votre_twitter
Focus sur
une stratégie client
@Xebiconfr #Xebicon18 @votre_twitter
● Ce que nous rencontrons chez nos clients
● Ce que nous proposons pour :
○ Utiliser ...
@Xebiconfr #Xebicon18 @votre_twitter
Focus sur une stratégie client : ambitions
● Migrer des projets Hadoop dans le Cloud
...
@Xebiconfr #Xebicon18 @votre_twitter
Focus sur une stratégie client : PAAS pour tous
INPUT
RAW
REFINERY
GOLD
HDI DEV HDI R...
@Xebiconfr #Xebicon18 @votre_twitter
Les écueils 1/2
Liés au provider
○ Service managé par provider (roadmap)
○ Temps de d...
@Xebiconfr #Xebicon18 @votre_twitter
Les écueils 2/2
liés à l’organisation
Liés à l’organisation
○ Processus d’industriali...
@Xebiconfr #Xebicon18 @votre_twitter
▼ Faire du Spark sans HDI
▼ En serverless
▼ Sur Kubernetes
▼ Sur une autre offre
Plan...
@Xebiconfr #Xebicon18 @votre_twitter
Interaction
avec un
stockage de masse
@Xebiconfr #Xebicon18 @votre_twitter
ADLS présentation
▼ Stockage massif à faible coût
▼ Authentification avec Azure AD
▼ ...
@Xebiconfr #Xebicon18 @votre_twitter
ADLS données de travail
@Xebiconfr #Xebicon18 @votre_twitter
Interaction basique avec ADLS
@Xebiconfr #Xebicon18 @votre_twitter
Hadoop & les stockages de masse
@Xebiconfr #Xebicon18 @votre_twitter
core-site.xml
<property>
<name>fs.adl.oauth2.access.token.provider</name>
<value>${to...
@Xebiconfr #Xebicon18 @votre_twitter
Valorisation à la volée
export HADOOP_OPTS="
-Dtoken_provider=org.apache.hadoop.fs.ad...
@Xebiconfr #Xebicon18 @votre_twitter
@Xebiconfr #Xebicon18 @votre_twitter
Spark + stockage de masse
@Xebiconfr #Xebicon18 @votre_twitter
Spark + Hadoop + Adls
export SPARK_DIST_CLASSPATH=$(${HADOOP_HOME}/bin/hadoop classpa...
@Xebiconfr #Xebicon18 @votre_twitter
Spark on Kubernetes
@Xebiconfr #Xebicon18 @votre_twitter
Cluster Manager
@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
@Xebiconfr #Xebicon18 @votre_twitter
Kubernetes : fonctionnement
@Xebiconfr #Xebicon18 @votre_twitter
Construction de l’image
▼ Deux choses à modifier
▽ entrypoint.sh
▽ DockerFile
▼ Ne pa...
@Xebiconfr #Xebicon18 @votre_twitter
Construction de l’image : DockerFile
@Xebiconfr #Xebicon18 @votre_twitter
Construction de l’image : entrypoint.sh
▼ Récupération des secrets
▼ Mode d’accès
▽ M...
@Xebiconfr #Xebicon18 @votre_twitter
Construction de l’image
docker build --no-cache -t <IMAGE> -f <DOCKER_FILE_PATH> <BUI...
@Xebiconfr #Xebicon18 @votre_twitter
Spark sur Kubernetes local : minikube
kubectl cluster-info
kubectl get nodes
kubectl ...
@Xebiconfr #Xebicon18 @votre_twitter
Spark sur Kubernetes managé : AKS
@Xebiconfr #Xebicon18 @votre_twitter
Spark sur conteneur
instance
@Xebiconfr #Xebicon18 @votre_twitter
▼ 14 Go de RAM max
▼ 4 VCPU max
▼ Démarrage rapide
▼ Améliorations à venir
▼ Coût fai...
@Xebiconfr #Xebicon18 @votre_twitter
@Xebiconfr #Xebicon18 @votre_twitter
Conclusion
@Xebiconfr #Xebicon18 @votre_twitter
On prem / IAAS CAAS PAAS/aPAAS Serverless
Google CE
AWS EC2
Azure VM
GKE
ECS
ACS → AK...
@Xebiconfr #Xebicon18 @votre_twitter
Conclusion
▼ Administration/monitoring/logging/alerting
▼ Colocalisation de traitemen...
@Xebiconfr #Xebicon18 @votre_twitter
Próximos SlideShares
Carregando em…5
×

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

99 visualizações

Publicada em

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

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

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

×