#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:
- Загрузите двоичный файл hadoop (ссылка) и поместите его в свой домашний каталог (вы можете выбрать другую версию hadoop, если хотите, и соответствующим образом изменить следующие шаги)
- Разархивируйте папку в вашем домашнем каталоге, используя следующую команду. tar -zxvf имя_файла_адаптера
- Теперь добавьте экспорт HADOOP_HOME=~/hadoop-2.8.0 в ваш файл .bashrc. Откройте новый терминал и повторите попытку.
Источник: Установите PySpark на ubuntu
Комментарии:
1. Вы не должны использовать .bashrc, но файл конфигурации spark-env.sh для установки необходимых переменных среды Spark.