Bonjour,
Je souhaiterais exécuter un script en local. Ce script exécuterait quelques commandes et puis se connecterait sur une machine distante qui héberge hadoop. Là j'aimerais faire une requête sur ce hadoop et puis quitter la machine distante. Ensuite le script continuerait a executer d'autres commandes sur ma machine locale.
J'aimerais que les différentes étapes soient le plus automatisées possibles.
Pour le moment voici ce que j'ai implementé comme test et qui bien sûr ne fonctionne pas .
Le resultat que j'ai est : le script se connecte sur la machine distante est me demande le mot de passe de cette machine. Je rentre le mot de passe et la commande hadoop ne s'execute pas. Je dois entrer la commande "exit" pour que la commande hadoop s'execute. Ensuite mon script affiche le echo
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 #!/bin/bash function cleanFoldersHDFS(){ #TODO command scp to call HDFS ssh user@10.15.232.122 hadoop fs -ls /ecps-logs } cleanFoldersHDFS echo "ca peut continuer"
Mes questions seraient.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 ./test.sh usr@10.15.232.122's password: Last login: Thu Jul 3 03:39:47 2014 from ecpsusr@ilabecpsvm01:~ $ exit logout Connection to 10.15.232.122 closed. Found 3 items drwx------ - ecpsusr gpadmin 0 2014-05-07 22:16 /ecps-logs/ecps-logs drwx------ - ecpsusr ecpsgrp 0 2014-07-03 01:55 /ecps-logs/ingestion -rw------- 3 ecpsusr ecpsgrp 0 2014-07-02 00:00 /ecps-logs/metrics.csv hehehe ecpsusr@localMachine$
Comment faire pour rentrer automatiquement le mot de passe? Petite précision tous les environements ont le même user et mdp donc la sécurité n'est pas du tout une question (oui c'est mal mais que voulez-vous ça arrive).
Comment faire pour avoir les commandes s'exécutant automatiquement sur la machine distante et que mon script ferme cette connexion et ensuite continue en local comme si de rien n'était?
Merci pour vos reponses
Partager