在xbox配置hadoop伪分布中主要遇到的问题以及解决的办法

1 篇文章 0 订阅
1 篇文章 0 订阅
  通过了一周多的时间,终于把hadoop的伪分布集群在虚拟机上搭建好了,我只搭建了两个节点的集群,主要用来学习hadoop和测试一下代码。具体的安装过程我就不多介绍,主要是介绍我在配置过程中出现的一些问题和解决方法。
  我是在redhat5.3的linux安装的hadoop1.0.3的,安装linux操作系统,配置网络,最好用桥接的方式。安装java,在把hadoop软件放上去,最近hadoop几个配置文档进行配置。对于hadoop的安装都没有问题。安装好后,hadoop的进程可以起来。
  接下来就是用eclipse这个开发工具去开发hadoop的mapreduce,配置的过程中就出现了问题。配置的过程中,最重要的是要用到hadoop-eclipse-plugin-1.0.3.jar这个包。而且这个包里面必须有commons-cli-1.2.jar、commons-configuration-1.6.jar、commons-httpclient-3.0.1.jar、commons-lang-2.4.jar、hadoop-core.jar、jackson-core-asl-1.0.1.jar、jackson-mapper-asl-1.0.1.jar这些包。如果少了这些包,在测试WordCount的代码是就会报错。我把这些都配置好了。很遗憾在跑WordCount的代码时,还是报错了,报错如下:
15/06/16 11:19:32 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
15/06/16 11:19:32 ERROR security.UserGroupInformation: PriviledgedActionException as:ANZHENG cause:java.io.IOException: Failed to set permissions of path: \tmp\hadoop-ANZHENG\mapred\staging\ANZHENG2064170338\.staging to 0700
Exception in thread "main" java.io.IOException: Failed to set permissions of path: \tmp\hadoop-ANZHENG\mapred\staging\ANZHENG2064170338\.staging to 0700
    at org.apache.hadoop.fs.FileUtil.checkReturnValue(FileUtil.java:689)
    at org.apache.hadoop.fs.FileUtil.setPermission(FileUtil.java:662)
    at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:509)
    at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:344)

这个问题,我上网找了很久,最好才发现是eclipse版本的问题,我第一次用过的最新的eclipse版本,一直报错。然后我把eclips的版换成3.7.2的;终于可以报WordCount跑成功了。
  配置好了eclipse之前,我们在eclipse写好代码,必须把代码打包成jar的文件,然后上传到hadoop服务器端,用hadoop jar xxxx.jar input ouput的命令去跑这些包。我在eclipse把代码打包成jar,上传到hadoop的namenode,用hadoop jar 。。。。的命令去执行,可是报错了,报错如下:
[hadoop@master hadoop-1.0.3]$ bin/hadoop jar jarfile/WordCount1.jar /user/hadoop/input01 /user/hadoop/output0215/06/19 22:23:09 INFO input.FileInputFormat: Total input paths to process : 215/06/19 22:23:09 INFO mapred.JobClient: Cleaning up the staging area hdfs://192.168.1.140:9000/home/hadoop/sysdata/tmp/mapred/staging/hadoop/.staging/job_201506192220_0001Exception in thread "main" java.lang.IllegalArgumentException: Compression codecorg.apache.hadoop.io.compress.BZip2Codec not found.     at org.apache.hadoop.io.compress.CompressionCodecFactory.getCodecClasses(CompressionCodecFactory.java:96)     at org.apache.hadoop.io.compress.CompressionCodecFactory.<init>(CompressionCodecFactory.java:134)     at org.apache.hadoop.mapreduce.lib.input.TextInputFormat.isSplitable(TextInputFormat.java:46)     at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.getSplits(FileInputFormat.java:258)     at org.apache.hadoop.mapred.JobClient.writeNewSplits(JobClient.java:962)     at org.apache.hadoop.mapred.JobClient.writeSplits(JobClient.java:979)     at org.apache.hadoop.mapred.JobClient.access$600(JobClient.java:174)     at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:897)
。。。。。

这个报错还是挺明显,缺少org.apache.hadoop.io.compress.BZip2Codec类,上网找的资料,在hadoop上安装lzo就可以了。安装完lzo之后,终于执行成功了。  到这里所有的hadoop配置都OK了,可以自己写mapreduce去跑了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值