千家信息网

如何解决迁移Hadoop0.20.2问题

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,这篇文章将为大家详细讲解有关如何解决迁移Hadoop0.20.2问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.问题:离Hadoop0.20.2的发布也有三个
千家信息网最后更新 2025年01月31日如何解决迁移Hadoop0.20.2问题

这篇文章将为大家详细讲解有关如何解决迁移Hadoop0.20.2问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

1.问题:
离Hadoop0.20.2的发布也有三个月了,平时一直在用http://www.cloudera.com/提供的一个Hadoop版本,它也是基于Hadoop0.18.3开发的,因为它的一个比较稳定的版本。但是最近在用hypertable0.9.2.7的时候发现我本地jni调用老是会出现HyperspaceCOMMalreadycommected,查了一下原因,是hyperspace的COMM被占用,连接出错,网上找了一下,作者也说有这个问题,还说什么修改一下也不是很难。看了一下它的源代码,是socket连接抛出来的,要改的话要修改hyperspace模块的代码,由于hyperspace底层是用oracle的berkeleydb的,对它也不是很熟悉,所以没去改了,想直接升级到0.9.3.1,看它有没有解决这个问题,但是让我失望的是它还是没有解决这个问题,到是在它的thrift端做了很多改动,而且把对hypertable表的TableSplit也加入了它的thrift服务端中,也正是我想要的,呵呵,这样也可以绕过前面的hyperspace的问题,因为它在thrift的服务端只生成了一个HypertableClient,这样就不会出现COMMconnected的问题了,而且对它的Cell也做了比较大的改动,用了***的Hadoop0.20.2。没办法,要升就一起升吧,Hadoop0.18.3->Hadoop0.20.2;hypertable0.9.2.7->hypertable0.9.3.1,原来的TableInputFomat和TableOutputFormat看来都要做修改了,于是就有了下面的这些感想。

2.Hadoop0.20.2的一些变化
新的版本不管从目录结构和API上都有了比较大的变化,不管从0.18到0.19,还是从0.19到0.20目录结构都发生了很大的变化,***感觉就是模块化的意识越来越强了,而且看起来也更清晰了。

2.1目录结构的变化
主要有三个目录,core,hdfs,mapred。
◆主要是把原来共用的功能都提取到了core中,其中有conf,fs,io,ipc,net,record等。还加入了类似于unix目录的权限功能。
◆把hdfs单独放入了一个目录中,而且把hdfs的配置文件也提取了出来,叫hdfs-default.xml,其中hdfs目录又分了protocol,提供了一些Client端的通讯协议,还有server和tools目录,其中server目录又分成了balancer,common,datanode,namenode,protocol,这里的protocol目录中提供了DataNode和NameNode的通讯协议,还有DataNode之间的通讯协议等。
◆把mapred也独立出来,而且也把mapred的配置文件也提取出来,放入了mapred-default.xml中,它也有两个子目录,一个是mapred,其中放了一些mapreduce的核心类,还有一些Deprecated的类,用于向后兼容,不过一般都不提倡用这些接口和类了。另一个目录是mapreduce目录,这里有一些对外的抽象类和接口,用于进行根据自己的需要进行扩展,在这个目录中有一个叫lib的目录,它提供了一些框架提供的常用的input,output,map,reduce方法。

2.2API的变化
在Hadoop0.20.2中,API的变化也是很大的,主要把一些接口变成了抽象类,以此在提高可扩展性,进行了一些重构,变化还是满大的。下面举一个例子来说明这里的变化。
2.2.1Hadoop的一个example
这是Hadoop中的一个WordCount的例子,从中你可以发现Map和Reduce的接口变化,还有JobClient的变化。

3.Hypertable0.9.3.1的一些变化
主要感觉它的thrift的java客户端变化很大。为了支持mapreduce,很多东西都集成到了thrift服务端。加入了MapReduceconnector,Hyperspace的replication,还有DUMPTABLE等。在它的thrift的客户端中加入了InputFormat和OutputFormat,还有TableSplit,可以用来对Hypertable中的表进行Key和Value对的读取,还是很方便的。但是它没有对TableSplit后的range_location进行处理,只是用了"localhost"来进行Host的连接,不知道是为什么?
看来要在Hypertable中使用kfs还是要进行源代码的编译还有kfs的动态库。

关于"如何解决迁移Hadoop0.20.2问题"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

目录 变化 问题 接口 还是 很大 版本 篇文章 结构 通讯 服务 三个 例子 功能 客户 客户端 感觉 文件 更多 模块 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全风险和管控目标 一拳超人服务器爆满如何进去 ibm服务器带rd是什么意思 物理差女生可以学网络技术吗 软件开发吃的是青春饭吗 人力资源数据库怎么找 科学索引数据库 计算机网络技术自考真题 数据库安全售后 武汉天天向上网络技术有限公司 重庆超领互联网科技有限公司 北京第五纬度网络技术有限公司 toptop原神是什么服务器 软件开发考证考什么 新形势下网络安全面临的挑战 安全法律法规数据库 手机里有个服务器它是干啥用的 c数据库 长连接池 服务器不带桌面的怎么用 如何防止暴库和数据库下载 西门子上位机软件开发 阿里云2003添加数据库 飞扬天下网络技术股份有限公司 软件开发学费多少钱 现代网络技术在教学中运用 中兴服务器工厂 数据库 搭建 方案 前端 获取页面一组数据库 屏幕共享软件开发在哪儿 学网络安全为什么要学c语言
0