服务器上搭建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 ...
随机推荐
- Go语言的学习
1.配置环境变量 2.本地阅读报的说明和文档 不用FQ window+R 出现黑窗口 执行 godoc -http :8080 在本地浏览器 localhost:8080 回车 3多行注释 ...
- 搜索(剪枝优化):HDU 5113 Black And White
Description In mathematics, the four color theorem, or the four color map theorem, states that, give ...
- Win32中文件的操作
1 文件的创建或打开 HANDLE CreateFile( LPCTSTR lpFileName, //文件路径和名称 DWORD dwDesiredAccess, //访问方式,最常用的值 ...
- js 中 json对象 与 json字符串 间相互转换
在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键 JSON字符串: var str1 = '{ " ...
- leetcode排列,求第k个排列
stl 中的下一个排列在写一遍忘了 写个1个多小时,使用递归写的,错误就在我使用一个list保存当前剩下的数,然后利用k/(n-1)!的阶乘就是删除的数字,但进过观察, 比如 list={1,2,3} ...
- 折腾iPhone的生活——iOS设备重刷固件
iOS设备升级系统总共有这么几种方法: 1.OTA升级,也就是我们最常碰到的,在设备上,连上Wifi,在设置里面的软件更新就可以直接通过Wifi安装新的系统(已越狱设备不要这样升级) 2.通过iTun ...
- verilog 双向IO实现
网上搜索了一番,示例挺多,但发现都写的是 input in; output out; 然后 assign io= (oe)?out:1'bz;就有点想不明白了,当IO方向为输出时,应该输出out的值 ...
- hdu 4405概率dp
#include <cstdio> #include <cstring> #include <iostream> #include <cmath> #i ...
- linux 监控命令
先总结下常用的一些监控工具: ##linux命令 w 系统负载 lsof -p pid 进程打开的文件 lsof -i:port 端口的运行情况 free -m 内存情况 vmstat 进程.内存.内 ...
- [kuangbin带你飞]专题十 匹配问题 二分图多重匹配
二分图的多重匹配问题不同于普通的最大匹配中的"每个点只能有最多一条边" 而是"每个点连接的边数不超过自己的限定数量" 最大匹配所解决的问题一般是"每个 ...