wordcount编写和提交集群运行问题解决方案

在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了









附件列表

    原文地址:https://www.cnblogs.com/xiaoxiao5ya/p/6b8d07c0d118ff2f4d6a8210ecde8952.html