Проблемы установки Hadoop MAC OS - PullRequest
1 голос
/ 28 сентября 2011

Поэтому я пытаюсь установить hadoop на MAC OS X Leopard, следуя инструкциям, приведенным в этой заметке: Запуск Hadoop на кластере с одним узлом OS X .

Я достиг шага 4: Форматирование и запуск Hadoop, где я ввел следующее:

hadoop-*/bin/hadoop namenode -format

Это привело к следующему неприятному выводу:

Macbook009:~ Hadoop$ hadoop-*/bin/hadoop namenode -format
    Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:676)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:317)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:375)
Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:676)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:317)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:375)

Я немного погуглил и узнал, чтоJAVA_HOME может быть установлен неправильно.Я создал файл .bash_profile, например так:

export JAVA_HOME=/system/Library/Frameworks/JavaVM.framework/Versions/1.6/Home
export HADOOP_HOME=~/Users/Hadoop/hadoop-0.20.203.0

export PATH=$HADOOP_HOME/bin:$PATH

Нет.Такая же долбанная ошибка.Что я делаю не так?

Ответы [ 6 ]

2 голосов
/ 03 октября 2011

Я подозреваю, что JVM, которая на самом деле работает с Hadoop, является не ожидаемой, а более старой (Java 5).Проверьте это, запустив ps (или любой эквивалент Mac) и изучив командную строку.

Попробуйте установить JAVA_HOME в $HADOOP_HOME/conf/hadoop-env.sh на тот же путь, который вы указали в .bash_profile.

1 голос
/ 05 октября 2011

Возможно, проблема с настройкой JAVA_HOME по-прежнему возникает, поскольку она может отличаться от примеров в Интернете. Используйте эту команду в своем терминале, чтобы найти каталог JAVA_HOME / usr / libexec / java_home

1 голос
/ 03 октября 2011

Попробуйте набрать jps и посмотреть, сколько узлов на самом деле работает. Там должно быть 6 из них. Надеюсь, у тебя не должно быть проблем.

1 голос
/ 28 сентября 2011

Это вызвано тем, что jre, который вы используете, старше, чем jre, скомпилировавший файлы классов.Например, работает 1.6 скомпилированной Java с 1.5 JRE.Если класс был скомпилирован только для 1.6, он не будет работать с 1.5.

Сделайте

  java -version

и посмотрите, что у вас есть.Скорее всего, у вас есть старый и вам нужно обновить его.

0 голосов
/ 04 июня 2014

Однако для более новых версий OS X, таких как 10.9, настройка PATH, описанная выше, не работает.

Найден способ добавления среды PATH по умолчанию для MAC в файле /etc/paths.

.

Откройте этот файл с помощью терминала в режиме SUDO.

$ sudo nano / etc / paths (введите пароль при запросе).

Добавить путь в следующем формате.

/ пользователей / Hadoop / Hadoop-1.2.1 / бен

/ пользователей / Hadoop / Hadoop-1.2.1 / SBIN

сохраните файл и перезагрузите компьютер. В следующий раз не нужно вводить всю команду для запуска команды сценария Hadoop из сценария.

0 голосов
/ 19 мая 2012

Следующие шаги работали без проблем для меня:

http://ragrawal.wordpress.com/2012/04/28/installing-hadoop-on-mac-osx-lion

Например, для wordcount вам нужно скопировать ваш файл в hdfs, для которого вы можете найти команду здесь: (это единственный шаг, на котором я боролся, следуя за страницей выше).

http://www.michael -noll.com / учебники / погонный-Hadoop-на-Ubuntu-Linux-одноузловых кластера / # приработки а-MapReduce-заданий

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...