Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    mars 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : mars 2019
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Hadoop : transférer des fichier volumineux sous Hadoop
    Bonjour,

    J'ai plusieurs fichiers volumineux sous ubuntu dans un path précis, je veux chaque fois quand j'ajoute un fichier sous ce path un crontab ou un job envoie ce fichier sous hadoop.

    1- Comment envoyer un fichier ( dans mon fichier systeme) vers Hadoop.
    2- Comment automatiser cette tache par un crontab chaque fois qu'il trouve un fichier.

    Merci

  2. #2
    Expert Oracle confirmé

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    mars 2003
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : mars 2003
    Messages : 412
    Points : 861
    Points
    861
    Par défaut
    Bonjour,

    Tout d'abord, il y a 2 cas de figure :
    1) votre serveur Ubuntu est un Edge Node. En clair, il fait parti du cluster Hadoop
    2) à l'inverse, votre serveur Ubuntu est hors du cluster


    Dans le premier cas, il suffit de pousser votre fichier depuis le FS local dans l'HDFS, avec la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    hdfs dfs -put /path/mon_fichier_local /path_HDFS
    A vous de préciser le chemin local avec votre fichier comme source, et le chemin dans l'HDFS comme cible.


    Dans le second cas, il faut passer par la Gateway Apache Knox qui est le point d'entrée unique dans un cluster Hadoop lorsque l'on est à l'extérieur, et utiliser l'outi Curl pour pousser son fichier.

    Je vous conseille vivement de vous rapprocher de votre administrateur du cluster Hadoop pour avoir un exemple ainsi que tout ce qui va bien en terme d'authentification (LDAP et Kerberos), car cela ne s'invente pas.

  3. #3
    Membre éprouvé

    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    novembre 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Industrie

    Informations forums :
    Inscription : novembre 2012
    Messages : 28
    Points : 999
    Points
    999
    Par défaut utiliser le client HDFS et Apache Knox
    Bonjour ahmed_2020,

    1- pour transférer ton fichier du local vers Hadoop, il faut que ta machine locale fasse partie du cluster Hadoop. Si c'est le cas, alors utilise la commande Shell CopyFromLocal du client HDFS pour transférer ton fichier sur Hadoop.

    Par exemple : hdfs dfs -CopyFromLocal /monrepertoirelocal/mon_fichier /repertoire_hdfs/nom_fichier
    2 - pour automatiser, tu peux programmer en shell un crontab sur la commande CopyFromLocal ou alors tu peux utiliser Apache Knox ou encore tu peux utiliser Oozie.

    Voilà,

    Juvénal
    Mes cours et tutoriels bases de données et Hadoop : https://juvenal-chokogoue.developpez.com

  4. #4
    Membre éprouvé Avatar de Jidefix
    Profil pro
    Inscrit en
    septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : septembre 2006
    Messages : 742
    Points : 1 073
    Points
    1 073
    Par défaut
    Hello, de mon expérience personnelle le plus simple pour transférer un fichier d'une machine lambda vers un cluster HDFS est de passer par WebHDFS (à condition de l'activer: dfs.webhdfs.enabled dans le hdfs-site.xml)

    Après ça les transferts se font à base de curl, ce qui est quand même plus simple que d'installer les librairies hadoop sur tous les postes

    https://hadoop.apache.org/docs/r1.0.4/webhdfs.html

    Edit: en effet Knox fournit un point d'entrée plus user friendly vers HDFS, mais il n'est pas indispensable
    Veuillez agréer nos sentiments les plus distingués. Soyez assurés de notre entière collaboration, bien à vous pour toujours et à jamais dans l'unique but de servir l'espérance de votre satisfaction, dis bonjour à ton père et à ta mère, bonne pétanque, mets ton écharpe fais froid dehors.

  5. #5
    Expert Oracle confirmé

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    mars 2003
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : mars 2003
    Messages : 412
    Points : 861
    Points
    861
    Par défaut
    Bonjour,

    Edit: en effet Knox fournit un point d'entrée plus user friendly vers HDFS, mais il n'est pas indispensable
    Heu, ce n'est pas une question d'être User Friendly. C'est qu'en entreprise, les clusters sont sécurisés via Kerberos. Et donc, lorsque l'on utilise une machine lambda qui est hors du cluster, on doit passer par la Gateway Knox. Cela est pour moi le 2ième cas de figure dont je parlais, à savoir être hors du cluster.

    ce qui est quand même plus simple que d'installer les librairies hadoop sur tous les postes
    Oui c'est vrai. Mais que fait-on en installant les librairies Hadoop sur une machine Lambda ?

    Et bien on la transforme en quelque sorte en Edge Node. C'est le premier cas de figure dont je parlais : la machine Lambda devient partie intégrante du cluster.

    Je dis en quelque sorte parce que normalement, on installe le client entier de sa distribution Hadoop, pas seulement les quelques librairies dont on a besoin.

    De plus, il faut installer les clients pour l'authentification, à savoir :
    - le client LDAP
    - le client Kerberos


    En fait, un Edge Node n'est ni plus ni moins qu'une machine qui fait partie du cluster, avec ses 3 clients (distribution Hadoop, LDAP et Kerberos), mais qui n'est ni un Namenode, ni un Datanode / Compute Node.

    En règle générale, on se sert de l'Edge Node pour installer des logiciels tiers d'éditeurs divers.

Discussions similaires

  1. [socket C/C++] Pb pour transférer des fichiers volumineux
    Par mickael777 dans le forum Windows
    Réponses: 1
    Dernier message: 04/05/2008, 21h11
  2. Créer et utiliser des fichiers excel sous linux
    Par cronos6 dans le forum Zope
    Réponses: 2
    Dernier message: 02/06/2006, 09h14
  3. Lire des fichiers iso sous linux
    Par wodel dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 28/11/2005, 10h17
  4. Transférer des fichiers avec un câble réseau
    Par denis finch dans le forum Développement
    Réponses: 5
    Dernier message: 08/11/2005, 16h08
  5. Y as il des fichiers temporaires sous builder
    Par Moutonstar dans le forum C++Builder
    Réponses: 2
    Dernier message: 12/12/2004, 14h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo