spark 源码编译 standalone 模式部署
本文介绍如何编译 spark 的源码,并且用 standalone 的方式在单机上部署 spark。
步骤如下:
1. 下载 spark 并且解压
本文选择 spark 的最新版本 2.2.0 (2017/07/01 发布)
下载源码和解压的命令如下:
SPARK_VERSION=2.2.
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.-cdh5.7.0/ SPARK_WORKER_CORES=
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 在有些机器要配置好。
spark 源码编译 standalone 模式部署的更多相关文章
- Spark源码分析:多种部署方式之间的区别与联系(转)
原文链接:Spark源码分析:多种部署方式之间的区别与联系(1) 从官方的文档我们可以知道,Spark的部署方式有很多种:local.Standalone.Mesos.YARN.....不同部署方式的 ...
- Spark源码编译
原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3822995.html spark源码编译步骤如下: cd /home/hdpusr/workspace ...
- Spark源码在Eclipse中部署/编译/运行
(1)下载Spark源码 到官方网站下载:Openfire.Spark.Smack,其中Spark只能使用SVN下载,源码的文件夹分别对应Openfire.Spark和Smack. 直接下载Openf ...
- Spark源码编译并在YARN上运行WordCount实例
在学习一门新语言时,想必我们都是"Hello World"程序开始,类似地,分布式计算框架的一个典型实例就是WordCount程序,接触过Hadoop的人肯定都知道用MapRedu ...
- spark源码编译记录
spark在项目中已经用了一段时间了,趁现在空闲,下个源码编译在IDEA里面阅读下,特此记录过程. 前提已经安装maven和git 1.上官网下载源码的包: 2.然后解压到一个文件夹 3.编译,编译的 ...
- Apache Spark源码走读之9 -- Spark源码编译
欢迎转载,转载请注明出处,徽沪一郎. 概要 本来源码编译没有什么可说的,对于java项目来说,只要会点maven或ant的简单命令,依葫芦画瓢,一下子就ok了.但到了Spark上面,事情似乎不这么简单 ...
- Spark源码编译(未完待续)
在这里我们不需要搭建独立的Spark集群,利用Yarn Client调用Hadoop集群的计算资源. Spark源码编译生成配置包: 解压源码,在根去根目录下执行以下命令(sbt编译我没尝试) ./m ...
- 源码编译配置lnmp部署zabbix
环境说明: [root@wcy ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@wcy ~]# uname -a Linux ...
- Spark源码编译,官网学习
这里以spark-1.6.0版本为例 官网网址 http://spark.apache.org/docs/1.6.0/building-spark.html#building-with-build ...
随机推荐
- Redis之面试题总结
缓存雪崩 缓存穿透 缓存与数据库双写一致 最后 随着系统访问量的提高,复杂度的提升,响应性能成为一个重点的关注点.而缓存的使用成为一个重点.redis 作为缓存中间件的一个佼佼者,成为了面试必问项目. ...
- vue-时间插件,效果见图
<template> <div class="select-time-wrapper"> <h5 class="titie"> ...
- openlayers之天地图为底图 叠加其他底图 加载遇到的各种报错
今天以前使用天地图为底图时,map里source的定义:http://t3.tianditu.com~~~ 今天突然报跨域的错误,原有地址访问受限,可是key值是有的 最后发现就是前半段的原因 将前半 ...
- CSS行高——line-height 垂直居中等问题
CSS行高——line-height 初入前端的时候觉得CSS知道display.position.float就可以在布局上游刃有余了,随着以后工作问题层出不穷,才逐渐了解到CSS并不是几个sty ...
- react 在新窗口 打开页面
遇到这个需求 首先通过 Link a去尝试直接跳转.发现2个问题 1.Link跳转 会自动进行登录校验,我设想是路由没有匹配到,去验证后大致排除了. 因为这个链接 直接粘贴到浏览器 是可以访问到的. ...
- PropertySource顺序
Spring Boot使用一个非常特殊的PropertySource顺序,该顺序旨在允许合理地覆盖值.按以下顺序考虑属性: $HOME/.config/spring-boot当devtools处于活动 ...
- 自定义Java Validator
自定义Java Validator 在项目中,针对汉字的长度计算,数据库和java的计算方式不一致,需要重新处理下java 的 Validator,使其满足项目 建立自定义的 validator an ...
- 2019-2020-1 20199319《Linux内核原理与分析》第七周作业
进程的描述和进程的创建 进程的描述 1.操作系统内核实现操作系统的三大管理功能: 进程管理 内存管理 文件系统. 其中最核心的功能是进程管理. 2.对进程的描述:在操作系统原理中,通过进程控制块PCB ...
- 三天读完调整自己每天的精力——读书笔记(Unfinished)
近段时间精力低下,读了一本Jim Loehr的The Power full engagement 精力管理的书,我们有时候往往不是时间规划不够,而是没有规划好自己的精力. 橙色字体是自己对于这本书的现 ...
- HTML左边盒子固定,右边盒子自适应
html: <div class="box1"> <div class="divA">DIVA</div> <div ...