Accès HDFS depuis l'hôte distant via l'API Java, authentification de l'utilisateur
J'ai besoin d'utiliser cluster HDFS de bureau à distance par le biais de l'API Java. Tout fonctionne bien jusqu'à ce qu'il vient d'écrire. Si je suis en train de créer n'importe quel fichier je obtenir une autorisation d'accès exception. Le chemin semble bon, mais exception indique mon bureau à distance nom d'utilisateur qui est des cours n'est pas ce dont j'ai besoin pour accéder aux HDFS répertoire.
La question est:
- Est-il possible de représenter les différents nom d'utilisateur à l'aide de "simples" authentification dans les API Java?
- Pourriez-vous s'il vous plaît signaler quelques bonnes explication de l'authentification /autorisation de régimes dans hadoop /HDFS préférable avec l'API Java exemples?
Oui, je sais déjà 'whoami' pourrait être surchargé dans ce cas, l'utilisation de shell alias, mais je préfère éviter les solutions de ce type. Aussi les détails ici est que je n'aime pas l'utilisation de certains trucs comme les tuyaux à travers SSH et les scripts. J'aimerais effectuer tout en utilisant seulement de l'API Java.
Je vous remercie à l'avance.
source d'informationauteur Roman Nikitchenko
Vous devez vous connecter pour publier un commentaire.
Après quelques études, je suis venu à la solution suivante:
Exemple de code probablement utile pour les personnes à la fois pour de faux "authentification" et à distance HDFS accès:
De référence utile pour ceux qui ont un problème similaire:
Mise à JOUR:
Alternative pour ceux qui utilise la ligne de commande
hdfs
ouhadoop
utilitaire sans local de l'utilisateur nécessaire:Ce que vous avez réellement à faire est de vous lire fichier local en fonction de votre local autorisations, mais lors de la passation de fichier HDFS vous êtes authentifié comme utilisateur
hdfs
.Cela a assez des propriétés similaires à celles de l'API code illustré:
sudo
.