2017-08-24 1 views
0

J'utilise actuellement un cluster à 5 nœuds pour Hadoop. Si j'exécute la commande jps sur Namenode, je ne peux voir que le processus Jps en cours d'exécution.Liste de commandes jps seulement jps mais les services HDFS sont toujours disponibles

[[email protected] ~]$ /usr/jdk64/jdk1.8.0_60/bin/jps 
16641 Jps 

Hive utilise HDFS pour le stockage. Dans ce cas, mes requêtes select doivent échouer avec une erreur de connexion. Mais, je peux aller chercher des données en utilisant la requête.

[[email protected] ~]$ hive 
WARNING: Use "yarn jar" to launch YARN applications. 

Logging initialized using configuration in file:/etc/hive/2.4.0.0-169/0/hive-log4j.properties 
hive> select * from test_hive; 
OK 
1  2  95 
2  2  90 
Time taken: 6.52 seconds, Fetched: 2 row(s) 
hive> exit; 

Je ne parviens pas à expliquer ce comportement HDFS. J'ai essayé de voir le rapport. Mais seul le superutilisateur peut voir le rapport.

[[email protected] ~]$ hadoop dfsadmin -report 

EDIT 1: Depuis que je ne suis pas le super-utilisateur, si sudo jps ne fonctionne pas. J'utilise la commande ci-dessous à la place comme une solution de contournement:

ps -ef | grep -i namenode 

Répondre

0

La réponse réside dans les informations que vous avez fournies. Comme vous l'avez mentionné, vous n'êtes pas super user.

  • Pour vérifier tous les noeuds en cours d'exécution sur l'hôte via jps, vous devez exécuter la commande en tant que root.
  • Sinon, jps affichera uniquement les nœuds pour lesquels vous avez comme utilisateur connecté.

Ce lien jette également la lumière sur un problème similaire:

running jps command not showing NameNode or Tasktracker ID, though it statrs up when i use start.sh command

Espérons que cela répond à votre requête !!

+0

Merci Keshav. Est-il possible de vérifier quels services sont en cours d'exécution en utilisant Java? Je veux vraiment vérifier que les services sont en cours d'exécution avant de lancer des requêtes Hive. – Tammy