运行第一个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 ...
随机推荐
- 解决Firefox访问12306"连接不受信任"的问题
用Firefox访问12306.cn, 总是提示"This Connection is Untrusted", 曾经有个"Add Exception" 按钮, ...
- Multidimensional Arrays
Overview An array having more than two dimensions is called a multidimensional array in the MATLAB® ...
- 【python问题系列--4】ValueError: operands could not be broadcast together with shapes (100,3) (3,1)
背景:dataMatrix是(100,3)的列表,labelMat是(1,100)的列表,weights是(3,1)的数组,属性如下代码所示: >>> import types> ...
- hibernate 配置文件
hibernate.cfg.xml </session-factory> //DAO类 package com.hanqi.dao; import org.hibernate.Sessio ...
- C# html转mht
项目中引入cdosys.dll组件,位置: C:\Windows\System32\cdosys.dll CDO.ADODB 这些类都来自于cdosys.dll组件 /// <summary& ...
- C++中的向上类型转换和向下类型转换
在c++的世界中有这样两个概念,向上类型转换,向下类型转换,分别描述的是子类向基类,和基类向子类的强制类型转换. 向上强制类型转换 切割:覆盖方法和子类数据丢失的现象生成切割(slice) class ...
- windows下更新python报错permission denied
注意退出所有python进程,可能是在使用中导致权限不足以删除
- [转]Publishing and Running ASP.NET Core Applications with IIS
本文转自:https://weblog.west-wind.com/posts/2016/Jun/06/Publishing-and-Running-ASPNET-Core-Applications- ...
- hdu_2955_Robberies(01背包)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2955 题意:给一个概率p和n个银行,每个银行有一些钱和被抓的概率,问在满足被抓的概率在p以下,抢到的最 ...
- System.Uri类 - 获取Url的各种属性,文件名,参数,域名,端口等等
System.Uri类用于处理Uri地址信息,常用到它的地方有,相对Uri地址转绝对Uri地址,获取Uri的某部分信息等等,可以说是一个非常有用的类. 一.属性 AbsolutePath 获取 URI ...