三 丰 2018-06-26 02:44 采纳率: 0%
浏览 786
已结题

MapReduce 如何加载本地库

官方的例子如下:
使用DistributedCache 加载本地库
用户可以通过 DistributedCache 加载本地共享库,并分发和建立库文件的符号链接。

这个例子描述了如何分发库文件并在从map/reduce任务中装载库文件。

首先拷贝库文件到HDFS。
bin/hadoop fs -copyFromLocal mylib.so.1 /libraries/mylib.so.1
启动作业时包含以下代码:
DistributedCache.createSymlink(conf);
DistributedCache.addCacheFile("hdfs://host:port/libraries/mylib.so.1#mylib.so", conf);
map/reduce任务中包含以下代码:
System.loadLibrary("mylib.so");

可是实际使用起来无效,请教是什么原因。或者有没有别的方案去加载本地库

  • 写回答

2条回答 默认 最新

  • wq1993109 2018-06-26 02:53
    关注

    DistributedCache.createSymlink(conf);
    DistributedCache.addCacheFile("hdfs://host:port/libraries/mylib.so.1#mylib.so", conf);
    map/reduce任务中包含以下代码:
    System.loadLibrary("mylib.so");

    评论

报告相同问题?