Comment configurer le fichier hosts pour l'écosystème Hadoop
![entrer la description de l'image ici] [1] la question peut sembler assez évidente, mais je l'ai affronté de nombreuses fois, en raison de la mauvaise configuration du fichier hosts sur un cluster hadoop.
est-ce que n'importe qui peut décrire comment configurer le fichier hosts et d'autres configurations réseau connexes pour hadoop et l'utilisation de l'environnement similaire (comme cloudera).
spécialement quand je dois ajouter à la fois le nom d'hôte et FQDN
mise à Jour
voici le fichier hôte de l'une des machines du nom d'hôte cdh4hdm ont le rôle de hadoop Master
127.0.0.1 cdh4hdm localhost
#127.0.1.1 cdh4hdm
# The following lines are desirable for IPv6 capable hosts
172.26.43.40 cdh4hdm.imp.co.in kdc1
172.26.43.41 cdh4hbm.imp.co.in
172.26.43.42 cdh4s1.imp.co.in
172.26.43.43 cdh4s2.imp.co.in
172.26.43.44 cdh4s3.imp.co.in
172.26.43.45 cdh4s4.imp.co.in
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
s'il vous Plaît voir image ci-jointe
ici sur cluster certains noeuds obtiennent FQDN et certains obtiennent le nom d'hôte.
aussi L'adresse IP de hostname n'est pas correcte et affiche 127.0.0.1 au lieu de l'adresse IP de l'hôte
please suggest""
3 réponses
pour UBUNTU
Fichier Hosts et d'autres de configuration de Cluster Hadoop
fournit le nom d'hôte à toutes les machines cluster, pour ce faire, ajoute le nom d'hôte dans le fichier / etc/nom d'hôte comme
hostname-of-machine
sur tout le fichier host, hosts doit être comme ceci:
hôtes
127.0.0.1 localhost
#127.0.1.1 localhost
<ip of host> FQDN hostname other_name
172.26.43.10 cdh4hdm.domain.com cdh4hdm kdc1
172.26.43.11 cdh4hbm.domain.com cdh4hbm
172.26.43.12 cdh4s1.domain.com cdh4s1
172.26.43.13 cdh4s2.domain.com cdh4s2
172.26.43.14 cdh4s3.domain.com cdh4s3
172.26.43.15 cdh4s4.domain.com cdh4s4
Note: assurez-vous de commenter la ligne Localhost 127.0.1.1 il peut créer problème dans zookeeper et cluster.
ajouter L'adresse IP du serveur DNS dans /etc / resolv.conf
résoudre.conf
search domain.com
nameserver 10.0.1.1
pour vérifier la configuration vérifiez hostfile et votre devrait être en mesure de ping toutes les machines par leur nom d'hôte
pour vérifier le nom d'hôte et le FQDN sur toutes les machines, exécutez les commandes suivantes:
hostname //should return the hostname
hostname -f //Fully Qualified Hostname
hostname -d //Domain name
toutes les commandes il en sera de même pour RHEL sauf le nom d'hôte.
si vous voulez dire le fichier /etc/hosts
, alors voici comment je l'ai défini dans mon cluster hadoop:
127.0.0.1 localhost
192.168.0.5 master
192.168.0.6 slave1
192.168.0.7 slave2
192.168.0.18 slave3
192.168.0.3 slave4
192.168.0.4 slave5 nameOfCurrentMachine
, où nameOfCurrentMachine
est la machine que ce fichier est défini, utilisé comme slave5
.
Certains disent que la première ligne devrait être supprimée, mais je n'ai rencontré aucun problème et je n'ai pas essayé de la supprimer.
ensuite, le fichier $HADOOP_CONF_DIR/masters
dans le noeud maître devrait être:
master
et le $HADOOP_CONF_DIR/slaves
le fichier dans le noeud maître devrait être:
slave1
slave2
slave3
slave4
slave5
dans tous les autres noeuds, j'ai simplement placé ces deux fichiers pour contenir juste:
localhost
vous devez également vous assurer que vous pouvez ssh de maître à tous les autres noeuds (en utilisant son nom, pas son IP) sans mot de passe. Ce post décrit la manière d'y parvenir.
Garder les esclaves fichier hosts comme
127.0.0.1 localhost
Garder l'hôte maître de fichier comme
private ip master
private ip slave1
private ip slave2