2020-大数据分析-Tec2-安装Hadoop和Spark
Tec2-安装Hadoop和Spark
1. 本机Java配置以及安装的目标版本
- Java:jdk1.8.0_251
- WIN10
- Hadoop:目标安装版本为3.1.3
- Scala:目标安装版本为2.11.12
- Spark:目标安装版本为3.0.0(适用于Hadoop 2.7.0以上版本)
2. 安装JDK
- 提前安装好JDK 8/11,根据自己的需要进行安装即可
3. 安装运行Hadoop
3.1. 下载Hadoop
- 下载网址
- 本教程的Hadoop版本下载地址:https://mirror.bit.edu.cn/apache/hadoop/common/hadoop-3.1.3/hadoop-3.1.3.tar.gz
3.2. 下载Winutils-3.1.0
- 因为Hadoop在2.0之前是完全运行在Linux系统上的,所以在之后如果想要在Windows上安装需要我们下载相应的exe才可以。
- 下载地址,可以使用fork的方式到自己的仓库然后下载,也可以直接选择下载ZIP文件。
3.3. 解压Hadoop
- 将刚刚下载的以tar.gz的文件以管理员权限进行解压
- 如果不使用管理权限解压是无法解决so文件的解压的。
- 将刚刚下载的Wintuils-3.1.0的bin文件夹下的所有的文件赋值到Hadoop解压后的bin文件夹下。
3.4. 配置Hadoop的系统变量
- 新建
HADOOP_HOME
的系统变量,其变量值为刚刚Hadoop
解压的文件夹,比如D:\hadoop
- 为Path添加新的变量值:
%HADOOP_HOME%\bin
3.5. 检查Hadoop的安装情况
- 查看版本:
hadoop version
- 启动Hadoop:
HADOOP_HOME/sbin/start-all.cmd
3.6. 运行问题
3.6.1. 系统找不到JAVA_HOME的路径
- 原因:JAVA安装的位置的路径中包含有空格
- 修改
bin\hadoop.cmd
文件中的JAVA_HOME的值:注意需要同时修改etc\hadoop\hadoop-env.cmd
中的JAVA_JOME的值
1 |
|
3.6.2. java.lang.ClassNotFoundException: org.apache.hadoop.yarn.server.timelineservice.collector
- Hadoop启动报错,缺少
hadoop-yarn-server-timelineservice jar
包 - 解决方案:从
Hadoop\share\hadoop\yarn\timelineservice
下hadoop-yarn-server-timelineservice-x.x.x.jar
复制到Hadoop\share\hadoop\yarn\lib
目录下。
3.6.3. NameNode进程无法启动,报org.apache.hadoop.hdfs.server.common.InconsistentFSStateException
- 重启Hadoop的时候,控制台正常打印日志,但是jps显示没有namenode进程,可以发现存储数据的目录不存在或者目录不可访问
- 解决方案:重新格式化文件系统
- 停止hadoop的进程:
HADOOP_HOME/sbin/stop-all.sh
- 重新格式化文件系统:
HADOOP_HOME/bin/hdfs namenode -format
- 启动Hadoop:
HADOOP_HOME/sbin/start-all.sh
- 停止hadoop的进程:
3.6.4. NameNode无法启动,日志提示file:/// has no authority
- 运行Hadoop的过程中显示:
file:/// has no authority
- 修改
etc\hadoop\core-site.xml
的配置
1 |
|
4. 安装运行Spark
4.1. 下载安装Scala
- Scala安装
- 注:一定要提前安装好JDK,并设置JAVA_HOME的系统变量。
- 本教程安装使用的是2.11.12版本的Scala
- Windows可以选择
- 方案一:下载Scala-2.11.12.zip然后解压缩后,手动配置系统变量
- 方案二:使用Windows安装程序,之后根据安装程序的指引完成安装即可。
- 检查安装效果:在cmd中输入
scala
即可以查看版本
4.2. 下载Spark
4.3. 安装Spark
- 将刚刚下载的压缩包就压缩到你想要的解压缩的位置(也就是安装位置)
- 进入到安装目录下
\bin
在cmd命令下运行spark-shell
,正常运行结果如下
5. 运行Spark
- 首先需要有IDEA,并且安装了Scala的Plugin
- 创建一个Scala的IDEA项目
- 选择相应的JDK和Scala SDK,创建HelloWorld项目
- 创建一个名字为Hello的Scala Object,产生Hello.scala的文件。
- 编辑这个文件
1 |
|
- IDEA中运行正常
- 使用
File->Project Structure->Artifacts
生成META-INF文件夹
- 打包JAR:选择Build->Build Artifact->Build
- 将压缩后的jar文件使用spark-submit来执行:
spark-submit --class Hello HelloWorld.jar
6. 参考
2020-大数据分析-Tec2-安装Hadoop和Spark
https://spricoder.github.io/2020/11/01/2020-Big-data-analysis/2020-Big-data-analysis-Tec2-%E5%AE%89%E8%A3%85Hadoop%E5%92%8CSpark/