【问题标题】:Classpath issues in MAPRMAPR 中的类路径问题
【发布时间】:2015-06-12 10:25:48
【问题描述】:

正在运行 MAPR 客户端程序。我得到以下异常: java.lang.UnsatisfiedLinkError: com.mapr.security.JNISecurity.SetParsingDone()V 在 com.mapr.security.JNISecurity.SetParsingDone(本机方法) 在 com.mapr.baseutils.cldbutils.CLDBRpcCommonUtils.init(CLDBRpcCommonUtils.java:222) 在 com.mapr.baseutils.cldbutils.CLDBRpcCommonUtils.(CLDBRpcCommonUtils.java:72) 在 com.mapr.baseutils.cldbutils.CLDBRpcCommonUtils.(CLDBRpcCommonUtils.java:63) 在 org.apache.hadoop.conf.CoreDefaultProperties.(CoreDefaultProperties.java:68) 在 java.lang.Class.forName0(本机方法) 在 java.lang.Class.forName(Class.java:270) 在 org.apache.hadoop.conf.Configuration.getClassByNameOrNull(Configuration.java:1847) 在 org.apache.hadoop.conf.Configuration.getProperties(Configuration.java:2062) 在 org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:2272) 在 org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:2224) 在 org.apache.hadoop.conf.Configuration.getProps(Configuration.java:2141) 在 org.apache.hadoop.conf.Configuration.get(Configuration.java:864) 在 org.apache.hadoop.mapred.JobConf.checkAndWarnDeprecation(JobConf.java:2068) 在 org.apache.hadoop.mapred.JobConf.(JobConf.java:420)

似乎缺少一些库。 这个怎么办?

【问题讨论】:

    标签: mapr


    【解决方案1】:

    如果您在 MapR 集群的一个或多个节点上运行您的应用程序,所有 Jar 都已经存在,如果您在另一台机器上运行,您应该安装和配置 MapR Client

    那么,您使用的是哪种类型的应用程序?

    1. 简单的 Java 应用程序使用 java -cp ... myClass 运行?
    2. JavaEE/Web 应用程序?

    如果您正在运行一个简单的 Java 应用程序(1),您可以在运行它时使用 hadoop classpath 命令,例如:

    java -cp path/to/your.jar:`hadoop classpath`  you.package.your.class
    

    如果您想运行 Web 应用程序,您应该将 Jars 放在容器的 Global/Common 加载器中。我为此做了什么:

    创建一个新目录,并将 hadoop jar 复制到此文件夹中

    mkdir $HOME/lib_mapr/
    cp /opt/mapr/hadoop/hadoop-0.20.2/lib/*.jar $HOME/lib_mapr/
    

    删除可能与 Tomcat 冲突的 jar:

    cd $HOME/lib_mapr/
    
    rm *servlet*.jar
    
    rm jsp*.jar
    
    rm jetty*.jar
    

    例如在Tomcat中你可以将文件夹添加到通用加载器中

    shared.loader=/Users/tgrall/lib_mapr/*.jar
    

    如果您在应用程序中使用 MapR-DB,在客户端计算机又名边缘计算机上,您应该手动将 Jar 从服务器复制到此文件夹,或使用 maprdb 客户端包。

    【讨论】:

      猜你喜欢
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 2013-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多