[转帖]Hadoop0.22.0及其RAID部署_Hadoop,ERP及大数据讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Hadoop,ERP及大数据讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3064 | 回复: 0   主题: [转帖]Hadoop0.22.0及其RAID部署        下一篇 
huizai
注册用户
等级:少校
经验:933
发帖:83
精华:0
注册:2013-6-18
状态:离线
发送短消息息给huizai 加好友    发送短消息息给huizai 发消息
发表于: IP:您无权察看 2013-6-24 9:18:49 | [全部帖] [楼主帖] 楼主

使用0.22.X系列版本的Hadoop快有一年时间了,主要集中在HDFS上。期间自己参与了部署Hadoop集群(1 Server + 20PC),也参与了分析HDFS的源码。

这几天,由于项目需要,转移到了0.22.0版本了,需要重新部署Hadoop集群。这次部署要牵扯到mapreduce项目下contribute中的raid。目的是:部署0.22.0版本Hadoop的集群,配置并试用其raid的功能。由于之前对0.22.0版本不熟悉,所以在部署集群前,准备先在Ubuntu上部署伪分布式的,熟悉相关文件的位置和使用。

0.22.0版本伪分布式的部署和其他版本的没有什么本质的不同,具体可以参考这里,主要是有一些细节需要处理,并需要实现熟悉整个项目相关文件的组织结构。下面主要记录一下在伪分布式安装和编译Raid时的一些问题和解决方法。

1.从hadoop-0.22.0.tar.gz解压后的目录可知,该版本相比于0.20.X系列目录结构有较大变化。这给一直使用0.20.X版本系列的人带来了一点儿麻烦,需要大致翻看一下各个目录都有什么。

2.配置注意事项:

在hadoop-env.sh中启用JAVA_HOME的配置和你需要的配置项;

配置好masters、slaves列表文件,其中masters中只需要指定SecondaryNamenode所在的结点的hostname或IP地址即可;

对于配置文件可以按照core-site.xml、hdfs-site.xml、mapred-site.xml的顺序依次填写配置项;

如果要使用raid,还需要在hdfs-site.xml和raid源码目录下的raid.xml中进行配置,可参���HDFS RAID的Wiki

3.Hadoop集群的管理和使用脚本,要赋予可执行权限。另外,与hdfs、mapreduce相关的shell脚本文件已经被分开放在相应的目录下。为了使用方便可以将相应文件拷贝到$HADOOP_HOME/bin下,也可以在环境变量PATH中添加这些文件所在的目录。

4.重新编译Raid项目,显示Ivy无法解析:

[ivy:resolve]        ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:resolve]        ::          UNRESOLVEDDEPENDENCIES        ::
[ivy:resolve]        ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:resolve]        ::org.apache.hadoop#hadoop-common;0.22.0-SNAPSHOT: not found
[ivy:resolve]        ::org.apache.hadoop#hadoop-common-test;0.22.0-SNAPSHOT: not found
[ivy:resolve]        ::org.apache.hadoop#hadoop-hdfs;0.22.0-SNAPSHOT: not found
[ivy:resolve]        ::::::::::::::::::::::::::::::::::::::::::::::


解决方法是:进入$HADOOP_HOME/mapreduce/ivy查找libraries.properties文件,找到hadoop-common.version和hadoop-hdfs.version这两项,改成

hadoop-common.version=0.22.0
hadoop-hdfs.version=0.22.0


5.Raid配置相关的问题
 关于Raid的配置和使用并没有清晰完整的指南,最完整的的应该算是HDFS RAID Wiki里的介绍。但是,这个Wiki里有错误,只看这个Wiki进行配置的话,肯定会导致RaidNode无法启动。最明显的一个问题是由这个配置项导致的:

XHTML
<property>
<name>fs.hdfs.impl</name>
<value>org.apache.hadoop.dfs.DistributedRaidFileSystem</value>
<description>The FileSystem for hdfs: uris.</description>
</property>


其中的value部分应该是org.apache.hadoop.hdfs.DistributedRaidFileSystem,否则肯定会在日志文件中看到报类找不到的错误。

当然,只是改了这里日志里还是会不停的报错,剩下的部分就只能根据错误看源码慢慢分析、改正、验证了。比如:
 Q:日志文件报BlockFixer中有一处类型转换异常,就是尝试将DistributedRaidFileSystem对象转换为DistributedFileSystem对象。
 A:查看相关函数,发现其中需要使用相关代码的变量在函数内只有定义,未被引用,猜测该变量没用,在源码中注释了相应行,重新打包Raid,用新生成的jar文件替换原来的jar文件。

目前,在伪分布式环境下,已经试用了Raid的XOR编码方案对指定目录下的文件进行编码。

转自:http://zhoutai.duapp.com/blogs/2013/06/15/deploy-hadoop0-22-0-and-its-raid/

更多Hadoop相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论