2013-08-14 2 views
0

J'ai essayé Hadoop 2 sur un cluster de trois machines virtuelles exécutant CentOS 6.4.Comment déterminer tous les ports par défaut utilisés par Hadoop et les modifier tous?

Et je lançais le cluster Hadoop avec succès, bien que les fichiers de configuration de Hadoop 2 tels que: core-site.xml, hdfs-site.xml, mapred-site.xml et yarn-site.xml me torture beaucoup.

Je veux changer tous les ports par défaut utilisés par Hadoop 2. Les documents officiels du fichier de configuration ont autant de numéros de ports définis. Par conséquent, je pense qu'il est préférable de déterminer les ports utilisés par Hadoop lors de son exécution et de les changer tous. Alors, comment puis-je trouver tous les ports par défaut utilisés par Hadoop dans le cluster exécutant CentOS? Merci.

Répondre

2

Vous pouvez connaître les ports ouverts par un processus particulier à l'aide de la commande netstat, associée à un petit doublage. Je n'ai pas de hadoop sur ma machine pour le moment, alors voici un exemple pour savoir quel port sshd fonctionne (devrait être 22!):

Vous aurez besoin de connaître l'identifiant de votre hadoop processus (TT, JT, NN, DN, etc.), qui peut être trouvé en faisant une autre oneliner, donc pour mon exemple sshd:

#> sudo ps axww | grep sshd 
1065 ?  Ss  0:00 /usr/sbin/sshd -D 

Vous pouvez remplacer sshd dans le grep pour Hadoop et il va attraper la plupart des les processus s'exécutant sur ce noeud.

Maintenant, nous pouvons utiliser un autre paquebot pour savoir quels ports sshd a ouvert pour ÉCOUTE (id processus 1065):

#> sudo netstat -alpn | grep 1065 | grep LISTEN 
tcp  0  0 0.0.0.0:22    0.0.0.0:*    LISTEN  1065/sshd  
tcp6  0  0 :::22     :::*     LISTEN  1065/sshd  

Vous aurez besoin de faire cela pour tous les processus de Hadoop, sur tous les nœuds. Des choses telles que les ports de nœud de données et de suivi des tâches doivent correspondre entre les machines, mais un seul nœud peut avoir un processus de nom de nœud/de suivi de tâche en cours d'exécution.

Questions connexes