2012-07-03 16 views
7

-Format namenode çalışırken benim çıkıştır. Chmod 777 hadoop dosya izinlerini değiştirmeyi denedim. java.io.IOException: dizin/senin/bir/yer/Hadoop/tmp/dir/Hadoop-Hadoop/dfs/adı oluşturulamıyor/Hadoop java.io.IOException: Ben namenode -format.This ran

akım

Bu hat hatası HATA namenode.NameNode olduğuna inanıyoruz

[email protected]:/usr/local/hadoop/bin$ ./hadoop namenode -format 
12/07/03 17:03:56 INFO namenode.NameNode: STARTUP_MSG: 
/************************************************************ 
STARTUP_MSG: Starting NameNode 
STARTUP_MSG: host = alexander-desktop/127.0.1.1 
STARTUP_MSG: args = [-format] 
STARTUP_MSG: version = 0.20.2 
STARTUP_MSG: build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20 -r 911707; compiled by 'chrisdo' on Fri Feb 19 08:07:34 UTC 2010 
************************************************************/ 
12/07/03 17:03:56 INFO namenode.FSNamesystem: fsOwner=hadoop,hadoop 
12/07/03 17:03:56 INFO namenode.FSNamesystem: supergroup=supergroup 
12/07/03 17:03:56 INFO namenode.FSNamesystem: isPermissionEnabled=true 
12/07/03 17:03:56 ERROR namenode.NameNode: java.io.IOException: Cannot create directory /your/path/to/hadoop/tmp/dir/hadoop-hadoop/dfs/name/current 
    at org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.clearDirectory(Storage.java:295) 
    at org.apache.hadoop.hdfs.server.namenode.FSImage.format(FSImage.java:1086) 
    at org.apache.hadoop.hdfs.server.namenode.FSImage.format(FSImage.java:1110) 
    at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:856) 
    at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:948) 
    at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:965) 

12/07/03 17:03:56 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************ 
SHUTDOWN_MSG: Shutting down NameNode at alexander-desktop/127.0.1.1 


[email protected]:/usr/local$ sudo hadoop/bin/hadoop namenode -format 
sudo: /etc/sudoers is mode 0777, should be 0440 
sudo: no valid sudoers sources found, quitting 
+0

muhtemelen namenode üzerinde biçimini gerçekleştirmeden önce ilk olarak tüm cinleri durdurmak gerekebilir ..! –

cevap

13

sudo (Ben izinleri değişti fark) ile deneyin ama hala sudo deneyin ve sorunu çözüp çözmediğini kontrol ederim.

+0

sudoers için izin düzeyini değiştirerek yukarıdaki hatayı düzelttim. Orijinal hata çözülmedi. tamam şimdi JAVA_HOME ile bir sorunum var ihracat $ JAVA_HOME ve hata düzeltmek için yol kullanabilir miyim – alex

+0

@alex: $ JAVA_HOME conf/hadoop-env.sh ayarladınız mı? Ortamınızın bu JAVA_HOME setine sahip olup olmadığını kontrol edin. Sudo kullanıcı ortamı ve ortamın farklı olduğunu unutmayın. Printev ve sudo printenv komutlarını kullanın. – FourOfAKind

+0

Bu sorunu çözdüğüm için çeşitli çevresel değişkenler de denedim, bu yüzden öğrenmeye değer bir deneyim buldum. Kafamın karıştığı şey, ya hadoop-env.sh ya da bash.bashrc dosyasını ayarlayabileceğinizi söyledi. – alex

0

sudo bu durumda bozuk, ancak pkexec (PolicyKit komut satırı ön ucu) hala çalışıyor, böylece tek bir komutla düzeltebilirsiniz. Yeniden başlatma gerekli değil.

pkexec chmod 0440 /etc/sudoers 

Bu PolicyKit yüklenir varsayar. Bu bir masaüstü sistem ise (GUI'siz bir sunucu yerine), öyle.

1

Kontrol HDF'ler-site.xml dosyasını yapılandırma, bu may özellikleri dfs.namenode.name.dir için ve sorunun nedeni oldu Benim durumumda dfs.datanode.data.dir bir yanlış yolu vardır (dizin oldu diğer geçerli kullanıcının ana klasöründe bulunur).

1- sudo su

şifrenizi giriniz -

+0

Herkesin sudo ile nükleer olduğunu düşünüyorum - hata mesajı yazıyor: java.io.IOException:/path/to/hadoop/tmp/dir/hadoop-hadoop/dfs/name/current dizin oluşturulamıyor. datadir dizini mevcut değil mi? İlk önce core-site.xml hdfs-site.xml dosyasındaki varsayılan değerlerinizi kontrol edin. –

11

takiben adımlar benim sorun çözüldü.

2-/usr/yerel/Hadoop'un/bin/HDF'ler namenode -Format.

Bu "Hadoop namenode -Format" Bu izinler konudur

+0

Teşekkürler, işe yaradı! –

+0

Benim için çalıştı, teşekkürler! Kabul edilen cevap benim için de benim durumumda – randombee

+0

aynı işe yaramadı .. Kabul edilen cevap benim durumumda işe yaramadı .. bu işe yaradı ~ – MysticForce

2

"HDF'ler namenode -Format" seçeneğini kullanarak dolayısıyla beendeprecated ettiği de hadoop2.5 için yapılmıştır. Ya root

olarak 1. sudo 2. girişi kullanabilirsiniz Ama en iyi çözüm HADOOP_HOME sizin Hadoop yüklemesini olan

sudo chown $ HADOOP_HOME

Hadoop namenode

-Format

olduğunu dizin

+0

sudo chown $ HADOOP_HOME hangi izne? –