参考大佬文章
https://blog.csdn.net/weixin_43622131/article/details/110565692
https://blog.csdn.net/weixin_43622131/article/details/110621405
说在前面
以下实验过程都是在使用docker搭建好spark集群的前提条件下进行,如果你的spark集群还没有搭建成功,可以参考我的上一篇博客
https://blog.csdn.net/weixin_45548774/article/details/110206515
下面是正式的实验内容
启动spark集群
1本机启动集群do
直接运行
spark-shell
或者进入spark安装目录,打开spark-shell
2通过yarn启动spark集群
使用命令
spark-shell --master yarn
或者
spark-shell --master yarn-client
这期间可能会遇到如下问题:
1 Name node is in safe mode.
这是因为在分布式文件系统启动的时候,开始的时候会有安全模式,当分布式文件系统处于安全模式的情况下,文件系统中的内容不允许修改也不允许删除,直到安全模式结束。安全模式主要是为了系统启动的时候检查各个DataNode上数据块的有效性,同时根据策略必要的复制或者删除部分数据块。运行期通过命令也可以进入安全模式。
通过以下命令来解决:
hadoop dfsadmin -safemode leave
2
出现这个问题可以
参考博客
https://www.cnblogs.com/yy3b2007com/p/9247621.html
上面说的很清楚
确保集群可以正常启动后就可以开始进入正题了!!!
Windows中使用IDEA写程序,手动生成jar包,手动提交到docker搭建的spark集群上运行
配置IDEA的环境
1 下载IDEA
这里给出官网链接https://www.jetbrains.com/idea/download/#section=windows
下载后安装即可
2 在IDEA中下载scala
3 在IDEA中创建scala工程
填写信息
标红的地方可以自己修改,其他不变即可,点击finish
新建scala文件夹,并设置为源目录
右键scala
4 导入scala环境
点击File中的Project Structure,进入到下图页面,添加scala的SDK,可以从下面链接中下载
链接:https://pan.baidu.com/s/11DYs4lS-wZjtnHRuFC9_DQ
提取码:u18t
下载后解压即可
点击Browse
在下载的文件中选择lib,点击ok即可
5 编写pom文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>untitled3</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<scala.version>2.11</scala.version>
<hadoop.version>2.7.4</hadoop.version>
</properties>
<repositories>
<repository>
<id>scala-tools.org</id>
<name>Scala-Tools Maven2 Repository</name>
<url>http://scala-tools.org/repo-releases</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.10</artifactId>
<version>1.6.0</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.10</artifactId>
<version>1.6.0</version