启动nodemanager

时间:2016-05-31 16:58:22

标签: hadoop yarn

我更改了一些配置,需要重新启动nodemanager。我收到以下错误消息:

Error starting NodeManager
java.lang.UnsatisfiedLinkError: Could not load library. Reasons: [no leveldbjni64-1.8 in java.library.path, no leveldbjni-1.8 in java.library.path, no leveldbjni in java.library.path, /tmp/libleveldbjni-64-1-1006449310407885041.8: /tmp/libleveldbjni-64-1-1006449310407885041.8: failed to map segment from shared object: Operation not permitted]
at org.fusesource.hawtjni.runtime.Library.doLoad(Library.java:182)
at org.fusesource.hawtjni.runtime.Library.load(Library.java:140)
at org.fusesource.leveldbjni.JniDBFactory.<clinit>(JniDBFactory.java:48)
at org.apache.hadoop.yarn.server.nodemanager.recovery.NMLeveldbStateStoreService.initStorage(NMLeveldbStateStoreService.java:864)
at org.apache.hadoop.yarn.server.nodemanager.recovery.NMStateStoreService.serviceInit(NMStateStoreService.java:195)
at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)
at org.apache.hadoop.yarn.server.nodemanager.NodeManager.initAndStartRecoveryStore(NodeManager.java:155)
at org.apache.hadoop.yarn.server.nodemanager.NodeManager.serviceInit(NodeManager.java:193)
at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)
at org.apache.hadoop.yarn.server.nodemanager.NodeManager.initAndStartNodeManager(NodeManager.java:462)
at org.apache.hadoop.yarn.server.nodemanager.NodeManager.main(NodeManager.java:509)

好像我的/ tmp文件夹是作为noexec挂载的。但是对于安全问题我无法重新安装它。我应该怎么做才能启动nodemanager,有什么解决方法吗?

由于

2 个答案:

答案 0 :(得分:0)

也许,将leveldbjniwin64-1.8和leveldbjni-1.8下载到你的java.library.path可能有效

PS。你可以运行代码 System.out.println(System.getProperty("java.library.path")); 获取你的java.library.path。

答案 1 :(得分:0)

是的,有一种解决方法。您可以进入YARN配置并更改java使用的tmp目录。 在YARN配置中,将'-Djava.io.tmpdir = / path / to / other / temp / dir'附加到以下属性: 1. ApplicationMaster Java Opts Base 2. JobHistory Server的Java配置选项 3. NodeManager的Java配置选项 4. ResourceManager的Java配置选项

对于工作: Cloudera Manager - &gt; YARN - &gt;搜索:hadoop-env.sh的网关客户端环境高级配置代码段(安全阀)并添加以下内容: HADOOP_CLIENT_OPTS = “ - Djava.io.tmpdir = /路径/到/其他/温度/ DIR”

现在重新部署YARN客户端配置。