Snappy Compression не работает из-за превилиджей папки tmp

У меня возникает проблема всякий раз, когда я пытаюсь сохранить свои данные в сжатом формате с помощью pig, Sqoop или Spark. Я знаю, что проблема заключается в монтировании нашей папки tmp в nonexec, и это приводит, например, к тому, что snappy выдает мне эту ошибку:

java.lang.IllegalArgumentException: java.lang.UnsatisfiedLinkError: /tmp/snappy-1.1.2-fe4e30d0-e4a5-4b1a-ae31-fd1861117288-libsnappyjava.so: /tmp/snappy-1.1.2-fe4e30d0-e4a5-4b1a- ae31-fd1861117288-libsnappyjava.so: не удалось сопоставить сегмент общего объекта: операция не разрешена

Решения, которые я нашел в Интернете, заключаются в том, что либо смонтировать папку tmp в exec, что не подходит для меня, поскольку системный администратор не разрешает это из соображений безопасности. Другой вариант - изменить путь выполнения java opts на какой-то другие пути вместо tmp.

Я пробовал следующий подход, но это не решило проблему. добавьте эти строки в hadoop-env.sh и sqoop-env

экспорт HADOOP_OPTS="$HADOOP_OPTS -Dorg.xerial.snappy.tempdir=/newpath" экспорт HADOOP_OPTS="$HADOOP_OPTS -Djava.io.tmpdir=/newpath"

Я был бы признателен, если бы у вас, ребята, были какие-либо другие решения, которые могли бы решить проблему.

Спасибо


person Saeed Soltani    schedule 09.11.2017    source источник
comment
Привет @Саид Солтани. Вы смогли решить эту проблему? Если да, то как вы это сделали?   -  person Vaishak    schedule 07.06.2019


Ответы (1)


Для других пользователей с этой проблемой попробуйте запустить Hive с помощью

hive --hiveconf org.xerial.snappy.tempdir=/../

и предоставить место, которое может выполнить

person ahong    schedule 07.06.2018