Hadoop-2.2.0中文文档—— Common - Native Libraries Guide
概览
这个新手教程描写叙述了native(本地?原生?)hadoop库,包括了一小部分关于native hadoop共享库的讨论。
This guide describes the native hadoop library and includes a small discussion about native shared libraries.
注意: 依据你的环境,词组 "native libraries" 可能会变成 *.so,这样你就须要编译。然后,要是词组 "native compression" 变成 *.so,你就须要在编译时特别指定相关的压缩。(原文是在是翻不好! Depending on your environment, the term
"native libraries" could refer to all *.so's you need to compile; and, the term "native compression" could refer to all *.so's you need to compile that are specifically related to compression.)当期,然而。这个文档仅仅讨论 native hadoop 库(libhadoop.so).
Native Hadoop Library
Hadoop 有 native实现。是由于性能原因和Java的实现不可用而实现了特定的组件。
这些组件可在单节点,动态链接的 native 库中调用native hadoop库。在*nix平台上。库名是 libhadoop.so.
使用方法
使用hadoop native库相当简单:
- 检查组件
- 检查支持的平台
- 或者下载一个包括内置原生库的hadoop发行版,或者创建你自己的 native hadoop 库。不论是下载还是创建,库的名字都是一样的:libhadoop.so
- 安装压缩编码包 (>zlib-1.2, >gzip-1.2): + 假设你下载库安装一个或很多其它的开发包-不论你用哪一个压缩编码器来部署。 + 假设你创建库,则必须安装两个开发包。
- 检查执行时日志文件
组件
native hadoop 库包括两个组件。 zlib 和 gzip 压缩编码器:
- zlib
- gzip
native hadoop 库对gzip工作来说是必须的。
支持的平台
native hadoop 库仅在 *nix 平台上受支持。
这个库不能与 Cygwin或 Mac OS X 平台一同工作。
native hadoop 库主要用在 GNU/Linus 平台,已经在这些发行版上測试过:
- RHEL4/Fedora
- Ubuntu
- Gentoo
在全部上面的 32/64 位发行版上。 native hadoop 库会分别执行一个 32/64 位的 jvm.
下载
内置的 32-bit i386-Linux native hadoop 作为hadoop发行版的一部分,位置是 lib/native 文件夹。
你能够从
Hadoop Common Releases 下载hadoop发行版。
确保要安装 zlib和/或 gzip 开发包 - 不论你用哪一个压缩编码器来部署。
Build
native hadoop 库有用 ANSI C 写的,用 GNU autotools-chain (autoconf, autoheader, automake, autoscan, libtool)构建。这意味着它应该能够直接在不论什么有标准C编译器和GNU autotools-chain(见支持的平台)的平台上构建库。
你须要安装在目标平台上的包:
- C 编译器(比如, GNU C Compiler)
- GNU Autools Chain: autoconf, automake, libtool
- zlib-开发包 (稳定版本号 >= 1.2.0)
一旦你使用标准的hadoop build.xml file安装了先决的包。并传递compile.native 标志(设为true)去构建 native hadoop library:
$ ant -Dcompile.native=true <target>
你应该能够看见新建的库:
$ build/native/<platform>/lib
平台是系统属性的组合: $os.name-$os.arch-$sun.arch.data.model (如,
Linux-i386-32).
请注意:
- 必须安装zlib 和 开发包到目标平台上,以便构建 native hadoop 库。然而。为了开发的话仅安装一个包就够了,假设你仅仅想用编码器的话。
- 必须有正确的 32/64库 适合zlib,取决于目标平台的 32/64 位 jvm ,为的是构建和部署 native hadoop library.
执行时
bin/hadoop 脚本确保 native hadoop library 通过系统属性在 library path 上:-Djava.library.path=<path>
在执行时,为你的 MapReduce 任务检查 hadoop 日志文件。
- 假设一切正常。那么:
DEBUG util.NativeCodeLoader - 试着载入自构建的
native-hadoop library...INFO util.NativeCodeLoader - 加载了的 native-hadoop library - 假设哪里出错了,那么:
INFO util.NativeCodeLoader - 不能为你的平台加载
native-hadoop library ... 使用可用的java类
Native Shared Libraries
你能够用DistributedCache 为分布和对称链接库文件加载不论什么的 native shared library 。
这个样例展示了怎样散布一个 a shared library, mylib.so, 并将其从一个 MapReduce任务中加载。
- 首先拷贝文件到 HDFS:
bin/hadoop fs -copyFromLocal mylib.so.1
/libraries/mylib.so.1 - job启动程序应该包括以下的:
DistributedCache.createSymlink(conf);DistributedCache.addCacheFile("hdfs://host:port/libraries/mylib.so.
1#mylib.so", conf); - MapReduce 任务能够包括:
System.loadLibrary("mylib.so");
注意: 假设你下载了或构建了 native hadoop library,你不须要使用 DistibutedCache 来使库对你的 MapReduce 任务可用。
Hadoop-2.2.0中文文档—— Common - Native Libraries Guide的更多相关文章
- Hadoop-2.2.0中文文档—— Common - 服务层认证
目的 此文档描写叙述了怎样为Hadoop配置和管理 Service Level Authorization . 预备条件 确保已经安装Hadoop,配置和设置都正确了. 很多其它细节,请看:* 首次使 ...
- Hadoop-2.2.0中文文档—— Common - CLI MiniCluster
目的 使用 CLI MiniCluster, 用户能够简单地仅仅用一个命令就启动或关闭一个单一节点的Hadoop集群,不须要设置不论什么环境变量或管理配置文件. CLI MiniCluster 同一时 ...
- Hadoop-2.2.0中文文档—— Common - 超级用户模拟别的用户
简单介绍 此文档描写叙述了一个超级用户怎样在安全的方式下以还有一用户的名义提交作业或訪问hdfs. Use Case 下一部分描写叙述的的代码演示样例对此用户用例是可用的. 一个username为's ...
- Apache Spark 2.2.0 中文文档
Apache Spark 2.2.0 中文文档 - 快速入门 | ApacheCN Geekhoo 关注 2017.09.20 13:55* 字数 2062 阅读 13评论 0喜欢 1 快速入门 使用 ...
- Apache Storm 1.1.0 中文文档 | ApacheCN
前言 Apache Storm 是一个免费的,开源的,分布式的实时计算系统. 官方文档: http://storm.apache.org 中文文档: http://storm.apachecn.org ...
- Django2.0中文文档
title: Django2.0中文文档 tags: Python,Django,入沐三分 grammar_cjkRuby: true --- Django2.0版本已经发布了,我们先来看一个图片 从 ...
- webpack4.0中文文档踩坑记录
一直没有正儿八经去看过webpack4.0的文档,前段时间工作比较轻松,于是就有了此文...面都这样一个问题:请问在您的开发生涯中,令你最痛苦最无奈的是什么?小生的回答只有一个:“阅读那些令人发指的文 ...
- Apache Spark 2.2.0 中文文档 - Spark SQL, DataFrames and Datasets Guide | ApacheCN
Spark SQL, DataFrames and Datasets Guide Overview SQL Datasets and DataFrames 开始入门 起始点: SparkSession ...
- Apache Spark 2.2.0 中文文档 - Spark SQL, DataFrames and Datasets
Spark SQL, DataFrames and Datasets Guide Overview SQL Datasets and DataFrames 开始入门 起始点: SparkSession ...
随机推荐
- LeetCode(16):最接近的三数之和
Medium! 题目描述: 给定一个包括 n 个整数的数组 nums 和 一个目标值 target.找出 nums 中的三个整数,使得它们的和与 target 最接近.返回这三个数的和.假定每组输入只 ...
- spirngboot 注解方式注入自定义参数
在代码中 @value("oracle.user") private String user; 在配置文件中 oracle.user=root
- Ruby语言学习笔记
在codecademy上开始玩ruby了 1.数据类型:boolean,string,number 变量直接用即可,不用声明(“拿来主义”) 运算符:+ - * / ** % == != && ...
- 2019寒假练题计划——LibreOJ刷题计划 &《信息学奥赛一本通》提高版题目
目录 2019.1.27 #10082. 「一本通 3.3 例 1」Word Rings 题意 思路 #10083. 「一本通 3.3 例 2」双调路径 题意 思路 #10084. 「一本通 3.3 ...
- Storm目录树和任务提交过程
Storm组件本地目录树 Storm zookeeper目录树 Storm任务提交的过程
- EDMA3 笔记
A-synchronized和AB-synchronized传输在1个frame传输完成后地址计算有所不同. A-synchronized: last array in the frame ...
- Wannafly 挑战赛 19 参考题解
这一次的 Wannafly 挑战赛题目是我出的,除了第一题,剩余的题目好像对大部分算法竞赛者来说好像都不是特别友好,但是个人感觉题目质量还是过得去的,下面是题目链接以及题解. [题目链接] Wanna ...
- [USACO16JAN]子共七Subsequences Summing to Sevens
[USACO16JAN]子共七Subsequences Summing to Sevensa[i]表示前缀和如果a[i]%7==t&&a[j]%7==t那么a[j]-a[i-1]一定是 ...
- canvas入门级小游戏《开关灯》思路讲解
游戏很简单,10行10列布局,每行每列各10盏灯,游戏初始化时随机点亮其中一些灯,点击某盏灯,其上下左右的灯及本身状态反转,如果点击前是灭着的,点击后即点亮,将所有灯全部点亮才算过关.游戏试玩: 下面 ...
- 前端页面重构技巧总结TIP【持续更新...】
本文均为项目实战经验,要求兼容至IE8,所以以下内容均为兼容代码,欢迎各位小伙伴批评指教.其实重构页面是一门学问,看似简单,却暗藏很多学问.实际项目中页面的重构有以下几点最基本需求: 1.需要使用合理 ...