【发布时间】:2018-06-08 01:54:26
【问题描述】:
每当我尝试使用 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" export HADOOP_OPTS="$HADOOP_OPTS -Djava.io.tmpdir=/newpath"
如果你们有任何其他可以解决问题的解决方案,我将不胜感激。
谢谢
【问题讨论】:
-
嗨@Saeed Soltani。你能解决这个问题吗?如果是,你是怎么解决的?