I ont une image de menu fixe pour étincelle + jupyter (https://github.com/zipfian/spark-install)Ecrire à HDFS fonctionnant en Docker d'un autre conteneur Docker fonctionnement Spark
j'ai une autre image de menu fixe pour hadoop. (https://github.com/kiwenlau/hadoop-cluster-docker)
Je cours 2 conteneurs à partir des 2 images ci-dessus dans Ubuntu. Pour le premier conteneur: Je suis en mesure de lancer avec succès jupyter et exécuter du code python:
import pyspark
sc = pyspark.sparkcontext('local[*]')
rdd = sc.parallelize(range(1000))
rdd.takeSample(False,5)
Pour le second récipient:
Dans l'hôte Ubuntu OS, je suis en mesure d'aller avec succès à la
- navigateur web localhost: 8088: et parcourir toutes les applications Hadoop
- localhost: 50070: et parcourir le système de fichiers HDFS.
Maintenant, je veux écrire sur le système de fichiers HDFS (en cours d'exécution dans le récipient 2) de jupyter (en cours d'exécution dans le premier récipient).
-je ajouter donc la ligne
rdd.saveAsTextFile("hdfs:///user/root/input/test")
supplémentaire je reçois l'erreur:
URI HDFS, aucun hôte: hdfs: /// utilisateur/root/entrée/test
Est-ce que je donne le chemin hdfs incorrectement? D'après ce que je comprends, je devrais pouvoir parler à un conteneur docker exécutant hdfs à partir d'un autre conteneur exécutant une étincelle. Est-ce que je manque quelque chose?
Merci pour votre temps.
Je n'ai pas encore essayé de composer un docker.
Merci beaucoup Ed. J'ai couru les deux conteneurs dans le même réseau (défini par l'utilisateur). Ensuite, j'ai été capable de lire le système de fichiers hdfs, en utilisant hdfs: /// hadoop-master: 9000/utilisateur/root/entrée/test. (hadoop-master est le nom du conteneur et le port hdfs dans le docker img était 9000 au lieu de 8020). – VenVig
Je suis cependant frappé sur deux autres choses: 1) Je ne suis pas capable d'écrire dans le répertoire HDFS depuis l'autre conteneur 2) Je ne sais pas quel répertoire dans le conteneur hadoop je devrais monter en volume quand je démarre le conteneur à l'hôte – VenVig
pour 1) avez-vous une erreur à publier pour le problème d'écriture hdfs? 2) le répertoire par défaut pour le stockage est dans/var/lib/... (c'est probablement la seule chose dans le conteneur) si je me souviens bien. –