Spark入门之环境搭建
本教程是虚拟机搭建Spark环境和用idea编写脚本
一、前提准备
需要已经有搭建好的虚拟机环境,具体见教程大数据学习之路又之从小白到用sqoop导出数据 - 我试试这个昵称好使不 - 博客园 (cnblogs.com)
需要已经安装了idea或着eclipse(教程以idea为例)
二、环境搭建
1、下载Spark安装包(我下载的 spark-3.0.1-bin-hadoop2.7.tgz)
下载地址Scala 2.12.8 | The Scala Programming Language (scala-lang.org)
2、上传到虚拟机并解压(没备注就是主节点运行)
tar -zxvf spark-3.0.1-bin-hadoop2.7.tgz
3、修改权限
chown -R hadoop /export/server/spark-3.0.1-bin-hadoop2.7 chgrp -R hadoop /export/server/spark-3.0.1-bin-hadoop2.7
4、创建软连接
ln -s /export/server/spark-3.0.1-bin-hadoop2.7 /export/server/spark
5、启动spark交互式窗口
/export/server/spark/bin/spark-shell

还是很炫酷的哈哈哈,出现这个说明spark环境就搭建好了吗?漏!!!
6、配置Spark集群
cd /export/server/spark/conf mv slaves.template slaves vim slaves
添加
node02 node03 node04
7.配置master
cd /export/server/spark/conf mv spark-env.sh.template spark-env.sh vim spark-env.sh
增加如下内容:
## 设置JAVA安装目录
JAVA_HOME=/linmob/install/jdk1.8.0_141 ## HADOOP软件配置文件目录,读取HDFS上文件和运行Spark在YARN集群时需
要,先提前配上
HADOOP_CONF_DIR=/linmob/install/hadoop-3.1.4/etc/hadoop
YARN_CONF_DIR=/linmob/install/hadoop-3.1.4/etc/hadoop ## 指定spark老大Master的IP和提交任务的通信端口
#SPARK_MASTER_HOST=node01
SPARK_MASTER_PORT=7077 SPARK_MASTER_WEBUI_PORT=8080 SPARK_WORKER_CORES=1
SPARK_WORKER_MEMORY=1g SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=node01:2181,node02:2181,node03:2181,node04:2181 -Dspark.deploy.zookeeper.dir=/spark-ha" ## 配置spark历史日志存储地址
SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://node01:8020/sparklog/ -Dspark.history.fs.cleaner.enabled=true"
8、将配置好的将 Spark 安装包分发给集群中其它机器,命令如下:
cd /export/server/ scp -r spark-3.0.1-bin-hadoop2.7 hadoop@node02:$PWD scp -r spark-3.0.1-bin-hadoop2.7 hadoop@node03:$PWD scp -r spark-3.0.1-bin-hadoop2.7 hadoop@node04:$PWD
9、创建软连接(每个节点都运行一遍)
ln -s /export/server/spark-3.0.1-bin-hadoop2.7 /export/server/spark
10、配置Yarn历史服务器并关闭资源检查
vim /export/server/hadoop/etc/hadoop/yarn-site.xml
少的部分补上
<configuration>
<!-- 配置yarn主节点的位置 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node01</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 设置yarn集群的内存分配方案 -->
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>20480</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>2.1</value>
</property>
<!-- 开启日志聚合功能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 设置聚合日志在hdfs上的保存时间 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
<!-- 设置yarn历史服务器地址 -->
<property>
<name>yarn.log.server.url</name>
<value>http://node1:19888/jobhistory/logs</value>
</property>
<!-- 关闭yarn内存检查 -->
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
</configuration>
注意:如果之前没有配置,现在配置了需要分发并重启yarn(重启需要每个节点都运行)
cd /export/server/hadoop/etc/hadoop scp -r yarn-site.xml hadoop@node02:$PWD scp -r yarn-site.xml hadoop@node03:$PWD
scp -r yarn-site.xml hadoop@node04:$PWD /export/server/hadoop/sbin/stop-yarn.sh /export/server/hadoop/sbin/start-yarn.sh
11、配置Spark的历史服务器和Yarn的整合
cd /export/server/spark/conf mv spark-defaults.conf.template spark-defaults.conf vim spark-defaults.conf
添加
spark.eventLog.enabled true
spark.eventLog.dir hdfs://node01:8020/sparklog/
spark.eventLog.compress true
spark.yarn.historyServer.address node01:18080
手动创建
hadoop fs -mkdir -p /sparklog
12、修改日志级别
cd /export/server/spark/conf mv log4j.properties.template log4j.properties vim log4j.properties
修改

分发-可选,如果只在node1上提交spark任务到yarn,那么不需要分发
cd /export/server/spark/conf scp -r spark-env.sh hadoop@node02:$PWD scp -r spark-env.sh hadoop@node03:$PWD scp -r spark-env.sh hadoop@node04:$PWD scp -r spark-defaults.conf hadoop@node02:$PWD scp -r spark-defaults.conf hadoop@node03:$PWD scp -r spark-defaults.conf hadoop@node04:$PWD scp -r log4j.properties hadoop@node02:$PWD scp -r log4j.properties hadoop@node03:$PWD scp -r log4j.properties hadoop@node04:$PWD
13、配置依赖的Spark的jar包
hadoop fs -mkdir -p /spark/jars/ hadoop fs -put /export/server/spark/jars/* /spark/jars/ vim /export/server/spark/conf/spark-defaults.conf
添加内容
spark.yarn.jars hdfs://node1:8020/spark/jars/*
分发同步-可选
cd /export/server/spark/conf scp -r spark-defaults.conf hadoop@node02:$PWD scp -r spark-defaults.conf hadoop@node03:$PWD scp -r spark-defaults.conf hadoop@node04:$PWD
14、启动服务
- 启动HDFS和YARN服务,在主节点上启动spark集群
/export/server/spark/sbin/start-all.sh
-启动MRHistoryServer服务,在node01执行命令
mr-jobhistory-daemon.sh start historyserver
- 启动Spark HistoryServer服务,,在node01执行命令
/export/server/spark/sbin/start-history-server.sh
15、测试
看下个博客Spark入门之idea编写Scala脚本 - 我试试这个昵称好使不 - 博客园 (cnblogs.com)
三、总结:
在主节点上启动spark集群 /export/server/spark/sbin/start-all.sh 在主节点上停止spark集群 /export/server/spark/sbin/stop-all.sh
spark: 4040 任务运行web-ui界面端口
spark: 8080 spark集群web-ui界面端口
spark: 7077 spark提交任务时的通信端口
hadoop: 50070集群web-ui界面端口
hadoop:8020/9000(老版本) 文件上传下载通信端口
Spark入门之环境搭建的更多相关文章
- Hadoop+Spark:集群环境搭建
环境准备: 在虚拟机下,大家三台Linux ubuntu 14.04 server x64 系统(下载地址:http://releases.ubuntu.com/14.04.2/ubuntu-14.0 ...
- 【个人笔记】003-PHP基础-01-PHP快速入门-03-PHP环境搭建
003-PHP基础-01-PHP快速入门 03-PHP环境搭建 1.客户端(浏览器) IE FireFox CHROME Opera Safari 2.服务器 是运行网站的基本 是放置程序代码的地方 ...
- Android入门之环境搭建
欢迎访问我的新博客:http://www.milkcu.com/blog/ 原文地址:http://www.milkcu.com/blog/archives/1376935560.html 原创:An ...
- spark JAVA 开发环境搭建及远程调试
spark JAVA 开发环境搭建及远程调试 以后要在项目中使用Spark 用户昵称文本做一下聚类分析,找出一些违规的昵称信息.以前折腾过Hadoop,于是看了下Spark官网的文档以及 github ...
- scala 入门Eclipse环境搭建
scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld IDE选择并下载: scala for eclipse 下载: http://scala-ide.org/downloa ...
- Spark+IDEA单机版环境搭建+IDEA快捷键
1. IDEA中配置Spark运行环境 请参考博文:http://www.cnblogs.com/jackchen-Net/p/6867838.html 3.1.Project Struct查看项目的 ...
- 新手嘛,先学习下 Vue2.0 新手入门 — 从环境搭建到发布
Vue2.0 新手入门 — 从环境搭建到发布 转自:http://www.runoob.com/w3cnote/vue2-start-coding.html 具体文章详细就不搬了,步骤可过去看,我这就 ...
- Spark 集群环境搭建
思路: ①先在主机s0上安装Scala和Spark,然后复制到其它两台主机s1.s2 ②分别配置三台主机环境变量,并使用source命令使之立即生效 主机映射信息如下: 192.168.32.100 ...
- scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld
scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld 学习了: http://blog.csdn.net/wangmuming/article/details/3407911 ...
随机推荐
- Python+requests接口自动化完整项目框架整理笔记
前言 通过学习"上海悠悠"博客,自己手动敲了一遍整体的自动化项目搭建,编写用例,打印log日志,生成测试报告,将报告发送至邮箱整体流程跑了一遍,勉强跑通了 一,项目结构 --cas ...
- MATLAB菜鸟入门笔记【编程习惯】
1.编程标记模板 % Script file:temp_conversion.m % % Purepose: % To convert an input temperature from d ...
- Laravel 8 图片上传七牛云
1.利用 composer 下载依赖包 composer require itbdw/laravel-storage-qiniu 2.打开 config 文件夹下的 app.php 文件,在 prov ...
- layui 数据表格的使用(分页+总条数)
下载地址 https://www.layui.com/ 点击实例,找到layui适合模板 2. 新建html将代码复制到对应模板,修改对应样式路径. 5.修改对应参数(url,field) 追加以下参 ...
- c++ set与unordered set的区别
c++ std中set与unordered_set区别和map与unordered_map区别类似,其底层的数据结构说明如下: 1.set基于红黑树实现,红黑树具有自动排序的功能,因此map内部所有的 ...
- Play商店显示需要进行身份认证。您需要登录自己的Google帐户
前段时间把一加6系统从H2OS换到OxygenOS,Play商店死活不能登录,网络配置等问题已经排除,重装Google全家桶也没有解决问题,最后找到原因. 解决办法:在应用列表中找到Google Pl ...
- Termux镜像在阿里云镜像站首发上线
镜像下载.域名解析.时间同步请点击阿里云开源镜像站 简介 Termux 是 Android 平台上的一个终端模拟器,它将众多 Linux 上运行的软件和工具近乎完美的移植到了手机端. 无需任何复杂的安 ...
- tomcat manager status配置
1. 确保tomcat下原来自带的几个项目未被删掉,tomcat启动时localhost:8080能直接访问tomcat主页 2. 修改tomcat下 conf/tomcat-users-xml文件, ...
- 内网渗透----域环境搭建(server 2008)
域控制器 配置静态IP 安装域服务 点击服务器管理器-添加角色-下一步-添加AD域服务: 安装过后运行安装向导: 下一步后选择"在新林中新建域": 若提示密码不符合要求,则配置密码 ...
- windows server 2019 域控批量新增不用,只看这一篇就够了,别的不用看
windows server 2019 域控批量新增不用,只看这一篇就够了,别的不用看 1. 新建excel表格 A B C D E 姓 名 全名 登录名 密码 李 四 李四 李四 test123!@ ...