本教程是虚拟机搭建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入门之环境搭建的更多相关文章

  1. Hadoop+Spark:集群环境搭建

    环境准备: 在虚拟机下,大家三台Linux ubuntu 14.04 server x64 系统(下载地址:http://releases.ubuntu.com/14.04.2/ubuntu-14.0 ...

  2. 【个人笔记】003-PHP基础-01-PHP快速入门-03-PHP环境搭建

    003-PHP基础-01-PHP快速入门 03-PHP环境搭建 1.客户端(浏览器) IE FireFox CHROME Opera Safari 2.服务器 是运行网站的基本 是放置程序代码的地方 ...

  3. Android入门之环境搭建

    欢迎访问我的新博客:http://www.milkcu.com/blog/ 原文地址:http://www.milkcu.com/blog/archives/1376935560.html 原创:An ...

  4. spark JAVA 开发环境搭建及远程调试

    spark JAVA 开发环境搭建及远程调试 以后要在项目中使用Spark 用户昵称文本做一下聚类分析,找出一些违规的昵称信息.以前折腾过Hadoop,于是看了下Spark官网的文档以及 github ...

  5. scala 入门Eclipse环境搭建

    scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld IDE选择并下载: scala for eclipse 下载: http://scala-ide.org/downloa ...

  6. Spark+IDEA单机版环境搭建+IDEA快捷键

    1. IDEA中配置Spark运行环境 请参考博文:http://www.cnblogs.com/jackchen-Net/p/6867838.html 3.1.Project Struct查看项目的 ...

  7. 新手嘛,先学习下 Vue2.0 新手入门 — 从环境搭建到发布

    Vue2.0 新手入门 — 从环境搭建到发布 转自:http://www.runoob.com/w3cnote/vue2-start-coding.html 具体文章详细就不搬了,步骤可过去看,我这就 ...

  8. Spark 集群环境搭建

    思路: ①先在主机s0上安装Scala和Spark,然后复制到其它两台主机s1.s2 ②分别配置三台主机环境变量,并使用source命令使之立即生效 主机映射信息如下: 192.168.32.100 ...

  9. scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld

    scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld 学习了: http://blog.csdn.net/wangmuming/article/details/3407911 ...

随机推荐

  1. 03-Eureka注册中心

    1.介绍 2.快速开始 2.1 pom文件依赖 <?xml version="1.0" encoding="UTF-8"?> <project ...

  2. Tableau学习Step5一表计算、详细级别表达式、动作、外接python

    Tableau学习Step5一表计算.详细级别表达式.动作.外接python 本文首发于博客冰山一树Sankey,去博客浏览效果更好. ) Tableau学习Step4一数据解释.异常值监测.参数使用 ...

  3. (八)使用 jmh 压测 Dubbo

    1.JMH简介 JMH即Java Microbenchmark Harness,是Java用来做基准测试的一个工具,该工具由OpenJDK提供并维护,测试结果可信度高. 相对于 Jmeter.ab , ...

  4. laravel 实现详情分页

    选择合适的PHP框架及前端框架布局页面(10分) 首先展示出分类列表,每个分类下只显示3条信息,无需分页 (30分) 在列表页 点击文章标题进入详细页面,对应的文章点击量+1(30分) 在详细页面点击 ...

  5. BSOJ6387题解

    算是刷新了我对树上问题的认知 首先第一问随便做一个 \(O(nk)\) 的 DP 就可以草过去,考虑第二问. 我们将问题分为两个部分:走儿子边的答案和走父亲边的答案.最后拼接一下就好了. 设 \(fd ...

  6. ROS第一次课作业分享

    ROS第一次课作业分享 2021年夏季学期学院开设了ROS的相关课程,最近在复习相关知识,正好做一下整理.下面是第一次作业的要求: 编写一个ROS节点,具备以下功能: 读取小海龟仿真器的/turtle ...

  7. python+pytest接口自动化(9)-cookie绕过登录(保持登录状态)

    在编写接口自动化测试用例或其他脚本的过程中,经常会遇到需要绕过用户名/密码或验证码登录,去请求接口的情况,一是因为有时验证码会比较复杂,比如有些图形验证码,难以通过接口的方式去处理:再者,每次请求接口 ...

  8. Spring MVC 实验3 springMVC框架基础

    实验三:spring mvc框架基础 实验目的: (1)理解spring mvc框架的运行流程 . (2)掌握springmvc框架的配置 实验要求: 请根据课程内容,  修改项目中的任意一用例,将控 ...

  9. C#编程基础之字符串操作

    本文来源于复习基础知识的学习笔记.自用的同时希望也能帮到其他童鞋. 什么是编程语言? 计算机可以执行的指令.这些指令成为源代码或者代码 有什么用? 以人们可读可理解的方式编写指令.人们希望计算机执行指 ...

  10. 不借助 Docker Desktop 在Mac上开发容器应用

    镜像下载.域名解析.时间同步请点击 阿里巴巴开源镜像站 Docker Desktop是最为流行的开发者工具,Docker公司在 8/31 宣布对Docker Desktop的用户协议进行了变更,对个人 ...