热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

phphadoop库,hadoop本地库说明

问题导读1.hadoop本地库支持哪些平台?2.本地库是否有32,64之分?3.hadoop通过什么工具来检测本地库是否加载正确ÿ

问题导读1.hadoop本地库支持哪些平台?2.本地库是否有32,64之分?3.hadoop通过什么工具来检测本地库是否加载正确?4.如何加载本地库?包含哪些步骤?5.本地库在什么情况下不需要使用DistibutedCache?

00b6bcbc02b928b436cd7bd45240dc9c.png概述这个指南描述了hadoop本地库,包括关于共享本地库的小讨论。注意:取决于你的环境,这个词 “native libraries”涉及所有的*.so’,你需要编译;这个词 “native compression”涉及所有的*.so’的你需要编译指定与压缩相关的。当前,尽管如此,这个文档仅限于hadoop本地库 (libhadoop.so).文档为libhdfs库(libhdfs.so)点这here.hadoop本地库处于性能考虑和非可用性 Java 实现,Hadoop的具有某些部件的本地实现,这些组件单独是可用的。动态链接库调用本地原生Hadoop库。 在 *nix(如:Linux,unix) 平台上本地库名字为 libhadoop.so.用法相当容易使用hadoop本地库:1.查看组件2.查看支持平台3.下载一个构建好的hadoop发布版本或则自己构建本地库。无论是自己下载还是自己构建(编译),本地的名字是相同的: libhadoop.so4.安装压缩编解码开发包(> > zlib-1.2,gzip-1.2):如果你下载本地库,安装一个或则多个开发包,无论压缩编解码你想用于部署。如果你想编译本地库,它是强制性安装了开发包。5.检查运行时日志文件组件本地库包含各种组件:Compression Codecs (bzip2, lz4, snappy, zlib)

Native IO utilities for HDFS Short-Circuit Local Reads and Centralized Cache Management in HDFS

CRC32 校验实现支持平台hadoop本地库仅支持在*nix平台上,不支持 Cygwin和Mac OS X 平台.hadoop本地库主要用在GNU/Linus平台,已测试RHEL4/Fedora

Ubuntu

Gentoo上面hadoop 32/64位本地库与相应的32/64 位 jvm工作下载hadoop预构建 32-位 i386-Linux本地库作为hadoop分布式一部分是有效的,位于e lib/native目录。你可以下载从hadoop Common Releases.一定要安装zlib和/或gzip 开发包构建hadoop本地库是用ANSI C编写,并使用GNU自动工具链 (autoconf, autoheader, automake, autoscan, libtool)构建。这意味着他可以直接使用工具链 (autoconf, autoheader, automake, autoscan, libtool)在任何平台上构建(查看支持平台)在平台上包需要安装:C compiler (e.g. GNU C Compiler)

GNU Autools Chain: autoconf, automake, libtool

zlib-development package (stable version >= 1.2.0)

openssl-development package(e.g. libssl-dev)一旦你安装必备包使用标准的Hadoop的pom.xml文件,通过本地库标识构建hadoop本地库

[Bash shell] 纯文本查看 

1$ mvn package -Pdist,native -DskipTests -Dtar你可以查看新构建的库在

[Bash shell] 纯文本查看 

1$ hadoop-dist/target/hadoop-2.7.1/lib/native请注意以下几点:1.它强制安装 zlib 和 gzip 开发包在目标平台,构建hadoop本地库。尽管如此,如果你想安装部署使用一个codec包,也是足够的。2.为了构建和部署hadoop本地库,使用正确的zlib 32/64位 库是需要的 ,在目标平台上依赖32/64 位 jvm,运行时bin/hadoop脚本确保hadoop本地库通过系统属性-Djava.library.path=在库路径。在运行时,检查hadoop MapReduce任务日志文件1.如果所有的事情准备好,然后调试util.NativeCodeLoader ,尝试加载自定义构建本地库。。。 INFO util.NativeCodeLoader - Loaded the native-hadoop library

2.如果产生错误,然后:INFO util.NativeCodeLoader - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable检查NativeLibraryChecker是一个工具用来检测本地库是否加载正确,你可以启动nativelibrarychecker如下:

[Bash shell] 纯文本查看 

1

2

3

4

5

6

7

8

9$ hadoop checknative -a

14/12/06 01:30:45 WARN bzip2.Bzip2Factory: Failed to load/initialize native-bzip2 library system-native, will use pure-Java version

14/12/06 01:30:45 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library

Native library checking:

hadoop: true /home/ozawa/hadoop/lib/native/libhadoop.so.1.0.0

zlib:   true /lib/x86_64-linux-gnu/libz.so.1

snappy: true /usr/lib/libsnappy.so.1

lz4:    true revision:99

bzip2:  false本地共享库你可以加载任何本地共享库使用DistributedCache,分发和符号链接库文件这个例子展示了如何分发共享本地库mylib.so,和从mapreduc任务加载的。1.首先复制库到hdfs:bin/hadoop fs -copyFromLocal mylib.so.1 /libraries/mylib.so.12.job启动程序应该包含下面:

[Bash shell] 纯文本查看 

1

2DistributedCache.createSymlink(conf);

DistributedCache.addCacheFile("hdfs://host:port/libraries/mylib.so. 1#mylib.so", conf);3.MapReduce 任务应该包含:

[Bash shell] 纯文本查看 

1System.loadLibrary("mylib.so");注意:如果你下载或则构建了hadoop本地库,不需要使用DistibutedCache使库提供给mapreduce任务版本:2.7.1



推荐阅读
  • 在 Ubuntu 中遇到 Samba 服务器故障时,尝试卸载并重新安装 Samba 发现配置文件未重新生成。本文介绍了解决该问题的方法。 ... [详细]
  • centos 7.0 lnmp成功安装过程(很乱)
    下载nginx[rootlocalhostsrc]#wgethttp:nginx.orgdownloadnginx-1.7.9.tar.gz--2015-01-2412:55:2 ... [详细]
  • Ubuntu 22.04 安装搜狗输入法详细指南及常见问题解决方案
    本文将详细介绍如何在 Ubuntu 22.04 上安装搜狗输入法,并提供常见问题的解决方法。包括下载安装包、更新源、安装依赖项等步骤。 ... [详细]
  • PHP 5.5.31 和 PHP 5.6.17 安全更新发布
    PHP 5.5.31 和 PHP 5.6.17 已正式发布,主要包含多个安全修复。强烈建议所有用户尽快升级至最新版本以确保系统安全。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 高端存储技术演进与趋势
    本文探讨了高端存储技术的发展趋势,包括松耦合架构、虚拟化、高性能、高安全性和智能化等方面。同时,分析了全闪存阵列和中端存储集群对高端存储市场的冲击,以及高端存储在不同应用场景中的发展趋势。 ... [详细]
  • HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送www方式的数据。HTTP协议采用了请求响应模型。客服端向服务器发送一 ... [详细]
  • 本文介绍了如何使用Flume从Linux文件系统收集日志并存储到HDFS,然后通过MapReduce清洗数据,使用Hive进行数据分析,并最终通过Sqoop将结果导出到MySQL数据库。 ... [详细]
  • 在 CentOS 6.4 上安装 QT5 并启动 Qt Creator 时,可能会遇到缺少 GLIBCXX_3.4.15 的问题。这是由于系统中的 libstdc++.so.6 版本过低。本文将详细介绍如何通过更新 GCC 版本来解决这一问题。 ... [详细]
  • 基于Linux开源VOIP系统LinPhone[四]
    ****************************************************************************************** ... [详细]
  • 在Windows系统中安装TensorFlow GPU版的详细指南与常见问题解决
    在Windows系统中安装TensorFlow GPU版是许多深度学习初学者面临的挑战。本文详细介绍了安装过程中的每一个步骤,并针对常见的问题提供了有效的解决方案。通过本文的指导,读者可以顺利地完成安装并避免常见的陷阱。 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • 在Ubuntu系统中安装Android SDK的详细步骤及解决“Failed to fetch URL https://dlssl.google.com/”错误的方法
    在Ubuntu 11.10 x64系统中安装Android SDK的详细步骤,包括配置环境变量和解决“Failed to fetch URL https://dlssl.google.com/”错误的方法。本文详细介绍了如何在该系统上顺利安装并配置Android SDK,确保开发环境的稳定性和高效性。此外,还提供了解决网络连接问题的实用技巧,帮助用户克服常见的安装障碍。 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • 本文详细介绍了定时器输入捕捉技术的原理及其应用。通过配置定时器通道的引脚模式为输入模式,并设置相应的捕获触发条件,可以实现对外部信号的精确捕捉。该技术在实时控制系统中具有广泛的应用,如电机控制、频率测量等场景。文中还提供了具体的配置步骤和示例代码,帮助读者更好地理解和应用这一技术。 ... [详细]
author-avatar
mofa007_903
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有