官方的例子如下:
使用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");
可是实际使用起来无效,请教是什么原因。或者有没有别的方案去加载本地库