MLCP导入java.lang.UnsatisfiedLinkError

时间:2017-08-30 05:13:40

标签: hadoop marklogic marklogic-8 mlcp

我正在尝试使用MLCP将数据导入Marklogic服务器。数据采用XML格式,位于存档(zip)文件中。
MLCP以 java.lang.UnsatisfiedLinkError
结尾 我尝试过使用MLCP 8.0.6和MLCP 8.0.7但两种情况下的错误相同

详细信息:

  • Marklogic server 8.0-6.3
  • MLCP 8.0.6和MLCP 8.0.7
  • mlcp.bat -options_file“选项文件路径”

选项文件

import

-host
localhost

-port
8907

-mode
local

-database
dj_test

-username
admin

-password
admin

-input_file_path
"C:\Users\djoshi16\Documents\training-project-data\"

-input_compressed
true

-input_file_type
archive

-thread_count
4

错误StackTrace

c:\windows\system32>"c:\Users\djoshi\Documents\mlcp-8.0.6\bin\mlcp.bat" -options_file c:\Users\djoshi\Documents\training-project-data-import.options
17/08/29 20:49:47 INFO contentpump.LocalJobRunner: Content type: XML
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:131)
    at org.apache.hadoop.security.Groups.<init>(Groups.java:70)
    at org.apache.hadoop.security.Groups.<init>(Groups.java:66)
    at org.apache.hadoop.security.Groups.getUserToGroupsMappingService(Groups.java:280)
    at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:271)
    at org.apache.hadoop.security.UserGroupInformation.ensureInitialized(UserGroupInformation.java:248)
    at org.apache.hadoop.security.UserGroupInformation.loginUserFromSubject(UserGroupInformation.java:763)
    at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:748)
    at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:621)
    at org.apache.hadoop.mapreduce.task.JobContextImpl.<init>(JobContextImpl.java:72)
    at org.apache.hadoop.mapreduce.Job.<init>(Job.java:144)
    at org.apache.hadoop.mapreduce.Job.getInstance(Job.java:187)
    at com.marklogic.contentpump.Command$1.createJob(Command.java:349)
    at com.marklogic.contentpump.ContentPump.runCommand(ContentPump.java:192)
    at com.marklogic.contentpump.ContentPump.main(ContentPump.java:62)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:129)
    ... 14 more
Caused by: java.lang.UnsatisfiedLinkError: org.apache.hadoop.security.JniBasedUnixGroupsMapping.anchorNative()V
at org.apache.hadoop.security.JniBasedUnixGroupsMapping.anchorNative(Native Method)
    at org.apache.hadoop.security.JniBasedUnixGroupsMapping.<clinit>(JniBasedUnixGroupsMapping.java:49)
    at org.apache.hadoop.security.JniBasedUnixGroupsMappingWithFallback.<init>(JniBasedUnixGroupsMappingWithFallback.java:39)
    ... 19 more

1 个答案:

答案 0 :(得分:0)

感谢mattsun提供有价值的参考资料。

在我的情况下,实际问题是类信息冲突。从MLCP的bin目录中删除.dll文件后,一切都像魅力一样。 dll和jar都被运送到MLCP包中,这就是为什么很难确定实际问题的原因。