2012-11-16 4 views
0

J'essaie actuellement de configurer Hadoop en mode pseudo-distribué sur mon Mac, qui utilise Mountain Lion. J'ai téléchargé Hadoop 1.0.4 et j'ai pris les mesures suivantes, comme détaillé dans "Hadoop in Action", par Chuck Lam:Configurer Hadoop en mode pseudo-distribué sur un Mac

1) Générer une paire de clés SSH: J'ai couru ssh-keygen -t rsa pour générer une paire et n'a pas défini Un mot de passe. Je mets la clé dans /Users/me/.ssh/id_rsa.pub. J'ai ensuite copié ce fichier dans ~/.ssh/authorized_keys. Cela me permet de SSH à ma propre machine à partir de ma propre machine sans fournir de mot de passe.

2) Configurer JAVA_HOME: J'ai modifié le conf/hadoop-env.sh pour inclure export JAVA_HOME=/Library/Java/Home, qui est, je crois, mon répertoire d'installation Java. (Pour référence, ce répertoire contient bin, bundle, lib et man.)

3) Configurer les fichiers de configuration du site: J'ai copié-collé les configurations suggérées dans le livre. Ils sont: core-site.xml

<!-- Put site-specific property overrides in this file. --> 

<configuration> 

<property> 
<name>fs.default.name</name> 
<value>hdfs://localhost:9000</value> 
<description>The name of the default file system. A URI whose 
scheme and authority determine the FileSystem implementation. 
</description> 
</property> 

</configuration> 

mapred-site.xml

<?xml version="1.0"?> 
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 

<!-- Put site-specific property overrides in this file. --> 

<configuration> 

<property> 
<name>mapred.job.tracker</name> 
<value>localhost:9001</value> 
<description>The host and port that the MapReduce job tracker runs 
at.</description> 
</property> 

</configuration> 

hdfs-site.xml

<?xml version="1.0"?> 
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 

<!-- Put site-specific property overrides in this file. --> 

<configuration> 

<property> 
<name>dfs.replication</name> 
<value>1</value> 
<description>The actual number of replications can be specified when the 
file is created.</description> 
</property> 

</configuration> 

4) Mettre en place les maîtres et les des esclaves. Mes fichiers conf/masters et conf/slaves contiennent simplement localhost.

5) Format HDFS: bin/hadoop namenode -format Je reçois la sortie suivante:

12/11/16 13:20:12 INFO namenode.NameNode: STARTUP_MSG: 
/************************************************************ 
STARTUP_MSG: Starting NameNode 
STARTUP_MSG: host = dhcp-18-111-53-8.dyn.mit.edu/18.111.53.8 
STARTUP_MSG: args = [-format] 
STARTUP_MSG: version = 1.0.4 
STARTUP_MSG: build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.0 -r 1393290; compiled by 'hortonfo' on Wed Oct 3 05:13:58 UTC 2012 
************************************************************/ 
Re-format filesystem in /tmp/hadoop-me/dfs/name ? (Y or N) Y 
12/11/16 13:20:17 INFO util.GSet: VM type  = 64-bit 
12/11/16 13:20:17 INFO util.GSet: 2% max memory = 39.83375 MB 
12/11/16 13:20:17 INFO util.GSet: capacity  = 2^22 = 4194304 entries 
12/11/16 13:20:17 INFO util.GSet: recommended=4194304, actual=4194304 
12/11/16 13:20:17 INFO namenode.FSNamesystem: fsOwner=me 
12/11/16 13:20:18 INFO namenode.FSNamesystem: supergroup=supergroup 
12/11/16 13:20:18 INFO namenode.FSNamesystem: isPermissionEnabled=true 
12/11/16 13:20:18 INFO namenode.FSNamesystem: dfs.block.invalidate.limit=100 
12/11/16 13:20:18 INFO namenode.FSNamesystem: isAccessTokenEnabled=false accessKeyUpdateInterval=0 min(s), accessTokenLifetime=0 min(s) 
12/11/16 13:20:18 INFO namenode.NameNode: Caching file names occuring more than 10 times 
12/11/16 13:20:18 INFO common.Storage: Image file of size 119 saved in 0 seconds. 
12/11/16 13:20:18 INFO common.Storage: Storage directory /tmp/hadoop-me/dfs/name has been successfully formatted. 
12/11/16 13:20:18 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************ 
SHUTDOWN_MSG: Shutting down NameNode at dhcp-18-111-53-8.dyn.mit.edu/18.111.53.8 
************************************************************/ 

6) Lancement: bin/start-all.sh-je obtenir la sortie suivante:

starting namenode, logging to /Users/me/hadoop-1.0.4/libexec/../logs/hadoop-me-namenode-dhcp-18-111-53-8.dyn.mit.edu.out 
localhost: starting datanode, logging to /Users/me/hadoop-1.0.4/libexec/../logs/hadoop-me-datanode-dhcp-18-111-53-8.dyn.mit.edu.out 
localhost: starting secondarynamenode, logging to /Users/me/hadoop-1.0.4/libexec/../logs/hadoop-me-secondarynamenode-dhcp-18-111-53-8.dyn.mit.edu.out 
starting jobtracker, logging to /Users/me/hadoop-1.0.4/libexec/../logs/hadoop-me-jobtracker-dhcp-18-111-53-8.dyn.mit.edu.out 
localhost: starting tasktracker, logging to /Users/me/hadoop-1.0.4/libexec/../logs/hadoop-me-tasktracker-dhcp-18-111-53-8.dyn.mit.edu.out 

Le texte affirme maintenant que je devrais pouvoir pour exécuter jps et obtenir une sortie similaire à:

26893 Jps 
26832 TaskTracker 
26620 SecondaryNameNode 
26333 NameNode 
26484 DataNode 
26703 JobTracker 

Cependant, Je reçois seulement:

71311 Jps 

Donc je suppose que quelque chose ne va pas, mais je n'ai aucune idée d'où je me suis trompé. Aucune suggestion? Merci.

Répondre

0

Les journaux Hadoop vous diront pourquoi.

Consultez les journaux sous /Users/me/hadoop-1.0.4/libexec/../logs/

Je pense que le problème peut être les autorisations de répertoire .ssh n'est pas correct.

Essayez chmod 700 ~/.ssh; chmod 600 ~/.ssh/id_rsa

Questions connexes