Sunwei 9 Dec 2014 1:54 AM

传统的Hadoop系统提供给用户2个非常优秀的框架,MR计算框架和HDFS存储框架,尽管MR已经显得有些老迈而缓慢,但是HDFS还是很多应用系统的基石,很多应用都可以把HDFS作为系统的基本数据输入和输出方式。HDFS的基本特征就是数据是分布式切块存储,通过多副本冗余的方式来提供数据持久性保障,并且可以通过节点的增加来进行系统的扩容,这也是很多用户和系统所看重的特点。目前在Hadoop社区里面有各种各样的组件和解决方案用于处理海量数据、可靠性消息、数据分析及预测等多种领域。

Microsoft Azure是一个开放的平台,用户当然可以在Azure上通过运行虚拟机的方式运行Hadoop系统来实现自己的业务功能,但是Azure平台还提供了AzureHDInsight这种PaaS服务来帮助客户更简单的部署和管理他们的Hadoop系统。AzureHDInsight是一套核心的计算组件,请注意我只说了它是负责计算相关的工作。在计算的方面,目前HDInsight提供了3种不同的Cluster类型,标准的Hadoop(HIVE),HBase Cluster,StormCluster,未来Azure还会根据用户的需求引入其他Hadoop的集群。每种不同的Cluster类型我们都进行了针对这个组件相关的一些特殊设计和处理,这样可以针对特定的组件进行优化和配置。从架构上看HDInsight和传统的Hadoop Cluster有一些不同,我们在用户接入层有一层安全网关负责接入客户端请求以及认证,然后将认证后的请求转发到后端可用的headnode上,这种方式不但给Hadoop提供了安全认证以及端口的保护,而且也实现了Name Node的高可用性。如果是HBase Cluster,后端还会有3个zookeeper节点的HA方案。如果用户需要直接访问headnode,我们可以通过将cluster部署到Region VNET的方式来支持,这个功能需要通过Powershell来指定VirtualNetworkId和SubnetName参数来实现,注意这个参数是ID而不是VNET的Name,可以通过(Get-AzureVNetSite-VNetName$VNetName).Id得到,这样就可以将Cluster与你其他的VM放在同一个VNET里面进行直接通信了。另外最近我们在HDInsight上支持了自定义脚本操作,这个功能非常有意义,可以用于安装新的组件例如Spark和R,也可以用来给现有的组件进行补丁的更新,具体的细节你可以参考http://azure.microsoft.com/en-us/documentation/articles/hdinsight-hadoop-script-actions/

除了计算功能之外,Microsoft Azure还提供了功能强大的存储功能,Azure Storage是Azure最基础的服务之一,提供了高持久性、高可用的分布式存储系统完全可以媲美HDFS,所以在HDInsight中我们使用了AzureStorage而不是HDFS的技术,也就是说HDInsight实现了在Hadoop上的计算与存储分离。这样处理的优势非常明显,用户可以根据计算的用量来动态创建和销毁Cluster而不需要考虑数据的问题,只需要保持使用同样的存储账号、容器、基于Azure SQL DB的Hive元数据库。这种基于使用成本的优化方式是传统的Hadoop和HDFS所不能实现的,具体的信息可以参考 http://www.windowsazure.cn/zh-cn/documentation/articles/hdinsight-use-blob-storage/

Hadoop的强大之处并不是因为只有MR和HDFS,发挥更多作用的还是周边的生态系统组件,这些组件不断的在丰富和扩展Hadoop的功能,让客户更加容易的发挥其作用,所以HDInsight必须能够与其他的相关系统进行集成才能与开源社区和客户相连。 在HDInsight平台上除了自身默认支持的功能外,通过自定义脚本操作很多Hadoop周边的系统都可以运行在HDInsight之上,但是而然会有一些周边的系统需要通过HDFS直接与Hadoop系统进行连接,例如用于日志收集的Apache Flume。在这种情况下,为了和Hadoop生态系统保持更好的兼容,微软在Hadoop的source code上也贡献了关于这个部分的源代码,我们可以通过下面的git命令获取ApacheHadoop的源代码并在hadoop-common\hadoop-tools\hadoop-azure下看到在HDFS上支持Azure Storage方面的代码。

git clone git://git.apache.org/hadoop-common.git

通过编译后我们可以将生成的hadoop-azure-3.0.0-SNAPSHOT.jar以及引用的microsoft-windowsazure-storage-sdk-0.6.0.jar复制到你需要的相关Hadoop组件的classpath路径内,然后在hadoopclient中的core-site.xml中添加

<property>

<name>fs.azure.account.key.{youraccount}.blob.core.chinacloudapi.cn</name>

<value>{your key}</value>

</property>

这样Hadoop生态系统中相关的其他系统中通过wasb://来代替hdfs://达到与HDInsight的集成的效果

如果你有任何疑问, 欢迎访问MSDN社区,由专家来为您解答Windows Azure各种技术问题,或者拨打世纪互联客户服务热线400-089-0365/010-84563652咨询各类服务信息。

本文转发自:

http://blogs.msdn.com/b/cciccat/archive/2014/12/09/integrated-hadoop-ecosystem-with-azure-hdinsight.aspx

转载于:https://www.cnblogs.com/sesexxoo/p/6190911.html

Azure HDInsight与Hadoop周边系统集成相关推荐

  1. Windows Azure HDInsight 支持预览版 Hadoop 2.2 群集

     Windows Azure HDInsight 支持预览版 Hadoop 2.2 群集 继去年 10 月推出 Windows Azure HDInsight 之后,我们宣布 Windows Az ...

  2. hadoop创建java项目的步骤_为 Apache Hadoop 创建 Java MapReduce - Azure HDInsight | Microsoft Docs...

    您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. 为 HDInsight ...

  3. 使用Windows Azure HDInsight Service在云上压缩大数据

    作者信息:本篇文章是由SQL Server ProductManagement组的总经理Eron Kelly所著.这是我们介绍HDInsight Service 5 篇博客中的第1篇. 在过去微软一直 ...

  4. 建立HBase的集群和HDInsight在Hadoop中使用Hive来查询它们

    建立HBase的集群和HDInsight在Hadoop中使用Hive来查询它们 在本教程中,您将学习如何创建和查询HDInsight使用HiveHadoop的HBase的表.下列步骤描述: •如何使用 ...

  5. storm apache java_Apache Storm 示例 Java 拓扑 - Azure HDInsight | Microsoft Docs

    您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. 以 Java 语言创建 ...

  6. Hadoop分布式系统集成架构

    一.概念 Hadoop是一个由Apache基金会所开发的分布式系统基础架构.(发音 是:[hædu:p]) http://hadoop.apache.org/ Hadoop Hadoop实现了一个分布 ...

  7. hadoop周边 框架体系

    2019独角兽企业重金招聘Python工程师标准>>> 转载于:https://my.oschina.net/u/108652/blog/181920

  8. 微软Azure已开始支持hadoop--大数据云计算

    微软Azure已开始支持hadoop,对于有需要弹性大数据运算的公司可能是个好消息.据悉,近期微软已提供一个预览版的Azure HDInsight(Hadoop on Azure)服务,运行在Linu ...

  9. HDInsight 简介

    Windows Azure HDInsight Service HDInsight 是在 Windows Azure 上快速扩展 Apache Hadoop 技术堆栈(作为大数据分析的首选解决方案)的 ...

最新文章

  1. android 横竖屏限制如何配置
  2. 《jQuery UI 开发指南》——1.3 什么是CSS主题
  3. 用html修改游戏聊天字体,前端使用自定义字体方案
  4. 【懒癌发作】收集各种懒癌发作时用程序写作业的程序
  5. STM32L0 读取芯片温度与当前供电电压 STM32L051C8T6
  6. Java基础系列13:JDBC批处理简介
  7. R可视化分析美国的肥胖症,嘿!
  8. python数据集_在Python中如何差分时间序列数据集
  9. teamtalk mysql.h_TeamTalk安装测试
  10. SpringBoot实现Excel、Word转换为PDF
  11. matlab读取hdf显示,matlab读取hdf
  12. 断网重启路由器就好_电脑老断网重启就好怎么解决
  13. 计算机系单身率排行榜,2020中国高校单身率排行榜出炉!附:单身率特别高的专业...
  14. java计算机毕业设计Web网上购书后台管理系统MyBatis+系统+LW文档+源码+调试部署
  15. Java相同类型的两个对象比较属性值,得到不同属性的名称和对应的值,附代码实例
  16. Allegro,如何编辑修改已放置器件封装中单个焊盘
  17. Advanced Rails - Rails初始化20步
  18. 计算机二进制小数加法,二进制是如何将加减乘除变换为加法实现的
  19. kindle运行linux命令,Kindle4: 编译并运行官方linux kernel – v2.6.31
  20. html5如何将图片堆叠代码,css实现图片堆叠效果的方法介绍

热门文章

  1. 透明背景html,HTML透明背景
  2. login.html错误,创建好login.html文件后,在git bash执行webpack出现错误
  3. scala java抽象理解_scala – 抽象覆盖如何在Java代码方面起作用?
  4. java中lock_Java中的锁
  5. cifar10数据集_pytorch入门(四)-数据
  6. vb以类名或窗口标题查找句柄并关闭
  7. 蔚来2018年平均每天亏掉2641万,车辆交付预期环比腰斩
  8. 黑进iPhone让手机崩溃重启,只需15行代码:iOS漏洞你可知?
  9. 小扎展示Facebook十年产品路线图,跳票的智能音箱又有新爆料
  10. MIT创业项目「智能美食餐厅」4月底登陆波士顿自由之路