热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

HadoopForWindows

作者:Dong|新浪微博:西成懂|可以转载,但必须以超链接形式标明文章原始出处和作者信息及版权声明网址:dongxicheng.orgmapreducehadoop-for-windows本博客的文章集合:dongxicheng.orgrecommend重大消息:我的Hadoop新书《Hadoop

作者: Dong | 新浪微博: 西成懂 | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明 网址:http://dongxicheng.org/mapreduce/hadoop-for-windows/ 本博客的文章集合:http://dongxicheng.org/recommend/ 重大消息:我的Hadoop新书《Hadoop


重大消息:我的Hadoop新书《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》已经开始在各大网站销售了,购书链接地址: 当当购书网址,京东购书网址,卓越购书网址。新书官方宣传主页: http://hadoop123.com/。


Hadoop从一出生就只面向Linux操作系统,且一直未曾考虑支持Windows操作系统。但随着Hadoop的普及,微软不得不开始为Hadoop增加patch以推进Windows成为生产环境。经过各方努力,Apache Hadoop已经同意将这些windows patch融入到核心代码中(http://hortonworks.com/blog/hadoop-in-windows/),目前,Hadoop svn上已经增加了两个分支:branch-1-win和branch-trunk-win,且Hortonworks联合微软发布了Hadoop windows安装版(http://hortonworks.com/blog/installing-hadoop-on-windows/)。

对于Hadoop平台支持问题,很多读者可能有这样的疑问:既然Hadoop是采用JAVA语言编写的,而JAVA具有跨平台特性,那么为什么官方只推荐Linux作为生产环境,而不推荐Windows呢? 在本文中,我将简单介绍目前Hadoop的哪些特性不能够得到windows平台的支持。

总体上讲,Hadoop中的以下几个特性无法得到windows平台的支持,换句话说,为了支持windows平台,必须修改这几个特性的实现(https://issues.apache.org/jira/browse/HADOOP-8079):

(1)管理脚本。 在Hadoop 1.0的安装目录中有一个bin目录,里面存放着各种shell管理脚本。很明显,对于Windows而言,无法运行直接这些shell脚本,需要对这些脚本进行修改。 在Hadoop Windows中,重新添加了后缀为.cmd的一系列管理脚本。

(2)HDFS权限管理。 HDFS的文件权限管理采用了Linux操作系统的权限管理,如果移植到Hadoop windows上,需要将对应的文件权限管理改为windows中的权限管理机制。

(3)Hadoop native library。 Hadoop中有一种native library机制,允许用户直接采用本地库(一般为C/C++编写)进行某种操作以优化性能,比如压缩解压库,Native IO等。如果将Hadoop移植到windows,这些对应的库需要跟着移植。

(4)Native TaskController。 TaskTracker启动时,会调用一个插拔式组件TaskController运行任务,TaskController一般会添加一些任务控制机制,比如设定任务启动用户。默认实现是DefaultTaskController,另外一个可使用的是LinuxTaskController,该TaskController将以提交用户的身份运行任务(默认情况下是以TaskTracker启动用户运行任务)。

(5)单元测试用例。原始的Hadoop很多测试用例无法再windows上运行通过,需要进行修改。

(6)其他零散问题。比如路径问题、资源泄露等(具体参考:https://issues.apache.org/jira/browse/HADOOP-8079)。

参考资料:

http://hortonworks.com/blog/hadoop-in-windows/

https://issues.apache.org/jira/browse/HADOOP-8079

原创文章,转载请注明: 转载自董的博客

本文链接地址: http://dongxicheng.org/mapreduce/hadoop-for-windows/

作者:Dong,作者介绍:http://dongxicheng.org/about/

本博客的文章集合:http://dongxicheng.org/recommend/


Copyright © 2013
This feed is for personal, non-commercial use only.
The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:
)

推荐阅读
  • HBase在金融大数据迁移中的应用与挑战
    随着最后一台设备的下线,标志着超过10PB的HBase数据迁移项目顺利完成。目前,新的集群已在新机房稳定运行超过两个月,监控数据显示,新集群的查询响应时间显著降低,系统稳定性大幅提升。此外,数据消费的波动也变得更加平滑,整体性能得到了显著优化。 ... [详细]
  • 本文介绍了如何使用Flume从Linux文件系统收集日志并存储到HDFS,然后通过MapReduce清洗数据,使用Hive进行数据分析,并最终通过Sqoop将结果导出到MySQL数据库。 ... [详细]
  • Hadoop Datanode DataXceiver 错误处理问题
    Ambari 每分钟会向 Datanode 发送一次“ping”请求以确保其正常运行。然而,Datanode 在处理空内容时没有相应的逻辑,导致出现错误。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • Hadoop 2.6 主要由 HDFS 和 YARN 两大部分组成,其中 YARN 包含了运行在 ResourceManager 的 JVM 中的组件以及在 NodeManager 中运行的部分。本文深入探讨了 Hadoop 2.6 日志文件的解析方法,并详细介绍了 MapReduce 日志管理的最佳实践,旨在帮助用户更好地理解和优化日志处理流程,提高系统运维效率。 ... [详细]
  • 在Hive中合理配置Map和Reduce任务的数量对于优化不同场景下的性能至关重要。本文探讨了如何控制Hive任务中的Map数量,分析了当输入数据超过128MB时是否会自动拆分,以及Map数量是否越多越好的问题。通过实际案例和实验数据,本文提供了具体的配置建议,帮助用户在不同场景下实现最佳性能。 ... [详细]
  • 本文详细介绍了 `org.apache.hadoop.hdfs.server.namenode.FSNamesystem.shouldUseDelegationTokens()` 方法的用途和实际应用场景,并提供了多个代码示例以帮助开发者更好地理解和使用该方法。 ... [详细]
  • 本文介绍了如何在 MapReduce 作业中使用 SequenceFileOutputFormat 生成 SequenceFile 文件,并详细解释了 SequenceFile 的结构和用途。 ... [详细]
  • 本文介绍了Hadoop的核心组件,包括高可靠性和高吞吐量的分布式文件系统HDFS、分布式的离线并行计算框架MapReduce、作业调度与集群资源管理框架YARN以及支持其他模块的工具模块Common。 ... [详细]
  • 大数据领域的职业路径与角色解析
    本文将深入探讨大数据领域的各种职业和工作角色,帮助读者全面了解大数据行业的需求、市场趋势,以及从入门到高级专业人士的职业发展路径。文章还将详细介绍不同公司对大数据人才的需求,并解析各岗位的具体职责、所需技能和经验。 ... [详细]
  • 通过马老师的视频学习了Java中的容器相关内容,包括Collection、Set、List、Map及其常见实现类,并深入了解了这些容器的基本操作方法。 ... [详细]
  • Hadoop的文件操作位于包org.apache.hadoop.fs里面,能够进行新建、删除、修改等操作。比较重要的几个类:(1)Configurati ... [详细]
  • Hadoop平台警告解决:无法加载本机Hadoop库的全面应对方案
    本文探讨了在Hadoop平台上遇到“无法加载本机Hadoop库”警告的多种解决方案。首先,通过修改日志配置文件来忽略该警告,这一方法被证明是有效的。其次,尝试指定本地库的路径,但未能解决问题。接着,尝试不使用Hadoop本地库,同样没有效果。然后,通过替换现有的Hadoop本地库,成功解决了问题。最后,根据Hadoop的源代码自行编译本地库,也达到了预期的效果。以上方法适用于macOS系统。 ... [详细]
  • 为了在Hadoop 2.7.2中实现对Snappy压缩和解压功能的原生支持,本文详细介绍了如何重新编译Hadoop源代码,并优化其Native编译过程。通过这一优化,可以显著提升数据处理的效率和性能。此外,还探讨了编译过程中可能遇到的问题及其解决方案,为用户提供了一套完整的操作指南。 ... [详细]
  • Apache Hadoop HDFS QJournalProtocol 中 getJournalCTime 方法的应用与代码实例分析 ... [详细]
author-avatar
王-闻
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有