1.Hadoop
a.概念:Hadoop是一个由Apache基金会所开发的分布式系统基础架构
b.组成:Hadoop = HDFS (文件系统) + Mapreduce (数据处理)
2.安装
a.配置Java运行环境
b.从官网下载 Hadoop 并解压,地址:http://hadoop.apache.org/releases.html
c.下载 winutils 对 windows 进行支持,地址:https://github.com/steveloughran/winutils(支持老版本)
https://github.com/zyj108/apache-hadoop-3.1.0-winutils(支持Hadoop3.1.2)
d.解压 winutils 覆盖到 Hadoop 根目录(主要是覆盖bin目录)
e.在 Hadoop 的 etc\hadoop 下,修改如下配置文件
①修改core-site.xml,配置默认hdfs的访问端口
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9527</value> </property> </configuration>
②修改hdfs-site.xml,配置复制集(1为不复制)以及namenode文件路径和datanode数据路径
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/hadoop/data/dfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/hadoop/data/dfs/datanode</value> </property> </configuration>
③修改mapred-site.xml,配置mr使用的框架为yarn
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
④修改yarn-site.xml,配置yarn使用mr混洗
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> </configuration>
⑤修改hadoop-env.cmd,设置Java访问路径
set JAVA_HOME=C:\PROGRA~1\Java\jdk1.8.0_201
注意:由于路径中不能包含空格,所以 Program Files 需要用 PROGRA~1 代替
f.在 hadoop 的 bin 目录下,执行CMD命令格式化hdfs:hdfs namenode -format
g.在 hadoop 的 sbin 目录下,执行CMD命令启动服务:start-all.cmd
h.访问 http://localhost:8088/ 及 http://localhost:9870/ 集群状态及Hadoop状态
3.问题及解决:
a.问题:在执行 start-all.cmd 时,其中有窗口报出java.lang.ClassNotFoundException: org.apache.hadoop.yarn.server.timelineservice.collect 的异常
解决:将 hadoop 的 share\hadoop\yarn\timelineservice 目录下的 hadoop-yarn-server-timelineservice-3.1.2.jar,复制到上一级目录 share\hadoop\yarn 中即可
4.参考文章:https://www.cnblogs.com/chevin/p/9090683.html
https://blog.csdn.net/qq_33398459/article/details/86687379
原文地址:https://www.cnblogs.com/vettel0329/p/11136800.html