3

При попытке прочитать Snappy файл сжата последовательностью из искрового кластера запущен с Google Cloud Dataproc, я получаю следующее предупреждение:Как включить поддержку Snappy-кодека в кластере Spark, запущенном с помощью Google Cloud Dataproc?

java.lang.RuntimeException: native snappy library not available: this version of libhadoop was built without snappy support. 

Что является лучшим способом для того, чтобы Snappy поддержки кодека в этом контексте?

ответ

4

К сожалению, запуск изображение Dataproc было без поддержки Snappy. Я открыл ошибку, чтобы зафиксировать это для следующего изображения.

Обходной:

  1. Сначала нужно создать небольшой скрипт, который правильно устанавливает мгновенным и встроенную поддержку библиотеки для него. Для этого мы будем использовать те же собственные библиотеки bdutil. Я назвал мой сценарий setup-snappy.sh:

    #!/bin/bash 
    
    pushd "$(mktemp -d)" 
    apt-get install -q -y libsnappy1 
    wget https://storage.googleapis.com/hadoop-native-dist/Hadoop_2.7.1-Linux-amd64-64.tar.gz 
    tar zxvf Hadoop_2.7.1-Linux-amd64-64.tar.gz -C /usr/lib/hadoop/ 
    
  2. Скопируйте новый сценарий оболочки в ведро ГКС у вас есть. Для демонстрационных целей, давайте предположим, что ведро dataproc-actions:

    gsutil cp ./setup-snappy.sh gs://dataproc-actions/setup-snappy.sh 
    
  3. При запуске кластера, укажите действия инициализации:

    gcloud beta dataproc clusters create --initialization-actions gs://dataproc-actions/setup-snappy.sh mycluster 
    
+0

Благодаря Ангус, я могу подтвердить, что это работает для нас! Кстати, у вашей последней команды есть небольшая опечатка, она должна быть «gcloud beta dataproc clusters create --initialization-actions» gs: //dataproc-actions/setup-snappy.sh mycluster' – aeneaswiener

+0

Спасибо, что указали это. Обновлена ​​команда. –

0

я не сделал это сам, но this post должен решить проблему:

Для установки и настройки других компонентов системного уровня bdutil поддерживает механизм расширения. Хорошим примером расширений является расширение Spark, связанное с bdutil: extensions/spark/spark_env.sh. При запуске bdutil расширений добавляются с флагом -e, например, развернуть Спарк с Hadoop:

./bdutil -e расширений/искрой/spark_env.sh развернуть