Hadoop-2.2.0中文文档—— Common

摘要:
)Hadoop库,包括关于原生Hadoop共享库的一小部分讨论。本文档仅讨论本机hadoop库。NativeHadoopLibraryHadoop有一个本地实现。库名为libhadoop。因此,如何使用hadoop原生库非常简单:检查组件,检查支持的平台,下载包含内置原生库的hadoop发行版,或者创建自己的原生hadoop库。本机hadoop库是执行期间的日志文件组件,包括两个组件。支持的平台nativehadoop库仅在*nix平台上受支持。本机hadoop库将执行一个32/64位的jvm。将内置的32-biti386-Linux本机hadop作为hadoop发行版的一部分下载到lib/native文件夹中。您可以从HadoopCommonRelease下载Hadoop发行版。Build本机hadoop库由ANSI C编写,并使用GNU autotools链构建。

概览

这个新手教程描写叙述了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库相当简单:

  1. 检查组件
  2. 检查支持的平台
  3. 或者下载一个包括内置原生库的hadoop发行版,或者创建你自己的 native hadoop 库。不论是下载还是创建,库的名字都是一样的:libhadoop.so
  4. 安装压缩编码包 (>zlib-1.2, >gzip-1.2): + 假设你下载库安装一个或很多其它的开发包-不论你用哪一个压缩编码器来部署。 + 假设你创建库,则必须安装两个开发包。
  5. 检查执行时日志文件

组件

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任务中加载。

  1. 首先拷贝文件到 HDFS: bin/hadoop fs -copyFromLocal mylib.so.1 /libraries/mylib.so.1
  2. job启动程序应该包括以下的: DistributedCache.createSymlink(conf); DistributedCache.addCacheFile("hdfs://host:port/libraries/mylib.so. 1#mylib.so", conf);
  3. MapReduce 任务能够包括: System.loadLibrary("mylib.so");

注意: 假设你下载了或构建了 native hadoop library,你不须要使用 DistibutedCache 来使库对你的 MapReduce 任务可用。


免责声明:文章转载自《Hadoop-2.2.0中文文档—— Common》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇目标检测中特征融合技术(YOLO v4)(下)java与json互相转换(解决日期问题)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Hive入门

第一章 Hive 基本概念 1.1 什么是 Hive Apache Hive是一款建立在Hadoop之上的开源数据仓库系统,可以将存储在Hadoop文件中的结构化、半结构化数据文件映射为一张数据库表,基于表提供了一种类似SQL的查询模型,称为Hive查询语言(HQL),用于访问和分析存储在Hadoop文件中的大型数据集。 Hive核心是将HQL转换为Map...

【大数据】Hadoop单机安装配置

1.解压缩hadoop-2.7.6.tar.gz到/home/hadoop/Soft目录中 2.创建软链接,方便hadoop升级 ln -s/home/hadoop/Soft/hadoop-2.7.6 /usr/local/soft/hadoop 根据软链接路劲,修改/etc/profile export JAVA_HOME=/usr/local/so...

Hadoop学习笔记—16.Pig框架学习

Hadoop学习笔记—16.Pig框架学习 一、关于Pig:别以为猪不能干活 1.1 Pig的简介 Pig是一个基于Hadoop的大规模数据分析平台,它提供的SQL-LIKE语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算。Pig为复杂的海量数据并行计算提供了一个简单的操作和编程接口。 C...

Hive分析hadoop进程日志

想把hadoop的进程日志导入hive表进行分析,遂做了以下的尝试。 关于hadoop进程日志的解析 使用正则表达式获取四个字段,一个是日期时间,一个是日志级别,一个是类,最后一个是详细信息, 然后在hive中建一个表,可以用来方便查询。 2015-12-18 22:23:23,357 INFO org.apache.hadoop.yarn.server...

HBase Client JAVA API

旧 的 HBase 接口逻辑与传统 JDBC 方式很不相同,新的接口与传统 JDBC 的逻辑更加相像,具有更加清晰的 Connection 管理方式。 同时,在旧的接口中,客户端何时将 Put 写到服务端也需要设置,一个 Put 马上写到服务端,还是攒到一批写到服务端,新用户往往对此不太清楚。 在新的接口中,引入了 BufferedMutator,可以提...

yum install hadoop related client

yum list avaliable hadoop* yum list installed yum repolist repo is in /etc/yum.repos.d yum install hadoop-client yum install hive-jdbc  #beeline yum install hive  # or hive.noarch...