lundi , 23 septembre 2019
Home » Tutoriel » Comment configurer Zeppelin pour les analyses et la visualisation ?

Comment configurer Zeppelin pour les analyses et la visualisation ?

Le bloc-note open source pour les analyses et la visualisation est très performant. Voici comment le faire fonctionner dans l’EC2 d’Amazon.

Peut-être que vous voulez éviter de dépenser beaucoup d’argent sur Databricks, la plate-forme d’apprentissage et d’analyse des machines Spark basée sur le cloud. Ou peut-être avez-vous besoin d’une source de données ou d’un langage non pris en charge ? Ou peut-être que vous êtes juste plus d’une personne open source. Optez pour Apache Zeppelin. Il a remporté le prix InfoWorld Bossie en 2015 et en 2016.

Zeppelin a beaucoup de capacités. Il s’agit d’un bloc-note multi-utilisateur, multilingue et multiplateforme pour les analyses et la visualisation. Avec Zeppelin, vous pouvez extraire des données de plusieurs sources (comme Oracle, Solr et MongoDB) et les analyser avec des outils comme Apache Spark. Vous pouvez écrire une partie de votre code dans Scala, d’autres dans R, et d’autres dans Python (entre autres), puis visualiser les résultats avec de jolis graphiques et d’autres choses.

Zeppelin n’est pas difficile à installer, mais si vous voulez l’utiliser pour plusieurs utilisateurs sur Amazon Web Services, vous devez faire quelques pas. Vous pouvez installer Zeppelin sur Windows ou Linux, mais de préférence, utilisez Linux parce que c’est un peu plus léger, et vous trouverez plus de documentation communautaire.

Sans plus tarder, commençons !

Étape 1 : Lancer une nouvelle instance

Vous faites cela dans la console AWS EC2.

Dans l’écran de sélection, choisissez le type Ubuntu 16.04 LTS (ou l’équivalent actuel).

Étape 2 : Choisissez et spécifiez un type d’instance

Maintenant, choisissez un type d’instance. Vous avez probablement besoin d’au moins le type d’instance de 4 Go (t2.medium) pour que Zeppelin fonctionne, mais cette fois, on va sélectionner au moins l’instance de 8 Go (t2.large). Aucun d’entre eux sont gratuits, alors préparez votre portefeuille. Cliquez sur Configurer les détails de l’instance après avoir sélectionné un type.

Dans la mesure où l’écran des détails de l’instance apparait, assurez-vous d’avoir une adresse IP publique, mais à peu près tout le reste peut être laissé tel quel. Puis, cliquez sur Ajouter un stockage.

Maintenant, spécifiez la taille de stockage. La taille est à vous. Là, ce sera pour 10GB minimum. Compte tenu des journaux ou de faire quoi que ce soit, vous devriez avoir au moins deux fois plus de 4GB. Si vous envisagez d’utiliser cette instance, vous aurez probablement besoin de plus de 10 Go. Encore une fois, tout cela coûte de l’argent.

Sauf si vous avez des raisons impérieuses d’ajouter des tags, cliquez sur Réviser et lancer.

Étape 3 : modifiez vos paramètres de sécurité

Sur l’écran de révision, cliquez sur Modifier les groupes de sécurité pour vous assurer que vous disposez d’un accès au réseau, et personne d’autre ne le fait.

Dans le navigateur Google Chrome, entrez quelle est mon adresse IP ? et appuyez sur Entrée, puis utilisez cette adresse suivie de /32 pour la source SSH. Donc, si votre adresse IP est 74.182.92.2, tapez 74.182.92.2/32. Vous devez également ajouter une règle pour le port 8080 et ajouter la même source. Cela vous permettra à la fois SSH à l’instance et accéder à Zeppelin.

Après cela, cliquez sur Réviser et Lancer.

Étape 4 : Configurer les autorisations SSH et l’accès

Une fois que vous avez lancé l’instance, vous devez créer une clé SSH. Si vous avez un fichier .pem existant, utilisez-le. Sinon, créez-en un appelé zeppelin et téléchargez-le. Vous aurez besoin de ce fichier, alors ne le perdez pas. Après l’avoir téléchargé ou sélectionné une clé existante, cliquez sur Lancer les instances.

Attendez que votre instance commence, puis notez son adresse IP publique.

Maintenant, modifiez l’autorisation de votre fichier .pem. A partir du Terminal sous MacOS ou Linux, tapez chmod 600 zeppelin.pem dans le répertoire dans lequel vous avez enregistré votre pem. Dans Windows, cela dépendra de votre client SSH si vous avez besoin de faire quoi que ce soit. Fondamentalement, le fichier devrait être lisible par votre utilisateur seulement.

En utilisant SSH à partir de la ligne de commande ou d’un outil comme Putty, SSH à votre instance. Sous MacOS ou Linux, utilisez le Terminal pour :

  • Entrez ssh -i zeppelin.pem ubuntu@votreinstanceip.
  • Créez un nouvel utilisateur appelé « zeppelin » sur votre instance. Tapez sudo adduser zeppelin.
  • Installez Java JDK 8 en tant que super-utilisateur. Tapez sudo apt-get update et appuyez sur Entrée, puis tapez sudo apt-get install default-jdk et appuyez sur Entrée.
  • Passez à l’utilisateur Zeppelin. Tapez sudo su – zeppelin.

Étape 5 : Installer Zeppelin

À l’aide de votre navigateur, rendez-vous sur https://zeppelin.apache.org/download.html et cliquez sur Package Binaire avec Tous les interprètes, qui à ce moment-là est zeppelin-0.7.2-bin-all.tgz.

Maintenant, copiez le lien sous votre miroir suggéré.

De retour dans le terminal où vous avez SSHed à votre instance, utilisez wget pour obtenir une copie de Zeppelin : entrez wget suivi du lien que vous avez copié, et appuyez sur Entrée. (Vous le ferez en tant qu’utilisateur « zeppelin » si vous suivez les instructions.)

Après le téléchargement, désarchivez Zeppelin. La commande est tar -xzf zeppelin-0.7.2-bin-all.tgz, puis appuyez sur Entrée. (Votre nom de fichier peut être différent si une nouvelle version est sortie.)

Maintenant, créez un lien appelé zeppelin-current. Tapez ls -l et appuyez sur Entrée pour voir ce que le répertoire désarchivé est appelé. Tapez ln -s nomdevotrerépertoire zeppelin-current pour créer le lien logiciel. Dans cet exemple, c’est ln -s zeppelin-0.7.2-bin-all zeppelin-current.

Changez le répertoire en répertoire zeppelin-current. Tapez cd zeppelin-current et appuyez sur Entrée.

Maintenant, lancez Zeppelin. Tapez bin/zeppelin-daemon.sh start et appuyez sur Return.

Testez que vous pouvez accéder à Zeppelin. À partir de votre navigateur, accédez à http://votreinstanceip: 8080/zeppelin. Vous devriez voir l’écran de bienvenue. Si c’est le cas, vous avez installé Zeppelin et n’avez pas mal configuré les groupes de sécurité EC2 !

Étape 6 : Configurer l’authentification Zeppelin

Cependant, vous êtes actuellement un utilisateur anonyme très puissant. Activez donc l’authentification/multi-utilisateur.

Pour ce faire, arrêtez Zeppelin. Dans le Terminal, tapez bin/zeppelin-daemon.sh stop et appuyez sur Entrée.

Pour sécuriser Zeppelin, copiez d’abord le modèle de configuration Apache Shiro (qui est utilisé pour la sécurité) en tapant cp conf/shiro.ini.template conf/shiro.ini et en appuyant sur Entrée. Copiez ensuite la configuration du site en tapant cp conf/zeppelin-site.xml.template conf/zeppelin-site.xml et en l’éditant.

Votre choix d’éditeur est un gros problème. Si vous êtes un utilisateur Linux expérimenté, vous allez utiliser l’excellent éditeur de VI en tapant vi conf/zeppelin-site.xml et en appuyant sur Entrée dans votre instance. (Quittez VI en appuyant sur Echap.) Si vous êtes nouveau, vous pouvez utiliser un autre éditeur appelé Nano en tapant nano conf/zeppelin-site.xml et en appuyant sur Entrée. (Quittez Nano en appuyant sur Control-X.) Nos exemples utilisent VI, mais vous pouvez remplacer vi par nano si vous préférez Nano.

Maintenant, désactivez l’accès anonyme. À partir de l’éditeur, remplacez la propriété zeppelin.anonymous.allowed par false.

Envisagez de rendre tous les bloc-notes privés par défaut. Pour ce faire, remplacez la propriété zeppelin.notebook.public par false.

 

Enregistrez zeppelin-site.xml et quittez l’éditeur. Dans VI, cela signifie appuyer sur Echap et taper :wq. Dans Nano, cela signifie appuyer sur Control-X et lui indiquer que vous voulez sauvegarder à l’invite.

Maintenant, quittez l’utilisateur Ubuntu. Plus tôt, vous avez fait sudo su – zeppelin pour passer à l’utilisateur zeppelin. Maintenant, vous voulez sortir, alors tapez exit et appuyez sur Entrée.

Créez une configuration de démarrage pour Zeppelin. Vous voulez que Zeppelin soit géré par Systemd afin que vous puissiez taper sudo service zeppelin start ou sudo service zeppelin stop et aussi que Zeppelin démarre lorsque vous démarrez votre instance EC2. Tapez sudo vi /etc/systemd/system/zeppelin.service et ajoutez le contenu suivant :

[Unit]
Description=Service to run Zeppelin Daemon
Documentation=
[Service]
User=zeppelin
Group=zeppelin
Type=forking
WorkingDirectory=/home/zeppelin
ExecStart=/home/zeppelin/zeppelin-current/bin/zeppelin-daemon.sh start
ExecStop=/home/zeppelin/zeppelin-current/bin/zeppelin-daemon.sh stop
[Install]
WantedBy=multi-user.target

Ensuite, enregistrez et quittez l’éditeur.

Vous pouvez maintenant activer la configuration de démarrage. Pour ce faire, assurez-vous d’abord que la configuration est chargée en tapant sudo systemctl daemon-reload et en appuyant sur Entrée. Vous devrez le faire chaque fois que vous modifiez le fichier zeppelin.service.

Ensuite, activez le service d’exécution au démarrage en tapant sudo systemctl enable zeppelin et en appuyant sur Entrée.

Étape 7 : Démarrer Zeppelin

Vous pouvez maintenant démarrer Zeppelin. Démarrez Zeppelin en tant que démon en tapant sudo service zeppelin start et en appuyant sur Entrée. Attendez une minute ou deux.

Allez de nouveau à Zeppelin en entrant http://votreinstanceip:8080/zeppelin dans votre navigateur. Lorsque l’écran de bienvenue de Zeppelin s’affiche, cliquez sur Connexion. Connectez-vous avec admin comme nom d’utilisateur et password1 comme mot de passe.

Étape 8 : Créer un nouveau bloc-note

Pour créer un nouveau bloc-note, choisissez Notebook > Créer une Nouvelle Note dans le menu situé en haut de l’écran d’accueil. Pour cet exemple, appelez votre bloc-note comme « Spark Notebook ».

Maintenant que vous avez un ordinateur portable, utilisez-le ! Apache a un bon tutoriel Zeppelin qu’on vous recommande d’essayer.

Une fois terminé, arrêtez votre instance dans EC2. (Économise votre argent !)

Prochaines étapes pour utiliser Zeppelin

Maintenant que vous avez Zeppelin opérationnel, voici quelques-unes des choses que vous pouvez faire avec :

  • Vous pouvez redémarrer votre instance et vous assurer que Zeppelin démarre avec l’instance. Si ce n’est pas le cas, tapez journalctl -xe et appuyez sur Entrée dans le Terminal pour voir ce qui n’a pas fonctionné.
  • Vous pouvez changer les mots de passe, les utilisateurs ou les rôles en éditant conf/shiro.ini dans le répertoire zeppelin-current.
  • Vous voudrez peut-être vérifier sur le tutoriel sur la façon de sécuriser un bloc-note particulier.
  • À l’heure actuelle, vous utilisez des utilisateurs en clair et des mots de passe stockés dans ini. Si vous avez un serveur LDAP ou une autre source d’authentification, vous pouvez configurer ce domaine à la place.
  • Vous pouvez activer le protocole SSL. Vous aurez besoin d’un nom de domaine pour votre serveur, ce qui signifie obtenir une adresse IP Elastique fixe pour cela aussi.
  • Si vous avez plusieurs utilisateurs, vous devez configurer le groupe de sécurité EC2 avec leur adresse IP ou une plage d’adresses IP.

À lire aussi

Comment débuter avec Kubernetes ? Ce qu’il faut savoir

De Hello Minikube à Kubernetes Anywhere aux exemples d’applications microservices, les possibilités d’apprendre l’outil d’orchestration …