运行第一个SparkKPI程序
1.复制一个examples中SparkPi.scala到IntelliJ IDEA编辑器,运行,出现错误:
“org.apache.spark.SparkException: A master URL must be set in your configuration”
部署程序时需要指定master的位置,参考链接知乎解答
Spark在那里指定master URL的问题:
1)通过spark shell,执行后进入交互界面
MASTER=spark://IP:PORT ./bin/spark-shell
2)程序内指定(可以通过参数传入)
val conf = new SparkConf().setMaster(...)
val sc = new SparkContext(conf)
传递给spark的master url可以有如下几种:
local 本地单线程
local[K] 本地多线程(指定K个内核)
local[*] 本地多线程(指定所有可用内核)
spark://HOST:PORT 连接到指定的 Spark standalone cluster master,需要指定端口。
mesos://HOST:PORT 连接到指定的 Mesos 集群,需要指定端口。
yarn-client客户端模式 连接到 YARN 集群。需要配置 HADOOP_CONF_DIR。
yarn-cluster集群模式 连接到 YARN 集群 。需要配置 HADOOP_CONF_DIR。
spark1.0起的版本在提交程序到集群有很大的不同,需要注意。
最终解决代码:
var conf=new SparkConf().setAppName("Spark Pi").setMaster("local");
2. 通过如上修改,运行程序,继续报错
Exception in thread "main" java.lang.NoSuchMethodError:scala.collection.immutable.HashSet$.empty() Lscala/collection/immutable/HashSet;
原因是spark版本和Scala不一致。
引用官网文章上一段:“Spark runs on Java 7+, Python 2.6+ and R 3.1+. For the Scala API, Spark 1.6.1 uses Scala 2.10. You will need to use a compatible Scala version (2.10.x).”
我的是spark1.6.1,Scala2.11.8,所以不行。。很不巧的是我换了Spark-2.10.6和Spark-2.10.4还是出现原来的错误,后来才在博客中看到一句话,说“启动spark-shell 启动的的时候,info 信息表示用的scala-2.10.4 版本”,所以我启动spark-shell时一行一行看弹出提示,发现就在“SPARK”图标下,有一句“Using Scala version 2.10.5(Java HotSpot(TM) 64-bit Server VM, Java 1.8.0_77)”,所以我换了一下。
另外,相当重要的是在IDE环境中加载的Scala语言包也要更新啊~~我就是忘了重新加载Scala SDK导致的。
我只会用笨方法—一切重新开始。删除所有IDEA相关文件,重新解压,这时候用命令“idea”启动发现原来的Plugins还在,然后configure->plugins->选择Scala->uninstall->restart->重新进入->install Scala plugin->创建工程->创建工程->选择scala-2.10.5版本。
运行第一个SparkKPI程序的更多相关文章
- 运行第一个Hadoop程序,WordCount
系统: Ubuntu14.04 Hadoop版本: 2.7.2 参照http://www.cnblogs.com/taichu/p/5264185.html中的分享,来学习运行第一个hadoop程序. ...
- Spark认识&环境搭建&运行第一个Spark程序
摘要:Spark作为新一代大数据计算引擎,因为内存计算的特性,具有比hadoop更快的计算速度.这里总结下对Spark的认识.虚拟机Spark安装.Spark开发环境搭建及编写第一个scala程序.运 ...
- 运行第一个ruby程序
0x00 安装 首先需要安装一个ruby的环境,ruby分为win.linux.macOS版本.不用系统安装方法略有差异,不在这进行讲解. 0x01 运行第一个ruby程序 我这里是win环境,打开命 ...
- 运行第一个python程序,python 变量,常量,注释
一.运行第一个python程序: print('Hello,world') 保存为.py文件 在cmd窗口: python3x:python py文件路径 回车 python2x:python p ...
- OpenCV学习笔记(一)安装及运行第一个OpenCV程序
1.下载及安装 OpenCV是一套开源免费的图形库,主要有C/C++语言编写,官网: http://opencv.org/ .在 http://opencv.org/downloads.html 可以 ...
- 运行第一个Python程序
Python的三种运行方式 交互式解释器 在终端输入python3 进入python交互式解释器 输入exit()退出交互式解释器 命令行脚本 创建python脚本 通过命令执行程序 python h ...
- 使用Eclipse运行第一个Go程序
Windows 10家庭中文版,go version go1.11 windows/amd64, Eclipse IDE for C/C++ Developers Photon Release (4. ...
- [IOS]从零开始搭建基于Xcode7的IOS开发环境和免开发者帐号真机调试运行第一个IOS程序HelloWorld
首先这篇文章比较长,若想了解Xcode7的免开发者帐号真机调试运行IOS程序的话,直接转到第五部分. 转载请注明原文地址:http://www.cnblogs.com/litou/p/4843772. ...
- 编译运行第一个Java程序——通过示例学习Java编程3
作者:CHAITANYA SINGH 来源:https://www.koofun.com//pro/kfpostsdetail?kfpostsid=13 在本教程中,我们将了解如何编写.编译和运行Ja ...
随机推荐
- MySQL Replicationation基础
摘要 一.MySQL Replication 介绍MySQL Replication的基本概念,摘自于Mysql官网 二.Replication Configuration 2.1 Basic Ste ...
- 转delphi中nil的用法
转自:http://blog.csdn.net/haiou327/article/details/6666124 delphi中nil的用法 和C++中的NULL一样的意思,指空值,它和0值不一样-- ...
- css样式的部分拓展, NuMber对象、 BoM、 DoM对象的模型的间述,ing...
css部分代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> < ...
- 比较不熟的JavaScript点滴,慢慢前行,附带简单复杂化的php小计算器一份
interface.php <html> <head> <meta charset="utf-8" /> <title>这是一个简单 ...
- Mainline/Stable/Legacy
Nginx官网提供了三个类型的版本Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说是开发版Stable version:最新稳定版,生产环境上建议使用的版 ...
- KVM 命令行启动第一台虚拟机
KVM创建第一台虚拟机 1 创建一个镜像 [root@kvm ~]# qemu-img create -f raw /opt/CentOS6.-x86_64.raw 5G Formatting [ro ...
- wireshark 包过滤
tcp.port == 443 or udp.port==443 or tcp.port==53 or udp.port==53
- EditText光标居上
<EditText android:id="@+id/shareContent_editText" android:layout_width="wrap_conte ...
- java类的初始化
转载:http://blog.csdn.net/moreevan/article/details/6968718 我们知道一个类(class)要被使用必须经过装载,连接,初始化这样的过程.下面先对这三 ...
- 手把手教你ranorex_android自动化测试第一个示例
要说android的自动化,那真是折腾死我了,从早期的monkeyrunner,到后来的robotium,再到最新的uiautomator,各有各的问题,总之性价比都不够高,不太适合我的使用场景.于是 ...