当前位置: 首页 > news >正文

spark 源码编译 standalone 模式部署

本文介绍如何编译 spark 的源码,并且用 standalone 的方式在单机上部署 spark。

步骤如下:

1. 下载 spark 并且解压

本文选择 spark 的最新版本 2.2.0 (2017/07/01 发布)
下载源码和解压的命令如下:

SPARK_VERSION=2.2.0
wget https://github.com/apache/spark/archive/v${SPARK_VERSION}.tar.gz -O spark-${SPARK_VERSION}.tar.gz
tar -zvxf spark-${SPARK_VERSION}.tar.gz

2. 编译

编译大概需要半个小时左右时间,不同的机器可能用的时间不同。
执行以下命令编译

cd spark-${SPARK_VERSION}
build/mvn -DskipTests clean package

可参考 http://spark.apache.org/docs/latest/building-spark.html

3. 配置

如果都使用默认,可以略过这一步。如果要改配置,按照下面步骤。

首先用下面的命令创建配置文件:

cp conf/spark-defaults.conf.template conf/spark-defaults.conf
cp conf/spark-env.sh.template conf/spark-env.sh cp conf/slaves.template conf/slaves

然后,修改 conf/spark-defaults.conf,主要有以下配置

spark.master                     spark://master:7077
spark.eventLog.enabled           true
spark.eventLog.dir               hdfs://namenode:8021/directory
spark.serializer                 org.apache.spark.serializer.KryoSerializer
spark.driver.memory              5g
spark.executor.extraJavaOptions  -XX:+PrintGCDetails -Dkey=value -Dnumbers="one two three"

然后,修改 conf/spark-env.sh,主要修改的有以下配置

HADOOP_CONF_DIR=/home/work/hadoop-2.6.0-cdh5.7.0/

SPARK_WORKER_CORES=10
SPARK_WORKER_MEMORY=40g
SPARK_MASTER_HOST=192.168.1.112
SPARK_LOCAL_IP=192.168.1.112

然后,修改 conf/slaves, 添加 slave 的 hostname 或者 IP,如果只有一个 slave,conf/slaves 内容如下:

192.168.1.112

如果有多个 slave,每个 slave 占一行,如下:

192.168.1.112
192.168.1.113

3. standalone 模式部署

使用下面的命令部署 spark:

./sbin/start-all.sh

或者用下面的命令分步骤执行,效果是一样的:

./sbin/start-master.sh
./sbin/start-slave.sh spark://localhost:7077

执行上面的命令之后,spark 服务就在单机上起来了。可以用命令 ps aux | grep spark 查看,会有两个 spark 的进程。

4. 测试

用下面的命令可以提交一个任务给 spark 执行,测试部署是否成功。

./bin/spark-submit \
--master spark://localhost:7077 \
examples/src/main/python/pi.py

如果没有出现错误信息,表示部署和执行任务成功。这个例子是让 spark 计算圆周率,结果是打印出来。

5. 查看监控和统计信息

http://<hostname>:8080/

6. 关闭服务

下面的命令可以关闭 spark 服务

./sbin/stop-all.sh

7. 查看log

logs 在目录 ./logs/ 下

8. 注意事项

1. 如果机器有多个网口绑定多个 IP,配置文件的 IP 和 启动 spark 服务 IP,以及 spark-submit 中的 IP 必须保持一致。localhost 在有些机器要配置好。

 

转载于:https://www.cnblogs.com/weiweifeng/p/7489449.html

相关文章:

  • 在华为设备上实施GRE隧道和IPSEC ***
  • 如何在数据库动态建表
  • 十年阿里java架构师的六大设计原则和项目经验
  • 基于 python + WebDriverAgent 的“跳一跳”小程序高分教程
  • json logstash 解析失败 ctrl-code 1
  • 5-2 equal getClass or instanceOf
  • linux kernel编译配置相关
  • 不要在构造函数中抛出异常
  • 老男孩教育教您批量建立nagios配置文件的方法
  • 使用jQuery获取session中存储的list集合
  • 如何理解接口-Java系列
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • Linux下的文件I/O编程
  • 作为完美主义者(强迫症)如何将linux的eth1网卡修改为eth0网卡
  • WEB服务FTP概述
  • docker python 配置
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • JSONP原理
  • js正则,这点儿就够用了
  • MySQL的数据类型
  • MySQL-事务管理(基础)
  • python3 使用 asyncio 代替线程
  • VuePress 静态网站生成
  • 一文看透浏览器架构
  • 再次简单明了总结flex布局,一看就懂...
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • 浅谈sql中的in与not in,exists与not exists的区别
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • (6)设计一个TimeMap
  • (javascript)再说document.body.scrollTop的使用问题
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (LeetCode 49)Anagrams
  • (备忘)Java Map 遍历
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (算法)前K大的和
  • (一)Linux+Windows下安装ffmpeg
  • (转)菜鸟学数据库(三)——存储过程
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .Net FrameWork总结
  • .net 中viewstate的原理和使用
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded
  • .NET单元测试
  • .NET轻量级ORM组件Dapper葵花宝典
  • .Net下的签名与混淆
  • .net中的Queue和Stack
  • .NET中统一的存储过程调用方法(收藏)
  • [.NET]桃源网络硬盘 v7.4
  • []Telit UC864E 拨号上网
  • []指针