从tableau服务器提取tde文件在mapr下失败

u5i3ibmn  于 2021-05-31  发布在  Hadoop
关注(0)|答案(0)|浏览(313)

我想通过java提取一个tde文件

new Extract(fileName)

但我得到以下错误信息:

Caused by: com.tableausoftware.TableauException: server did not call us back
at com.tableausoftware.extract.Extract.<init>(Unknown Source)

我在不同的论坛上读了好几篇文章。建议的解决方案是对文件设置正确的权限 tdeserver64 . 这并不能解决问题,例外仍然是一样的。
然后我尝试运行tableau sdk提供的示例代码。示例代码正在运行。示例代码和我的代码之间的区别是jar文件 maprfs-5.2.0.jar 在我的课堂上。我们还加载了一个hadoop配置,它使用maprjar中的类来生成二进制文件 libMapRClient.5.2.0-mapr.so 文件并将此文件加载到jna路径。

java.io.FileInputStream.open0(Native Method)
java.io.FileInputStream.open(FileInputStream.java:195)
java.io.FileInputStream.<init>(FileInputStream.java:138)
com.mapr.fs.ShimLoader.extractLibraryFile(ShimLoader.java:421)
com.mapr.fs.ShimLoader.findNativeLibrary(ShimLoader.java:529)
com.mapr.fs.ShimLoader.loadNativeLibrary(ShimLoader.java:340)
com.mapr.fs.ShimLoader.load(ShimLoader.java:226)
org.apache.hadoop.conf.CoreDefaultProperties<clinit(CoreDefaultProperties.java:61)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:348)

看起来这导致了上述例外。我假设这是因为我也得到了一个“c”堆栈跟踪:


***glibc detected***/usr/java/default/bin/java: free(): invalid pointer: 0x00007fde3a83e2c0***

======= Backtrace: =========
/lib64/libc.so.6(+0x75dee)[0x7fdebd791dee]
/lib64/libc.so.6(+0x78c3d)[0x7fdebd794c3d]
/tmp/tableau-sdk/lib64/tableausdk/libtabsys.so(_ZNSs9_M_mutateEmmm+0x1c4)[0x7fde063b45c4]
/tmp/tableau-sdk/lib64/tableausdk/libtabsys.so(_ZNSs15_M_replace_safeEmmPKcm+0x1e)[0x7fde063b4a7e]
/root/tmp/mapr-root-libMapRClient.5.2.0-mapr.so(_ZN4mapr2fs8CidCache15GetCidForVolumeEPKcNS0_20VolLinkAttributeTypeEPjPNS0_6FidMsgEbb+0x4c2)[0x7fde3aea4982]
/root/mapr-root-libMapRClient.5.2.0-mapr.so(_ZN4mapr2fs8CidCache4InitEPKciPmPjPNS0_9MapClientEb+0x1b1)[0x7fde3aea61b1]
/root/mapr-root-libMapRClient.5.2.0-mapr.so(_ZN4mapr2fs9MapClient4InitEPmijjjPKcP8_jstringbb+0x1c7)[0x7fde3ae4bc17]
/root/mapr-root-libMapRClient.5.2.0-mapr.so(_ZN4mapr2fs9MapClient9GetClientEP7JNIEnv_PKcPmijjjS5_P8_jstringbPNS0_19MapClientInitParamsEPib+0x10f)[0x7fde3ae793ef]
/root/mapr-root-libMapRClient.5.2.0-mapr.so(_ZN4mapr2fs9MapClient9GetClientEP7JNIEnv_PKcPmijjjS5_P8_jstringbPNS0_19MapClientInitParamsEPi+0x49)[0x7fde3ae796d9]
/root/mapr-root-libMapRClient.5.2.0-mapr.so(Java_com_mapr_fs_jni_MapRClient_OpenClient+0x1b4)[0x7fde3af2f1c4]

如果我移除 maprfs.jar ,tde文件的提取工作正常。
有人在maprhadoop集群上提取tde文件时遇到了相同的问题,或者 maprfs.jar 在类路径中?
或者有一些限制 libc.so , libtabsys.so 以及 libMapRClient.so ?
旁注:这个问题只发生在linux上,而不是在MacOSX上。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题