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了

来自为知笔记(Wiz)

附件列表

时间: 2024-08-08 01:28:37

wordcount编写和提交集群运行问题解决方案的相关文章

编写Spark的WordCount程序并提交到集群运行[含scala和java两个版本]

编写Spark的WordCount程序并提交到集群运行[含scala和java两个版本] 1. 开发环境 Jdk 1.7.0_72 Maven 3.2.1 Scala 2.10.6 Spark 1.6.2 Hadoop 2.6.4 IntelliJ IDEA 2016.1.1 2. 创建项目1) 新建Maven项目 2) 在pom文件中导入依赖pom.xml文件内容如下: <?xml version="1.0" encoding="UTF-8"?> &l

Spark wordcount开发并提交到集群运行

使用的ide是eclipse package com.luogankun.spark.base import org.apache.spark.SparkConf import org.apache.spark.SparkContext import org.apache.spark.SparkContext._ /** * 统计字符出现次数 */ object WorkCount { def main(args: Array[String]) { if (args.length < 1) {

Spark教程-构建Spark集群-运行Ubuntu系统(2)

安装Java 1.打开终端,建立新目录“/usr/lib/java”,如下图所示: 2.把下载的JDK文件移到刚刚创建的“/usr/lib/java”中,如下图所示 3.解压JDK文件,如下图所示: 解压完成的文件目录如下图所示: 4.修改环境变量: 进入如下图所示的配置文件中: 按下“i”进入INSERT模式,把Java的环境编写信息加入其中,如下图所示: 按下“esc“键回到正常模式,保存并退出配置文件: 执行以下命令是配置文件的修改生效: 5.在终端中显示刚刚安装的Java版本,如下图所示

L3-003. 社交集群

在社交网络平台注册时,用户通常会输入自己的兴趣爱好,以便找到和自己兴趣相投的朋友.有部分兴趣相同的人们就形成了“社交集群”.现请你编写程序,找出所有的集群. 输入格式: 输入的第一行给出正整数N(<=1000),即社交网络中的用户总数(则用户从1到N编号).随后N行,每行按下列格式列出每个人的兴趣爱好: Ki: hi[1] hi[2] ... hi[Ki] 其中Ki(>0)是第i个人的兴趣的数量,hi[j]是第i个人的第j项兴趣的编号,编号范围为[1, 1000]内的整数. 输出格式: 首先在

Android技术16:编写Android中直接可运行的二进制文件

我们都知道Android中所有应用程序都运行在Android的Dalvik虚拟机上,一般程序不直接与操作系统打交道,即便调用底层的方法也通过JNI技术.不过我们可以直接使用C语言编写二进制文件,直接在底层运行.下面演示其步骤. 1.安装下载编译器和链接器软件.Sourcery G++ Lite Edition for ARM. arm-none-linux-gnueabi-gcc.exe是编译命令 bin/arm-none-linux-gnueabi-ld.exe是链接命令 2.编写C代码 为了

spark 集群运行python作业

今天尝试用刚搭建好的spark集群运行python作业,遇到了一些问题,解决了一些坑的同时也对spark集群的运作和配置方式有了一些比较浅的认识,不像之前那么没有概念了,记录如下,之后还要继续更多的对Hadoop生态圈和spark并行计算框架的探究. 首先说下环境,集群有五个节点,集群环境是用cloudera manager 搭建的,hadoop用的是cloudera的CDH,我对CDH和hadoop之间关系的理解就是与linux和CentOS的关系一样,其他的的相关组件例如Hbase和Hive

Spark教程-构建Spark集群-运行Ubuntu系统(1)

为了简化权限等问题,下面我们以root用户的身份登录和使用Ubuntu系统,而Ubuntu在默认情况下并没有开启root用户,这需要我们做如下设置: sudo  -s进入 root用户权限模式 vim /etc/lightdm/lightdm.conf [SeatDefaults] greeter-session=unity-greeter user-session=ubuntu greeter-show-manual-login=true #手工输入登陆系统的用户名和密码 allow-gues

Mapreduce提交YARN集群运行

Eclipse项目打包1.export2.通过maven打包,切入到项目目录下执行命令mvn clean package Mapreduce提交YARN集群运行 将jar包传到hadoop目录下运行格式:bin/hadoop jar  jar包名   包名(代码的包名).类名 +参数(输入路径输出路径)就可以在集群上运行了 原文地址:https://www.cnblogs.com/libin123/p/10330330.html

关于jmeter启动,提示“ &#39;findstr&#39; 不是内部或外部命令,也不是运行程序” 解决方案

1.jmeter环境配置后,点击jmeter.bat,提示以下错误 2.先cmd检查,输入命令 findstr /? 说明C:\Windows\System32\findstr.exe未生效,因安装极少数软件,导致path值被篡改 3.检查环境变量里的path,将原来的""改为"%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShel