在win7测试Wordcount遇到的问题,解决过程
hadoop jar /root/wc1.jar cn.itcast.d3.hadoop.mr.WordCount hdfs://itcast:9000/words /out2
执行上面一句话时候报错:
Unsupported major.minor version 52.0
这种错误的原因是jdk版本不一样导致的,我的win7是jdk1.8,hadoop是jdk1.7,
解决方案:
修改项目java compiler的方法:
在项目点右键->选择Perperties->在出现的菜单中选择Java Compiler->最上面选中Enable project Specific setting->
然后将jdk改为jdk1.7-->完成。
这个问题解决了,接下来重新执行:hadoop jar /root/wc1.jar cn.itcast.d3.hadoop.mr.WordCount hdfs://itcast:9000/words /out2
报错:
Connecting to ResourceManager at hadoop03/192.168.8.103:8032
Exception in thread "main" org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.StandbyException): Operation category READ is not supported in state standby
at org.apache.hadoop.hdfs.server.namenode.ha.StandbyState.checkOperation(StandbyState.java:87)
at org.apache.hadoop.hdfs.server.namenode.NameNode$NameNodeHAContext.checkOperation(NameNode.java:1774)
原因是hadoop01是standby状态,02是active状态,需要将01切换为active状态
方法:jps查看进程
kill -9 <pid of NN>杀死进程查看状态
手动启动那个挂掉的NameNode
sbin/hadoop-daemon.sh start namenode
在eclipse中运行报错:
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z
at org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Native Method)
这个问题是是没有windows平台的本地库
需要bin中的winutils.exe和hadoop。dll
并且winutils.exe双击是没有报错的
提示没有msvcr120.dll,不能单纯的去网上下载一个dll文件,需要一个msvcr120.dll 它是Microsoft Visual C++ 2013 Redistribute Package的一部分 你安装这个才是正确的、治标治本的解决办法
http://zhidao.baidu.com/link?url=u__F3omJKWuon5HJSr1LLufeAvW_--SkoAbCyhVS-_kpYUBH73lDlaPRLDHcZolmDVBy5YlP4tck6iQOEmOtKlFOm2s7AQpEQ4wyDJDDQk7
然后发现可以使用了,和lib下的文件无关
下载地址:见附件
现在可以在win7 的eclipse中使用hadoop编写jar并测试Wordcount了