Spark集群部署(standLone)模式
安装部署:
1. 配置spark为1个master,2个slave的独立集群(Standlone)模式,
可以在VMWare中构建3台运行Ubuntu的机器作为服务器;
master主机配置如下:
vim /etc/hostname 编辑此文件,设置主机名为master
vim /etc/hosts 编辑此文件,添加如下主机内容信息:
192.168.189.128 master
192.168.189.129 slave1
192.168.189.130 slave2
同理配置slave1,slave2主机。
2. 下载安装jdk1.8.0_91,并设置好环境变量;
jdk下载路径:https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz
下载安装scala-2.12.2,下载路径:https://downloads.lightbend.com/scala/2.12.8/scala-2.12.8.tgz
并设置好环境变量(spark是基于scala语言编写的,同时scala又运行于JVM之上),
如下命令:
vim .bashrc 编辑此文件,添加如下内容:
export JAVA_HOME=/usr/local/jdk1.8.0_91
export JAVA_BIN=$JAVA_HOME/bin
export JAVA_LIB=$JAVA_HOME/lib
export CLASSPATH=.:$JAVA_LIB/tools.jar:$JAVA_LIB/dt.jar
export PATH=$JAVA_BIN:$PATH
export SCALA_BIN=/usr/local/scala-2.12.2/bin
export PATH=$PATH:$SCALA_BIN
退出root账户,重新登陆,使环境变量生效。
master,slave1,slave2三台服务器配置一样。
3. 安装配置ssh,使得三台主机ssh登录免密码,因为集群里面的主机需要在后台通信。
(1)安装:
SSH分客户端openssh-client和openssh-server,如果你只是想登陆别的机器的SSH只需要安装openssh-client(ubuntu有默认安装客户端),如果要使本机开放SSH服务就需要安装openssh-server。
(2) 配置免密码登陆:
在master主机上登陆root用户,输入命令:ssh-keygen -t rsa
然后根据提示一直按enter,就会按默认的选项生成的密钥对(私钥id_rsa和公钥id_rsa.pub)并保存在/root/.ssh文件夹中;
将master服务器上的公钥拷贝到slave1上,输入命令:ssh-copy-id root@slave1(root为slave1上的账户)
将master服务器上的公钥拷贝到slave2上,输入命令:ssh-copy-id root@slave2(root为slave2上的账户)
可以测试免密码登陆是否成功,输入命令:ssh slave1
4. Spark独立集群中的workers配置
在Spark 目录下创建一个文件conf/slaves, 列出所有启动Spark workers的主机名,每行一条记录,如下面master主机的配置:
#localhost
slave1
slave2
5. 配置SPARK的JAVA_HOME
编辑所有主机上的sbin/spark-config文件,添加export JAVA_HOME=/usr/local/jdk1.8.0_91
6. 配置整个集群的环境变量(可选)
通过conf/spark-env.sh进一步配置整个集群的环境变量,如下变量,这里先用默认的值 。
|
变量 |
描述 |
|
SPARK_MASTER_IP |
绑定一个外部IP给master. |
|
SPARK_MASTER_PORT |
从另外一个端口启动master(默认: 7077) |
|
SPARK_MASTER_WEBUI_PORT |
Master的web UI端口 (默认: 8080) |
|
SPARK_WORKER_PORT |
启动Spark worker 的专用端口(默认:随机) |
|
SPARK_WORKER_DIR |
伸缩空间和日志输入的目录路径(默认: SPARK_HOME/work); |
|
SPARK_WORKER_CORES |
作业可用的CPU内核数量(默认: 所有可用的); |
|
SPARK_WORKER_MEMORY |
作业可使用的内存容量,默认格式1000M或者 2G (默认: 所有RAM去掉给操作系统用的1 GB);注意:每个作业自己的内存空间由SPARK_MEM决定。 |
|
SPARK_WORKER_WEBUI_PORT |
worker 的web UI 启动端口(默认: 8081) |
|
SPARK_WORKER_INSTANCES |
每台机器上运行worker数量 (默认: 1). 当你有一个非常强大的计算机的时候和需要多个Spark worker进程的时候你可以修改这个默认值大于1 . 如果你设置了这个值。要确保SPARK_WORKER_CORE 明确限制每一个r worker的核心数, 否则每个worker 将尝试使用所有的核心 。 |
|
SPARK_DAEMON_MEMORY |
分配给Spark master和 worker 守护进程的内存空间 (默认: 512m) |
|
SPARK_DAEMON_JAVA_OPTS |
Spark master 和 worker守护进程的JVM 选项(默认: none) |
7. 启动集群
通过命令:sbin/start-all.sh
同时启动master以及上面所说文件中指定的slave
8. 输入http://localhost:8080/看集群是否启动成功
成功启动后的界面
9. 在web界面上监控集群执行的细节
需要打开conf/spark-default.conf文件,添加如下内容:
spark.eventLog.enabled true
spark.eventLog.dir file:/tmp/spark-events
注意需要先在/tmp目录下创建文件夹spark-events,因为后面所有应用执行的事件日志会存放在这。
修改文件夹权限: chmod 777 spark-events , 以便JVM有权创建和读取文件。
在master主机上启动spark-history-server,执行命令:./sbin/start-history-server.sh
在浏览器中输入: http://master:18080/ 查看应用执行情况,如下图所示:
点击具体某一个application,可以查看具体每一个应用执行的细节
10. spark执行流程
11. spark-submit应用程序提交时,master参数配置项可取值
Spark集群部署(standLone)模式的更多相关文章
- Hadoop记录-Apache hadoop+spark集群部署
Hadoop+Spark集群部署指南 (多节点文件分发.集群操作建议salt/ansible) 1.集群规划节点名称 主机名 IP地址 操作系统Master centos1 192.168.0.1 C ...
- Spark集群部署
Spark是通用的基于内存计算的大数据框架,可以和hadoop生态系统很好的兼容,以下来部署Spark集群 集群环境:3节点 Master:bigdata1 Slaves:bigdata2,bigda ...
- Spark 集群 任务提交模式
Spark 集群的模式及提交任务的方式 本文大致的内容图 Spark 集群的两种模式: Standalone 模式 Standalone-client 任务提交方式 提交命令 ./spark-subm ...
- GIS+=地理信息+云计算技术——Spark集群部署
第一步:安装软件 Spark 1.5.4:wget http://www.apache.org/dyn/closer.lua/spark/spark-1.5.2/spark-1.5.2 ...
- SPARK安装三:SPARK集群部署
使用2.3.0版本,因为公司生产环境是这个版本 一.下载安装 cd /opt wget https://archive.apache.org/dist/spark/spark-2.3.0/spark- ...
- CentOS6安装各种大数据软件 第十章:Spark集群安装和部署
相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...
- Spark集群之yarn提交作业优化案例
Spark集群之yarn提交作业优化案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.启动Hadoop集群 1>.自定义批量管理脚本 [yinzhengjie@s101 ...
- Scala进阶之路-Spark独立模式(Standalone)集群部署
Scala进阶之路-Spark独立模式(Standalone)集群部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们知道Hadoop解决了大数据的存储和计算,存储使用HDFS ...
- 【待补充】Spark 集群模式 && Spark Job 部署模式
0. 说明 Spark 集群模式 && Spark Job 部署模式 1. Spark 集群模式 [ Local ] 使用一个 JVM 模拟 Spark 集群 [ Standalone ...
随机推荐
- R-----shiny包的部分解释和控件介绍
R-----shiny包的部分解释和控件介绍 作者:周彦通.贾慧 shinyApp( ui = fixedPage( fixedPanel( top = 50, right=50, width=200 ...
- mysql命令行的导入导出sql,txt,excel(都在linux或windows命令行操作)(转自筑梦悠然)
原文链接https://blog.csdn.net/wuhuagu_wuhuaguo/article/details/73805962 Mysql导入导出sql,txt,excel 首先我们通过命令行 ...
- Python+Selenium+Unittest+HTMLTestRunner生成测试报告+发送至邮箱,记一次完整的cnblog登录测试示例,
测试思路:单个测试集.单个测试汇成多个测试集.运行测试集.生成测试报告.发送至邮箱. 第一步:建立单个测试集,以cnblog登录为例. 测试用例: cnblog的登录测试,简单分下面几种情况:(1)用 ...
- Keep面经汇总
目录 一.Java 线程如何终止 如何用一个cancel方法停止两个线程 泛型原理.使用场景.优缺点 手写代码,设计parseInt hashmap是怎么实现的,是线程安全的吗 知道hashmap的扩 ...
- vue 前端框架
什么是vue.js 1.vue是目前最火的一个前端框架,react 是最流行的前端框架(react除了开发网站,还可以开发手机APP,vue语法也是可以进行手机app开发的,需要借助于weex) 2. ...
- IntelliJ Idea 第一次使用
概括 程序员每次电脑重新安装或者新的电脑上进行开发时都会安装一些开发软件,这时候基本都是去官网下载,然后破解(中国程序员啊哈哈)进行快乐使用,为了让自己方便小编也写一个,不用去别人那里找来找去 安装I ...
- java学习笔记08-switch case语句
switch是一种选择语句,可以通过匹配某个条件,来执行某块代码 switch(expression){ case value: break;//可选 default://可选 //语句 } swit ...
- char *p[] 和char**的思考
char *p[] = {"hello","world"}; char **pp; pp = p; printf("%s,%s\n",*pp ...
- linux部署dns内网服务器
安装: yum -y install bind* 编辑named.conf vim /etc/named.conf options { listen-on port { any; }; listen- ...
- pads layout 自动打地孔
对于PCBLayout来说,后期处理也是一项费时操作,比如为了让板子耦合的更好,会在板子空旷位置打上很多地过孔.“自动打地孔”则会让你省时又省心,一不小心就提前了工期哦,哈哈! 一.下面打开一个简单的 ...