Spark не удается загрузить встроенную библиотеку hadoop для вашей платформы

#hadoop #apache-spark #hadoop2

#hadoop #apache-spark #hadoop2

Вопрос:

Я манекен на Ubuntu 16.04, отчаянно пытающийся заставить Spark работать. Я пытался решить свою проблему, используя ответы, найденные здесь, в stackoverflow, но я ничего не смог решить. Запуская spark с помощью команды ./spark-shell из папки bin, я получаю это сообщение

 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable".
  

Я использую версию Java is

 java version "1.8.0_101
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode).
  

Spark — последняя версия: 2.0.1 с Hadoop 2.7.
Я также повторил попытку с более старым пакетом Spark, 1.6.2 с Hadoop 2.4, но я получаю тот же результат. Я также пытался установить Spark в Windows, но это кажется сложнее, чем делать это в Ubuntu.

Я также пытался запустить некоторые команды на Spark со своего ноутбука: я могу определить объект, я могу создать RDD и сохранить его в кэше, и я могу использовать функцию like .map() , но когда я пытаюсь запустить функцию .reduceByKey() , я получаю несколько строк сообщений об ошибках.

Может быть, это библиотека Hadoop, которая скомпилирована для 32 бит, в то время как я использую 64 бита?

Спасибо.

Комментарии:

1. вам не нужно использовать собственные библиотеки hadoop — это просто предупреждение, указывающее, что все будет работать медленнее. Похоже, у вас другая проблема, которая мешает вам выполнить reduceByKey — возможно, задайте другой вопрос с полученными в результате сообщениями об ошибках

Ответ №1:

Шаги по исправлению:

  • загрузка двоичных файлов Hadoop
  • распакуйте в каталог по вашему выбору
  • установите HADOOP_HOME значение, указывающее на этот каталог.
  • добавить $HADOOP_HOME/lib/native в LD_LIBRARY_PATH .

Комментарии:

1. Перейдите в /etc/profile . общий каталог и создайте hadoop.sh файл там с export HADOOP_HOME=/opt/hadoop/hadoop export HIVE_HOME=/opt/hadoop/ПУТЬ экспорта улья=$PATH:$HADOOP_HOME/bin:$HIVE_HOME/bin После сохранения файла убедитесь, что chmod x /etc/profile.d/hadoop.sh источник /etc/profile.d/hadoop.sh

2. Извините, я новичок в Stackoverflow и допустил ошибку, отправив комментарий раньше времени. То, что я намеревался сделать, это написать команды, которые я должен написать, чтобы установить HADOOP_HOME и добавить в LD_LIBRARY_PATH; чтобы вы могли исправить меня, прежде чем наносить ущерб. Итак: перейдите в ‘/etc/profile. общий каталог’ и создайте hadoop.sh файл там с: ‘экспортировать HADOOP_HOME=/opt/hadoop/hadoop’ ‘экспортировать HIVE_HOME=/opt/hadoop/hive’ ‘путь экспорта =$PATH:$HADOOP_HOME/bin:$HIVE_HOME/bin’ После сохранения файла: ‘chmod x/etc/profile.d/hadoop.sh источник /etc/profile.d/hadoop.sh «. Большое спасибо за помощь!

3. Для этого лучше всего использовать файлы конфигурации Spark, отредактировав conf/spark-env.sh в вашем SPARK_HOME .

4.Tank Yo @LostInOverflow, так что я должен сделать: cd /spark-2.0.1-bin-hadoop2.7/conf sudo nano spark-env.sh и написать внутри него: export HADOOP_HOME=/home/myname/hadoop-2.7.3 тогда export PATH=$HADOOP_HOME/lib/native это правильно? Извините за избыточные запросы

5. Если это пути.

Ответ №2:

  1. Загрузите двоичный файл hadoop (ссылка) и поместите его в свой домашний каталог (вы можете выбрать другую версию hadoop, если хотите, и соответствующим образом изменить следующие шаги)
  2. Разархивируйте папку в вашем домашнем каталоге, используя следующую команду. tar -zxvf имя_файла_адаптера
  3. Теперь добавьте экспорт HADOOP_HOME=~/hadoop-2.8.0 в ваш файл .bashrc. Откройте новый терминал и повторите попытку.

Источник: Установите PySpark на ubuntu

Комментарии:

1. Вы не должны использовать .bashrc, но файл конфигурации spark-env.sh для установки необходимых переменных среды Spark.