Azure HDInsight与Hadoop周边系统集成
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周边系统集成相关推荐
- Windows Azure HDInsight 支持预览版 Hadoop 2.2 群集
Windows Azure HDInsight 支持预览版 Hadoop 2.2 群集 继去年 10 月推出 Windows Azure HDInsight 之后,我们宣布 Windows Az ...
- hadoop创建java项目的步骤_为 Apache Hadoop 创建 Java MapReduce - Azure HDInsight | Microsoft Docs...
您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. 为 HDInsight ...
- 使用Windows Azure HDInsight Service在云上压缩大数据
作者信息:本篇文章是由SQL Server ProductManagement组的总经理Eron Kelly所著.这是我们介绍HDInsight Service 5 篇博客中的第1篇. 在过去微软一直 ...
- 建立HBase的集群和HDInsight在Hadoop中使用Hive来查询它们
建立HBase的集群和HDInsight在Hadoop中使用Hive来查询它们 在本教程中,您将学习如何创建和查询HDInsight使用HiveHadoop的HBase的表.下列步骤描述: •如何使用 ...
- storm apache java_Apache Storm 示例 Java 拓扑 - Azure HDInsight | Microsoft Docs
您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. 以 Java 语言创建 ...
- Hadoop分布式系统集成架构
一.概念 Hadoop是一个由Apache基金会所开发的分布式系统基础架构.(发音 是:[hædu:p]) http://hadoop.apache.org/ Hadoop Hadoop实现了一个分布 ...
- hadoop周边 框架体系
2019独角兽企业重金招聘Python工程师标准>>> 转载于:https://my.oschina.net/u/108652/blog/181920
- 微软Azure已开始支持hadoop--大数据云计算
微软Azure已开始支持hadoop,对于有需要弹性大数据运算的公司可能是个好消息.据悉,近期微软已提供一个预览版的Azure HDInsight(Hadoop on Azure)服务,运行在Linu ...
- HDInsight 简介
Windows Azure HDInsight Service HDInsight 是在 Windows Azure 上快速扩展 Apache Hadoop 技术堆栈(作为大数据分析的首选解决方案)的 ...
最新文章
- android 横竖屏限制如何配置
- 《jQuery UI 开发指南》——1.3 什么是CSS主题
- 用html修改游戏聊天字体,前端使用自定义字体方案
- 【懒癌发作】收集各种懒癌发作时用程序写作业的程序
- STM32L0 读取芯片温度与当前供电电压 STM32L051C8T6
- Java基础系列13:JDBC批处理简介
- R可视化分析美国的肥胖症,嘿!
- python数据集_在Python中如何差分时间序列数据集
- teamtalk mysql.h_TeamTalk安装测试
- SpringBoot实现Excel、Word转换为PDF
- matlab读取hdf显示,matlab读取hdf
- 断网重启路由器就好_电脑老断网重启就好怎么解决
- 计算机系单身率排行榜,2020中国高校单身率排行榜出炉!附:单身率特别高的专业...
- java计算机毕业设计Web网上购书后台管理系统MyBatis+系统+LW文档+源码+调试部署
- Java相同类型的两个对象比较属性值,得到不同属性的名称和对应的值,附代码实例
- Allegro,如何编辑修改已放置器件封装中单个焊盘
- Advanced Rails - Rails初始化20步
- 计算机二进制小数加法,二进制是如何将加减乘除变换为加法实现的
- kindle运行linux命令,Kindle4: 编译并运行官方linux kernel – v2.6.31
- html5如何将图片堆叠代码,css实现图片堆叠效果的方法介绍
热门文章
- 透明背景html,HTML透明背景
- login.html错误,创建好login.html文件后,在git bash执行webpack出现错误
- scala java抽象理解_scala – 抽象覆盖如何在Java代码方面起作用?
- java中lock_Java中的锁
- cifar10数据集_pytorch入门(四)-数据
- vb以类名或窗口标题查找句柄并关闭
- 蔚来2018年平均每天亏掉2641万,车辆交付预期环比腰斩
- 黑进iPhone让手机崩溃重启,只需15行代码:iOS漏洞你可知?
- 小扎展示Facebook十年产品路线图,跳票的智能音箱又有新爆料
- MIT创业项目「智能美食餐厅」4月底登陆波士顿自由之路