服务器上搭建spark开发环境
1、安装相应的软件
(1)安装jdk
下载地址:http://www.Oracle.com/technetwork/java/javase/downloads/index.html
(2)安装scala
下地地址: http://www.scala-lang.org/
(3)安装spark
下载地址:http://spark.apache.org/downloads.html
(4)安装sbt
如果需要使用到scala独立应用编程,还需一个用来构建应用的工具,sbt或者maven
sbt的安装过程见:http://blog.csdn.net/wuzhilon88/article/details/46300491
其中:
chmod u+x sbt
这一步,是把sbt文件的权限更改,表示给当前目录下sbt这个文件的所有者增加执行权限。
2、配置环境变量
可以配置用户环境变量文件:
vim ~/.bash_profile
添加如下几个环境变量:
export JAVA_HOME=/usr/lib/jvm/java-1.8.-openjdk-1.8.0.71-.b15.el6_7.x86_64
export SCALA_HOME=/home/zengzc/scala-2.10.
export SPARK_HOME=/home/zengzc/spark-1.6.-bin-hadoop2.
export SPARK_LOCAL_IP=localhost
其中,spark_local_ip这个变量可以在项目的启动脚本里面写。但是后来发现,到后面运行spark程序的时候,依然会出现
// :: ERROR : hefei-log-: hefei-log-: unknown error
java.net.UnknownHostException: hefei-log-: hefei-log-: unknown error
at java.net.InetAddress.getLocalHost(InetAddress.java:)
at tachyon.util.network.NetworkAddressUtils.getLocalIpAddress(NetworkAddressUtils.java:)
at tachyon.util.network.NetworkAddressUtils.getLocalHostName(NetworkAddressUtils.java:)
这样的错误,解决办法是在/etc/hosts里面添加正确的主机名和IP的映射。
3、使用spark shell
在spark解压后的目录下,执行./bin/spark-shell,可以启动scala shell 并初始化一个sparkcontext对象。
执行./bin/pyspark,则可以在python shell中使用spark。
4、用sbt建立spark scala独立应用程序
(1)写.scala应用程序文件;
(2)写.sbt配置依赖文件;
(3)bash: find . 核对目录结构:
# Your directory layout should look like this
$ find .
.
./simple.sbt
./src
./src/main
./src/main/scala
./src/main/scala/SimpleApp.scala
(4)bash: sbt package 打包;
(5)用spark中的spark-submit运行.jar:
$ YOUR_SPARK_HOME/bin/spark-submit \
--class "SimpleApp" \
--master local[] \
target/scala-2.10/simple-project_2.-1.0.jar
上面的 local[4] 表示程序运行在4个核上面,如果是在集群上面提交任务,则master后面的参数应该是yarn,然后--deploy-mode的参数是cluster;因为--deploy-mode的参数默认是client。
注意:在build.sbt添加新的dependencies library之后,有时会出现classdefnotfoundException这样的错误,解决方法如:
http://stackoverflow.com/questions/28459333/how-to-build-an-uber-jar-fat-jar-using-sbt-within-intellij-idea/28498443#28498443
主要是需要添加一个sbt assembly插件,用来合并依赖库之间定义类的冲突。添加完后,以后运行scala程序就用sbt assembly取代sbt package,然后再submit即可。
5、spark集群查看log命令:
yarn --config /usr/local/hadoop-2.7.0/etc/hadoop-infosec-radar application -kill application_1479387059004_178692/
服务器上搭建spark开发环境的更多相关文章
- IDEA上搭建spark开发
IDEA上搭建spark开发环境 我本地系统是windows10,首先IDEA上要安装了scala插件. 1.下载winutils.exe文件 winutils.exe是在Windows系统上需要的h ...
- Intellij IDEA使用Maven搭建spark开发环境(scala)
如何一步一步地在Intellij IDEA使用Maven搭建spark开发环境,并基于scala编写简单的spark中wordcount实例. 1.准备工作 首先需要在你电脑上安装jdk和scala以 ...
- 在WP8上搭建cocos2d-x开发环境
在WP8上搭建cocos2d-x开发环境 转自:https://github.com/koowolf/cocos-docs/blob/master/manual/framework/native/in ...
- 如何在Windows上搭建Android开发环境
Android开发越来越火,许多小伙伴们纷纷学习Android开发,学习Android开发首要任务是搭建Android开发环境,由于大家 主要实在Windows 上开发Android,下面就详细给大家 ...
- PyCharm搭建Spark开发环境 + 第一个pyspark程序
一, PyCharm搭建Spark开发环境 Windows7, Java 1.8.0_74, Scala 2.12.6, Spark 2.2.1, Hadoop 2.7.6 通常情况下,Spark开发 ...
- 如何在 macOS 上搭建 PHP 开发环境
如何在 macOS 上搭建 PHP 开发环境 Linux, Nginx, MySQL, PHP $ php --version $ php -v # PHP 7.3.11 (cli) (built: ...
- Windows系统上搭建Clickhouse开发环境
Windows系统上搭建Clickhouse开发环境 总体思路 微软的开发IDE是很棒的,有两种:Visual Studio 和 VS Code,一个重量级,一个轻量级.近年来VS Code越来越受欢 ...
- 在 macOS 上搭建 Flutter 开发环境
下载 Flutter SDK flutter官网下载:https://flutter.io/sdk-archive/#macos 若上述链接无法访问,可通过GitHub下载 https://githu ...
- Windows上搭建android开发环境
在搭建android开发环境时需要四部分内容,框架如下 其中Java SDK和Eclipse在java4android中有过介绍,重点介绍ADT和Android SDK的安装. 安装Android S ...
随机推荐
- bzoj2326
首先不难得出递推式f[i]=(f[i-1]*10^k+i) mod m;f[i]表示接到第i个数时的余数,k表示i的位数不难想到先按位数穷举位数,然后对于确定的位数,构造矩阵解决易得出:f[i] ...
- VisualBox ubuntu14.04 64位 android4.4.4源码编译总结
转载请保留出处:http://www.cnblogs.com/wi100sh/p/4337907.html 折腾了好几天,今天终于编译通过,用了4个多小时,太不容易了.如下图所示: 软件环境 虚拟机: ...
- Win32中文件的操作
1 文件的创建或打开 HANDLE CreateFile( LPCTSTR lpFileName, //文件路径和名称 DWORD dwDesiredAccess, //访问方式,最常用的值 ...
- 在Openstack H版部署Nova Cell 时 ,终端输入nova service-list 和 nova host-list 命令将报错
关于Cell的基本介绍,可以参考贤哥的一篇文章: [OpenStack]G版中关于Nova的Cell http://blog.csdn.net/lynn_kong/article/details/8 ...
- asterisk 能打电话的配置
若使用的是chan_sip.so模块,则在sip.conf里添加: [10]type=friend;context=phonescontext=publichost=dynamicsecret=123 ...
- 关于数据库一致改关闭下redo日志文件丢失的处理办法的总结
数据库一致性关闭下redo日志文件丢失的处理办法(归档和非归档都行) 1. inactive log 在一致性关闭后删除重启时可以在mount下(不丢失数据) alter database clea ...
- 容斥原理应用(求1~r中有多少个数与n互素)
问题:求1~r中有多少个数与n互素. 对于这个问题由容斥原理,我们有3种写法,其实效率差不多.分别是:dfs,队列数组,位运算. 先说说位运算吧: 用二进制1,0来表示第几个素因子是否被用到,如m=3 ...
- MyBatis完全使用指南
MyBatis完全使用指南 转 http://www.jianshu.com/p/1c7c7d1bba33 MyBatis MyBatis作为一个轻量的SQL映射框架,确实很简单,但是知识点挺多,实际 ...
- 简单的访客IP获取类-IPHelper.cs
public class IPHelper { public static string GetVisitorsIPAddress() { string result = String.Empty; ...
- dom4j的基本操作
/** * 建立一个XML文档,文档名由输入属性决定 * @param filename 需建立的文件名 * @return 返回操作结果, 0表失败, 1表成功 */ import java.io. ...