Windows环境
下载地址
链接:https://pan.baidu.com/s/1YczOo5novINV_MimJ9Xpqg
提取码:psvm
版本
名称 | 版本 |
---|---|
Hadoop | 2.7.7 |
Scala | 2.12.15 |
Spark | 3.1.3 |
Hadoop
https://archive.apache.org/dist/hadoop/common/hadoop-2.7.7/
配置HADOOP_HOME&Path
键 | 值 |
---|---|
HADOOP_HOME | D:\Tools\bigdata\hadoop-2.7.7 |
Path | %HADOOP_HOME%\bin |
配置文件
首选创建三个文件夹
D:\Tools\bigdata\zdata\hadoop\data
D:\Tools\bigdata\zdata\hadoop\name
D:\Tools\bigdata\zdata\hadoop\tmp
D:\Tools\bigdata\hadoop-2.7.7\etc\hadoop,修改hadoop以下的几个文件
hadoop-env.cmd
1 | set JAVA_HOME="D:\Tools\Java\jdk1.8.0_102" |
修改core-site.xml
1 |
|
修改hdfs-site.xml
1 |
|
修改mapred-site.xml(如果不存在就先copy mapred-site.xml.template,再修改文件名为mapred-site.xml)
1 |
|
修改yarn-site.xml
1 |
|
winutils
https://gitee.com/nkuhyx/winutils
找到对应的版本把bin里的文件覆盖到hadoop的bin目录下
D:\Tools\bigdata\hadoop-2.7.7\bin
启动
环境变量中Path添加
1 | D:\Tools\Java\jdk1.8.0_102\bin |
注意
建议Java安装路径中不包含空格或中文,负责可能运行报错。
namenode格式化
1 | hdfs namenode -format |
出现以下文字则成功了
hdfs namenode -format
全部服务
1 | start-all.cmd |
只启动HDFS
1 | start-dfs.cmd |
地址
作用 | 地址 |
---|---|
HDFS监控页面 | http://localhost:50070/ http://localhost:50070/explorer.html#/ |
Yarn监控页面 | http://localhost:8088/cluster |
Scala
下载
https://www.scala-lang.org/download/2.12.15.html
Spark
https://spark.apache.org/downloads.html
下载地址
https://dlcdn.apache.org/spark/spark-3.1.3/spark-3.1.3-bin-hadoop2.7.tgz
设置环境变量
Path中添加
键 | 值 |
---|---|
Path | D:\Tools\bigdata\spark-3.1.3-bin-hadoop2.7\bin |
SPARK_LOCAL_DIRS | D:\Tools\bigdata\spark-3.1.3-bin-hadoop2.7\temp |
如图
其中
SPARK_LOCAL_DIRS
是设置临时文件的存储位置,比如运行一个jar文件,就会先把文件放到这个临时目录中,使用完成后再删除。
运行
1 | spark-shell |
运行报错
java.io.IOException: Failed to delete
当我们提交打包好的spark程序时提示如上报错。
在windows环境下本身就存在这样的问题,和我们的程序没有关系。
若是想消除该报错,可以在%SPARK_HOME%/conf
下的文件log4j.properties
(没有的话可以复制log4j.properties.template
文件)
最后面添加如下信息:
1 | log4j.logger.org.apache.spark.util.ShutdownHookManager=OFF |
创建项目
创建项目
项目名WordCount
在项目名称WordCount
上单击鼠标右键,在弹出的菜单中点击Add Framework Support
在java
目录上单击鼠标右键,在弹出的菜单中选择Refactor
,再在弹出的菜单中选择Rename
,
然后,在出现的界面中把java
目录名称修改为scala
。
添加类WordCount
在IDEA开发界面中,打开pom.xml,清空里面的内容,输入如下内容:
1 |
|
测试
创建测试文件wordcount.txt
D:\spark_study\wordcount.txt
1 | good good study |
然后,再打开WordCount.scala代码文件,清空里面的内容,输入如下内容:
1 | import org.apache.spark.{SparkConf, SparkContext} |
运行就可以看到结果为
(up,1)
(day,2)
(good,2)
(study,1)
打包运行
在IDEA开发界面的右侧,点击Maven
图标,会弹出Maven
调试界面
在Maven调试界面中点击package
,就可以对应用程序进行打包,打包成JAR包。
这时,到IDEA开发界面左侧的项目目录树中,在“target”目录下,就可以看到生成了两个JAR文件,
分别是:WordCount-1.0.jar
和WordCount-1.0-jar-with-dependencies.jar
。
然后,打开一个Linux终端,执行如下命令运行JAR包:
1 | spark-submit --class WordCount D:\Project\Spark\WordCount\target\WordCount-1.0-jar-with-dependencies.jar |