Vraag Kon hoofdklasse org.apache.hadoop.util.VersionInfo niet vinden of laden


Ik volgde "http://codesfusion.blogspot.com/2013/10/setup-hadoop-2x-220-on-ubuntu.html"om hadoop op ubuntu te installeren. Maar bij het controleren van de hadoop-versie krijg ik de volgende foutmelding:

Fout: kon de hoofdklasse niet vinden of laden   org.apache.hadoop.util.VersionInfo

Ook als ik probeer: hdfs namenode-formatat

Ik krijg de volgende foutmelding:

Fout: kon de hoofdklasse niet vinden of laden   org.apache.hadoop.hdfs.server.namenode.NameNode

De gebruikte java-versie is:

java version "1.7.0_25"
OpenJDK Runtime Environment (IcedTea 2.3.10) (7u25-2.3.10-1ubuntu0.12.04.2)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)

17
2018-01-19 02:49


oorsprong


antwoorden:


Het is een probleem met het instellen van omgevingsvariabelen. Blijkbaar heb ik er geen gevonden die tot NU kan werken. Ik probeerde op 2.6.4. Dit is wat we zouden moeten doen

export HADOOP_HOME=/home/centos/HADOOP/hadoop-2.6.4
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_CONF_DIR=$HADOOP_HOME
export HADOOP_PREFIX=$HADOOP_HOME
export HADOOP_LIBEXEC_DIR=$HADOOP_HOME/libexec
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH
export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop

Voeg deze toe aan je .bashrc en vergeet het niet te doen

source ~/.bashrc

Ik denk dat je probleem zal worden opgelost zoals het mijne was.


8
2018-02-29 09:26



U hebt waarschijnlijk de instructies niet correct gevolgd. Hier zijn enkele dingen om te proberen en ons te helpen / u diagnosticeert dit:

  • In de shell die je hebt uitgevoerd hadoop version, rennen export en laat ons de lijst met relevante omgevingsvariabelen zien.

  • Laat ons zien wat je in de /usr/local/hadoop/etc/hadoop/hadoop-env.sh het dossier.

  • Als geen van de bovenstaande aanwijzingen u / ons aanwijzingen geeft, zoek en gebruik dan een teksteditor om het bestand (tijdelijk) te wijzigen hadoop wrapper shell-script. Voeg de lijn "set -xv" ergens in de buurt van het begin toe. Ren dan hadoop versionen laat ons zien wat het oplevert.


6
2018-01-19 04:01



Ik stond voor hetzelfde probleem. Hoewel het misschien zo simpel lijkt, maar 2 uur van mijn tijd heeft weggenomen. Ik probeerde alle dingen hierboven, maar het hielp niet.

Ik verlaat gewoon de shell waarin ik was en probeerde het opnieuw door opnieuw op het systeem in te loggen. Toen werkte het!


3
2018-05-17 12:04



Het toevoegen van deze regel aan ~ / .bash_profile werkte voor mij.

export HADOOP_PREFIX=/<where ever you install hadoop>/hadoop

Dus gewoon:

  1. $ sudo open ~ / .bash_profile en voeg de eerder genoemde regel toe
  2. $ source ~ / .bash_profile

Ik hoop dat dit helpt (:


2
2017-09-17 17:09



Probeer te controleren:

  • JAVA_HOME, alle PATH-gerelateerde variabelen in Hadoop config
  • rennen: . ~/.bashrc (let op de punt aan de voorkant) om die variabelen beschikbaar te maken in uw omgeving. Het lijkt erop dat de gids dit niet vermeldt.

1
2018-01-19 03:34



Ik kreeg hetzelfde probleem met hadoop 2.7.2 Nadat ik de getoonde truc had toegepast, kon ik hdfs starten, maar later ontdekte ik dat de teerarchivie die ik gebruikte enkele belangrijke stukjes miste. Dus het downloaden van 2.7.3 alles werkte zoals het hoort te werken.

Mijn eerste suggestie is om opnieuw tar.gz bij dezelfde versie of major te downloaden.

Als je doorgaat met lezen ... hoe heb ik het probleem opgelost ... Na een nieuwe installatie kon hasoop de potten niet vinden. Ik heb deze kleine truc gedaan:

Ik heb gevonden waar de potten zijn
Ik heb een symbolische link van de map naar     $ HADOOP_HOME / share / Hadoop / common

ln -s $HADOOP_HOME/share/hadoop/kms/tomcat/webapps/kms/WEB-INF/lib $HADOOP_HOME/share/hadoop/common 

voor versiecommando heb je hadoop-common-2.7.2.jar nodig, dit hielp me om te vinden waar de potten zijn opgeslagen.

Daarna...

$ bin/hadoop version 
Hadoop 2.7.2
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r b165c4fe8a74265c792ce23f546c64604acf0e41
Compiled by jenkins on 2016-01-26T00:08Z
Compiled with protoc 2.5.0
From source with checksum d0fda26633fa762bff87ec759ebe689c
This command was run using /opt/hadoop-2.7.2/share/hadoop/kms/tomcat/webapps/kms/WEB-INF/lib/hadoop-common-2.7.2.jar

Natuurlijk werkt elke hadoop / hdfs-opdracht nu.

Ik ben weer een gelukkige man, ik weet dat dit geen beleefde oplossing is, maar werkt in elk geval voor mij.


1
2017-08-23 10:07



Ik heb de hierboven beschreven omgevingsvariabelen toegevoegd, maar werkte nog steeds niet. Het instellen van het HADOOP_CLASSPATH als volgt in mijn ~ / .bashrc werkte voor mij:

export HADOOP_CLASSPATH=$(hadoop classpath):$HADOOP_CLASSPATH


0
2017-12-06 11:26



Ik kreeg die fout, die heb ik opgelost door ~ / .bashrc te bewerken als volgt

export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$PATH

open vervolgens terminal en schrijf deze opdracht

source ~/.bashrc

controleer dan

hadoop version

0
2018-03-11 14:38



ik gebruikte

export PATH=$HADOOP_HOME/bin:$PATH

In plaats van

export PATH=$PATH:$HADOOP_HOME/bin

Toen werkte het voor mij!


0
2018-01-22 10:03