IDEA15 下运行Scala遇到问题以及解决办法

为了让Scala运行起来还是很麻烦,为了大家方便,还是记录下来:

1、首先我下载的是IDEA的社区版本,版本号为15.

2、下载安装scala插件:

2.1 进入设置菜单。

  

2.2 点击安装JetBrains plugin

2.3 输入scala查询插件,点击安装

说明:我的IDEA已经安装,所以这里面没有显示出来安装按钮,否则右边有显示绿色按钮。

 

3、新建Scala工程

3.1 新建工程

通过菜单:File----》New Project 选择Scala工程。

并且设置项目基本信息,如下图:

 

3.2 设置Modules

1)点击右上角的方块:

 

2)在左边选择Libraries---》+---》Scala SDK--》选择版本为2.10.4 

说明:如果不存在这个版本可以通过左下角的download去下载。

3)选择添加Java的Jar文件,选择Spark和Hadoop关联的Jar

我这里添加的是:spark-assembly-1.6.1-hadoop2.6.0.jar 这个是spark安装时候自带的lib里面有,很大。

定位到jar所在的目录后,刷新,选择这个文件,点击OK,会花费比较长时间建索引。

 

4)在Src源码目录新建文件:WordCount.scala

且输入如下代码:

import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.SparkContext._object WordCount {def main(args: Array[String]) {if (args.length < 1) {System.err.println("Usage:<File>")System.exit(1)}val conf = new SparkConf().setAppName("WordCount")val sc = new SparkContext(conf)val line = sc.textFile(args(0))val words = line.flatMap(_.split("")).map((_, 1))val reducewords = words.reduceByKey(_ + _).collect().foreach(println)sc.stop()}}

 5)编译运行:

  需要输入参数,所以要设置下相关参数信息:

随便复制个文件过去,然后设置下:

  • 抛出异常:

Exception in thread "main" org.apache.spark.SparkException: A master URL must be set in your configuration
at org.apache.spark.SparkContext.<init>(SparkContext.scala:401)

解决办法:需要设置下SparkContext的地址:

 

  •  抛出异常:

16/06/25 12:14:18 ERROR Shell: Failed to locate the winutils binary in the hadoop binary path
java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.

解决办法:

http://stackoverflow.com/questions/19620642/failed-to-locate-the-winutils-binary-in-the-hadoop-binary-path

可能是因为我没有安装hadoop的原因,设置下相关信息就可以:

下载:

<a href="http://www.srccodes.com/p/article/39/error-util-shell-failed-locate-winutils-binary-hadoop-binary-path">Click here</a>

设置:HADOOP_HOME为下载后解压内容的上级目录,然后在PATH里面添加%HADOOP_HOME%/bin;

4、其他异常

1)异常内容:类或Object XXX已经被定义

     解决办法: 这个可能是工程里面设置了两个source目录,需要删除一个。

2)异常内容:sparkContext.class 依赖不存在

    解决办法:需要引入hadoop的jar包,我这里是:spark-assembly-1.6.1-hadoop2.6.0.jar

3)异常内容:Error:(17, 29) value reduceByKey is not a member of org.apache.spark.rdd.RDD[(String, Int)]

   解决办法: 导入这个:  import org.apache.spark.SparkContext._

4)异常内容:Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/util/concurrent/ThreadFactoryBuilder

   解决办法:添加依赖Jar :guava-11.0.2.jar

5)异常内容:Exception in thread "main" java.lang.NoSuchMethodError: scala.collection.immutable.HashSet$.empty()Lscala/collection/immutable/HashSet;

  解决办法:更改scala-sdk版本为2.10,如果没有通过如下方式下载:(速度奇慢)

通过project Structure--》LIbraries--》+---》Scala SDK--》 Browse--》选择2.10---》Download...
6)异常内容:java.lang.AbstractMethodError  at akka.actor.ActorCell.create(ActorCell.scala:580)
   解决办法: 不知道怎么好了,JDK从1.8换到1.7,再次换到1.8就好了,莫名。

5、打包成Jar

 

1、设置下导出Jar信息:

2、设置导出的工程还导出的Main类:

3、通过选择点击-号删除其他依赖的class

4、导出Jar包:

 

5、上传后执行Jar包

 ./spark-submit --master spark://inas:7077 --class WordCount --executor-memory 512m /home/hadoop/sparkapp/scalatest4.jar hdfs://inas:9000/user/hadoop/input/core-site.xml

说明: hadoop文件为以前新建的,在提交之前需要先启动hadoop再自动spark,然后再用以上办法提交。

启动Hdfs: ./start-dfs.sh

启动spark:./sbin/start-all.sh(没试过)

可以通过如下方法启动:

~/project/spark-1.3.0-bin-hadoop2.4 $./sbin/start-master.sh
~/project/spark-1.3.0-bin-hadoop2.4 $./bin/spark-class org.apache.spark.deploy.worker.Worker spark://inas:7077
注意:必须使用主机名

启动模式为standaline模式。

Spark Standalone Mode 多机启动,则其他主机作为worker启动,设置master主题。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/458325.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用try-with-resources替代try finally释放资源

2019独角兽企业重金招聘Python工程师标准>>> 1、旧社会 Java里&#xff0c;对于文件操作IO流、数据库连接等开销非常昂贵的资源&#xff0c;用完之后必须及时通过close方法将其关闭&#xff0c;否则资源会一直处于打开状态&#xff0c;直至程序停止&#xff0c;增加…

平板电脑离寿终正寝还有多远?

近期有评论称&#xff0c;因为大尺寸智能手机越来越普及&#xff0c;小尺寸平板正遭受着越来越严重的冲击&#xff0c;在这样的背景下&#xff0c;平板厂商也纷纷转攻超大尺寸平板市场&#xff0c;以此避开大尺寸智能手机的竞争&#xff0c;只是。这样的策略转变是否能扭转平板…

Swift 与 JSON 数据

转载自&#xff1a; http://www.cnblogs.com/theswiftworld/p/4660177.html 我们大家平时在开发 App 的时候&#xff0c;相信接触最多的就是 JSON 数据了。只要你的 App 有读取网络数据的功能&#xff0c;你就免不了要与 JSON 打交道。比如你做一个新闻 App&#xff0c;你要读取…

TeamViewer - 最好用强大的免费跨平台远程桌面控制软件 (支持电脑和手机)

from&#xff1a;很早以前 LYcHEE 就提到过&#xff0c;家中的潮人爷爷奶奶每天摆弄着电脑&#xff0c;看看新闻发发邮件&#xff0c;安享晚年生活。只是意料之中的&#xff0c;电脑上莫名出现各种问题&#xff1f;不翼而飞的图标&#xff1f;照片又忘记怎么导出了&#xff1f;…

【设计模式】7、桥接模式

桥接模式就是对一个类的方法进行抽象化&#xff0c;吧不相关的因素提取出来&#xff0c;发展出第二个类 1 package com.shejimoshi.structural.Bridge;2 3 4 /**5 * 功能&#xff1a;桥接模式使用6 * 意图&#xff1a;将抽象部分与它的实现部分分离&#xff0c;使他们都…

TeamViewer免费版和付费版有什么不同

提到远程控制软件 TeamViewer无疑是目前业内知名度比较高的一款&#xff0c;所以说到远程控制软件可能大部分人首先想到的就是TeamViewer。在使用功能上&#xff0c;它支持远程桌面控制、文件传输、远程计算机锁定、视频会话、主控方和被控方身份互换&#xff0c;远程管理无人执…

【代码笔记】iOS-翻书效果的实现

代码&#xff1a; RootViewController.m #import "RootViewController.h"interface RootViewController ()endimplementation RootViewController- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {self [super initWithNibName:…

Halcon—Tuple中符号的含义

2014年08月08日 21:20:30阅读数&#xff1a;5429实例一&#xff08;3d_coordinates.hdev&#xff09;&#xff1a;for I : 1 to NumImages by 1read_image (Image, calib/calib-3d-coord-I$02d)——C:\Program Files\MVTec\HALCON-10.0\images\的calib文件夹中开头是calib-3d-c…

Halcon学习笔记(三)---数据类型

Halcon学习笔记&#xff08;三&#xff09;---数据类型halcon只能在单独行进行注释&#xff0c;不能在语句后面进行注释。1、tuple(元组&#xff0c;重数)赋值符号“&#xff1a;”tuple算子&#xff1a;&#xff08;1&#xff09;变量定义与加减乘除运算代码如下&#xff1a;*…

论文笔记之:RATM: RECURRENT ATTENTIVE TRACKING MODEL

RATM: RECURRENT ATTENTIVE TRACKING MODEL ICLR 2016 本文主要内容是 结合 RNN 和 attention model 用来做目标跟踪。 其中模型的组成主要是&#xff1a; 1. an attention model 主要用来从输入图像中提取 patch&#xff1b; 2. RNN 用来预测 attention 参数&#xff0c;即&am…

【分享】WeX5的正确打开方式(5)——绑定机制

今天继续WeX5的绑定机制。 需求分析 记账本要实现的效果就是可以展示所有账单&#xff0c;还能实时动态编辑每一笔账单&#xff0c;官方案例的效果图如下&#xff1a; 展示页&#xff1a; 编辑页 个人觉得官方案例加入了许多元素&#xff0c;不熟悉的同学每一个点都很难理解&am…

关于未捕获异常的处理(WPF)

转载自&#xff1a;http://www.cnblogs.com/chenxizhang/p/3280947.html 这一篇文章来谈谈对于WPF应用程序开发中的未捕获异常的处理。 首先&#xff0c;我们当然是要求应用程序开发人员&#xff0c;尽可能地在程序可能出现异常的地方都去捕捉异常&#xff0c;使用try…catch的…

设计模式--23、访问者模式

访问者模式是一种较为复杂的行为型设计模式&#xff0c;它包含访问者和被访问元素两个主要组成部分&#xff0c;这些被访问的元素通常具有不同的类型&#xff0c;且不同的访问者可以对它们进行不同的访问操作。例如处方单中的各种药品信息就是被访问的元素&#xff0c;而划价人…

『协议』XML-RPC 协议规格说明

为什么80%的码农都做不了架构师&#xff1f;>>> 这篇文章提供所有实现XML-RPC协议所需要的内容。 一览 XML-RPC是一个工作在因特网上的远端程序调用&#xff08;Remote Procedure Calling&#xff09;协议。 XML-RPC消息是一个HTTP-POST请求&#xff08;Request&…

Qt之QLineEdit详解(附源码)

原博客地址&#xff1a;http://blog.csdn.net/liang19890820/article/details/52044639&#xff0c;感谢原作者总结和分享。 简述 QLineEdit是一个单行文本输入框。 QLineEdit允许用户输入和编辑单行纯文本&#xff0c;提供了很多有用的编辑功能&#xff0c;包括&#xff1a;撤…

C#json数据的序列化和反序列化(将数据转换为对象或对象集合)

引用 System.Runtime.Serialization.Json 转载于:https://www.cnblogs.com/a849788087/p/5645828.html

位图(bmp)文件格式分析

from&#xff1a;https://blog.csdn.net/qingchuwudi/article/details/25785307 位图(bmp)文件格式分析 作者&#xff1a;深蓝&#xff08;由博主分享&#xff09; 一、什么是位图 计算机能以位图和矢量图格式显示图像。 1、位图(Bitmap)&#xff1a; 图像又称点阵图或光…

java 基本功 —— 内存相关

2019独角兽企业重金招聘Python工程师标准>>> 首先我们来说说内存&#xff0c;因为从内存的角度来出发来分析一些变量&#xff0c;引用或者对象的生命周期会更好理解一些。 java是一门编程语言&#xff0c;他跟C有什么不同呢&#xff1f;本质上&#xff0c;他们都是一…

DOM事件处理有三个阶段

DOM事件处理有三个阶段&#xff1a; 捕捉阶段&#xff08;capture phase&#xff09;&#xff1a;从最上层元素&#xff0c;直到最下层&#xff08;你点击的那个target&#xff09;元素。路过的所有节点都可以捕捉到该事件。命中阶段&#xff08;target phase&#xff09;&…

客户端程序自动更新(升级)的方式

from&#xff1a;https://blog.csdn.net/woaitingting1985/article/details/72954652一、C/S自动更新原理C/S程序自动升级是一个很重要的功能&#xff0c;原理其实很简单&#xff0c;一般包含两个程序一个是主程序&#xff0c;也就是除了升级功能以外的程序&#xff0c;另一个就…