Hadoop——Windows系统下Hadoop单机环境搭建教程
关于作者
- 作者介绍
🍓 博客主页:作者主页
🍓 简介:JAVA领域优质创作者🥇、一名初入职场小白🎓、曾在校期间参加各种省赛、国赛,斩获一系列荣誉🏆
🍓 关注我:关注我学习资料、文档下载统统都有,每日定时更新文章,励志做一名JAVA资深程序猿👨💻
Hadoop初识
Hadoop是一个开源的分布式计算框架,它的目标是处理大规模数据集的存储和处理问题。它的核心组件包括:
Hadoop分布式文件系统(HDFS):HDFS可以把大量数据分散存储在集群的多个计算机上,提供高可靠性和容错性。
MapReduce:MapReduce是Hadoop的计算方式,用于并行处理大规模数据。它将任务分为两个阶段:Map阶段和Reduce阶段。Map阶段将数据分割成小块并进行处理,Reduce阶段将Map阶段的结果合并和汇总。
YARN(Yet Another Resource Negotiator):YARN是Hadoop的资源管理器,负责集群资源的调度和管理。它允许多个应用程序在同一个Hadoop集群上同时运行,提高资源利用率。
Hadoop的优势在于它的可扩展性、容错性和成本效益。它可以处理大量数据,通过分布式存储和计算,提供高性能和可靠性。此外,Hadoop还有很多与之集成的工具和框架,如Hive(用于数据仓库)、Pig(用于数据分析)、Spark(用于内存计算),进一步丰富了大数据处理的能力。
本文将在本地Windows系统进行Hadoop搭建。
我使用的版本:hadoop-3.0.0。其他版本搭建流程也可参考本篇文章。
1、下载安装包和windows插件
安装包:hadoop-3.0.0.tar.gz
插件:winutils
2、解压安装包
必须使用管理员身份运行cmd,使用命令切换到hadoop的安装包目录下,输入:tar zxvf hadoop-3.0.0.tar.gz
,等待解压完成。
==注意:Hadoop安装必须要安装JDK,没有安装JDK的小伙伴🤴👸需要自行安装==
下载针对Windows环境的Hadoop程序winutils工具
这里使用git进行下载 git clone https://gitcode.net/mirrors/steveloughran/winutils.git
同时,将bin下的hadoop.dll文件拷贝至C:WindowsSystem32
下一份
3、配置环境变量
设置->系统->关于-> 高级系统设置->环境变量,用户变量和系统变量新建HADOOP_HOME,与JDK配置过程类似,E:environmenthadoop-3.0.0
是hadoop存放的位置,具体根据自己存放地址进行修改:
系统环境变量 Path
中添加 %HADOOP_HOME%bin
对hadoop目录下的 etchadoophadoop-env.cmd
查看 JAVA_HOME
,如下,修改为自己的 JAVA_HOME
位置:
是如图所示的情况就需要修改。
出错了不要慌。。。
hadoop Error: JAVA_HOME is incorrectly set.Please update E:environmenthadoop-3.0.0etchadoophadoop-env.cmd
错误原因:
该目录下的配置文件中的JAVA_HOME目录是: C:Program FilesJavajdk1.8.0_241
因为Program Files中间存在空格,所以出现错误,只需要用 PROGRA~1
代替 Program Files
即可解决该问题。
4、测试 hadoop -version
配置成功
5、初始化文件
在hadoop文件下创建tmp、namenode和datanode文件夹,以我的为例:
E:environmenthadoop-3.0.0tmp
E:environmenthadoop-3.0.0datadfsdatanode
E:environmenthadoop-3.0.0datadfsnamenode
配置文件做准备
6、修改配置文件
需要修改四个配置文件(etchadoop目录下):core-site.xml,hdfs-site.xml,mapred-site.xml,yarn-site.xml
core-site.xml
这里端口我使用9000,端口要注意不被占用。可使用其它端口号。
查看端口是否占用命令:netstat -ano |findstr “post_number”
fs.defaultFS
hdfs://localhost:9000
hadoop.tmp.dir
/E:/environment/hadoop-3.0.0/tmp
hdfs-site.xml
dfs.replication
1
dfs.namenode.http-address
localhost:50070
dfs.namenode.name.dir
/E:/environment/hadoop-3.0.0/data/dfs/namenode
dfs.datanode.data.dir
/E:/environment/hadoop-3.0.0/data/dfs/datanode
dfs.permissions
false
dfs.permissions设为false,比如可能后面进行HDFS相关操作,会出现org.apache.hadoop.security.AccessControlException: Permission denied: user=root...
的错误
mapred-site.xml
mapreduce.framework.name
yarn
如果是mapred-site.xml.template则把.template后缀去掉
yarn-site.xml
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler
7、初始化namenode
到bin目录下执行:hdfs namenode -format
(以管理员身份运行)
每次格式化时最好将datanode、namenode和tmp目录下的文件全部删掉,避免出现一些ClusterId之类的问题
8、启动Hadoop
到sbin目录下右键管理员身份运行start-all.cmd,或命令运行:start-all.cmd
出现上面四个子窗口。
9、验证
览器输如查看集群状态
查看namenode管理界面