由于项目用的JDK17,所以单独给Hadoop配了JDK11,建议直接配置JAVA_HOME环境变量为JDK11,因为后面Spark需要用到JAVA_HOME
下载JDK11
链接:https://www.oracle.com/java/technologies/javase/jdk11-archive-downloads.html
目前Hadoop和Spark兼容JDK11和JDK8
单独修改Hadoop的话,需要在Hadoop目录下的etc\hadoop\文件夹中hadoop-env.cmd中添加一行
set JAVA_HOME=E:\Environment\jdk-11.0.13
(此处填写你的JDK路径)
注:JDK、Hadoop以及Spark的文件路径中不能出现空格和中文,类似于
Program Files
这样的文件夹名是不被允许的
镜像链接:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/core/hadoop-3.3.2/
选择hadoop-3.3.2.tar.gz
下载winutils.exe和hadoop.dll,Windows安装Hadoop需要这部分文件
链接:https://github.com/cdarlint/winutils
找到对应的版本对应bin目录中的文件,放入Hadoop下的bin 文件夹中
把Hadoop目录添加到系统变量HADOOP_HOME
,并在系统变量Path
中添加%HADOOP_HOME%\bin
cmd输入
hadoop version
n
测试是否正常显示版本信息
打开Hadoop所在目录下etc\hadoop
的文件夹
修改core-site.xml
:
先在Hadoop目录下创建data文件夹,配置文件中路径前需加"/"。HDFS可使用localhost,如果在hosts文件已经配置了主机映射,也可以直接填主机名
<configuration>
<property>
<name>hadoop.tmp.dirname>
<value>/E:/Environment/hadoop-3.3.2/data/tmpvalue> //注意前面部分路径修改为自己的
property>
<property>
<name>fs.defaultFSname>
<value>hdfs://localhost:9000value>
property>
configuration>
修改hdfs-site.xml
:
<configuration>
<property>
<name>dfs.replicationname>
<value>1value>
property>
<property>
<name>dfs.namenode.name.dirname>
<value>/E:/Environment/hadoop-3.3.2/data/namenodevalue> //注意前面部分路径修改为自己的
property>
<property>
<name>dfs.datanode.data.dirname>
<value>/E:/Environment/hadoop-3.3.2/data/datanodevalue> //注意前面部分路径修改为自己的
property>
configuration>
修改mapred-site.xml
:
<configuration>
<property>
<name>mapreduce.framework.namename>
<value>yarnvalue>
property>
<property>
<name>mapred.job.trackername>
<value>hdfs://localhost:9001value>
property>
configuration>
修改yarn-site.xml
:
<configuration>
<property>
<name>yarn.nodemanager.aux-servicesname>
<value>mapreduce_shufflevalue>
property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.classname>
<value>org.apache.hahoop.mapred.ShuffleHandlervalue>
property>
configuration>
打开cmd输入
hdfs namenode -format
出现类似下图说明成功。如果出错,可能原因有如:环境变量配置错误如路径出现空格,或者winutils版本不对或hadoop版本过高等,或hadoop的etc下文件配置有误
然后cmd切换到Hadoop下的sbin目录,输入
start-all.cmd
然后回车,此时会弹出4个cmd窗口,分别是NameNode、ResourceManager、NodeManager、DataNode。检查4个窗口有没有报错。在CMD执行jps看到这4个进程,启动成功
浏览器输入localhost:9870
即进入访问HDFS的Web UI界面
浏览器输入localhost:8088
即进入Yarn集群节点的Web UI界面
下载链接:https://www.scala-lang.org/download/2.13.8.html
选择scala-2.13.8.zip
将解压后的Scala的bin目录添加到Path系统变量中,打开cmd输入
scala
然后回车,如果能够正常进入到Scala的交互命令环境则表明配置成功
由于spark-3.2.1版本在启动时会出现一点问题,具体原因没有深究。但尝试降低版本变成3.1.3版本后正常运行,所以就选择配置spark-3.1.3
Spark3.1.3和JDK11启动时会出现WARNING,更新到3.3.1和JDK17就好了
官网链接:https://dlcdn.apache.org/spark/
镜像地址:https://mirrors.tuna.tsinghua.edu.cn/apache/spark/
「需要注意的是spark版本需要和hadoop版本对应.如果按照本文的配置即可忽略此行文字」
把Spark目录添加到系统变量SPARK_HOME
,并在系统变量Path
中添加%SPARK_HOME%\bin
打开cmd窗口,输入
spark-shell
然后回车,如果能够正常进入到Spark的交互式命令行模式,则表明配置成功
浏览器输入localhost:4040
即进入Spark的Web UI界面