hadoop学习3——DistributedCache加载本地库

本地库位置:hadoop发行版的lib/native目录下

支持的平台

Hadoop本地库只支持*nix平台,已经广泛使用在GNU/Linux平台上,但是不支持 CygwinMac OS X

已经测试过的GNU/Linux发行版本:

在上述平台上,32/64位Hadoop本地库分别能和32/64位的jvm一起正常运行。

使用DistributedCache 加载本地库

用户可以通过 DistributedCache 加载本地共享库,并分发和建立库文件的符号链接

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

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

这些都是开发文档上的片段,具体还没亲自测试,先记一下,以备后续深入学习

你可能感兴趣的:(hadoop)