当前位置: 首页 > article >正文

大数据之——Window电脑本地配置hadoop系统(100%包避坑!!方便日常测试,不用再去虚拟机那么麻烦)

之前我们的hadoop不管是伪分布式还是分布式,都是配置在虚拟机上,我们有的时候想要运行一些mapreduce、hdfs的操作,又要把文件移到虚拟机,又要上传hdfs,麻烦得要死,那么有的时候我们写的一些java、python的hadoop代码,我们只想在本地运行一下看看有没有问题、会是一个什么结果怎么办?

那就需要在window配置hadoop系统环境,然后以后只需要在本地写代码运行就行了

        

        Hadoop 是一个跨平台的分布式计算框架,可以在多种操作系统上运行,包括 Linux、Windows 和 macOS。因此之前我们给虚拟机安装的hadoop安装包依旧使用于window系统,直接拿那个安装包解压到本地就行。

需要在您的Windows系统上安装以下软件:

  • Java JDK:Hadoop依赖Java,因此需要安装JDK。(一定要1.8版本的稳定)
  • Hadoop:下载Hadoop的二进制文件。
  • WinUtils:Hadoop在Windows上需要特定的WinUtils。

一、安装JAVA环境

那么还是跟虚拟机配置hadoop一样,要先配置好JAVA环境JDK,这里我不想讲下载安装java环境的流程,有需要的、一次java环境都没有安装过的小白请自行查找别的教程

但是要注意尽量用1.8版本的JDK!!没配的自己找别的教程自行安装1.8JDK。

【拓展】

但是这里我打算讲一下安装过多个java环境(JDK)的人,我们怎么去切换本地的JAVA环境:

我自己本人之前也因为刚学java不是很懂,安装了几个版本的JDK,然后安装路径乱七八糟的,当时我本地已经有了【1.8】【17】【21】【11】四个版本的JDK了,现在用的是【21】版本,但是现在为了适配hadoop我不得不换成【1.8】的JDK。

那么首先在idea可以找到我们的JDK的路径,如下图所示:

然后我们在【系统设置】的【环境变量】那里可以把你之前设置的【JAVA_HOME】写成对应版本的【JAVA_HOME1.8】、【JAVA_HOME21】、【JAVA_HOME11】......,一定要把对应版本的JDK的安装路径对应上

然后,你想要当前使用哪一个版本的JDK,你就在path变量里添加对应的【JAVA_HOME】变量

不过注意,【1.8】之后的版本的【jre】和【jdk】分开,要分别添加【%JAVA_HOME版本号%\bin】和【%JAVA_HOME版本号%\jre\bin】

那如果现在我们要用【1.8】版本的JDK,因为【1.8】的JDK包含了jre,就可以删掉【%JAVA_HOME版本号%\jre\bin】,只留【%JAVA_HOME版本号%\bin】

最后测试,【Win + R】输入cmd,输入【java -version】看看能不能正常切换JAVA环境

二、Hadoop安装

1、下载并解压安装

如果还没有下载过hadoop的,第一次了解的,请到这个链接进行下载:

【hadoop 3(3.3以上)版本】去这个清华大学的中国镜像安装网站: 

Index of /apache/hadoop/common

直接自己选一个安装

那么如果之前用虚拟机安装过Hadoop的,就找到之前那个安装包,不用担心hadoop适不适配Window,因为一个hadoop适配任何系统,你直接拿来window解压用就完事了

解压你下载的hadoop压缩包,路径自定义,但是:路径中不要有空格

2、配置hadoop的环境变量、path变量

在“此电脑”图标上右击,选择“属性”,点击“高级系统设置”,点击“环境变量”,添加【HADOOP_HOME】这个变量,路径就是我们刚刚解压的hadoop根目录路径

然后再到【path】添加【%HADOOP_HOME%\bin】、【%HADOOP_HOME%\sbin】,注意千万别漏了 “ \ ”

三、下载安装【winutils】

然后要下载【winutils】插件,要靠他才能在window使用hadoop

下载地址:GitHub - cdarlint/winutils: winutils.exe hadoop.dll and hdfs.dll binaries for hadoop windows(如果进不去可能要用一下梯子,因为guthub是外网,但是我当时直接就进去了)

直接下载压缩包

(这一步可做可不做)

最后,到hadoop路径下的【etc/hadoop】下,用记事本编辑修改【hadoop-env.cmd】指定java的路径

然后测试安装成功,输入【hadoop version】

四、进行本地的hadoop伪分布式配置文件配置

然后,在hadoop根目录下创建一个【data】目录,然后在这个目录下创建【datanode】、【namenode】、【tmp】三个文件夹

然后进入到hadoop的配置文件目录,在hadoop的【/etc/hadoop】下

配置 core-site.xml 文件

在hadoop的【/etc/hadoop】路径下找到【core-site.xml】

用记事本编辑,把下面<configuration></configuration>换成下面代码

(注意把下面路径换成你自己的hadoop解压路径下的\data\tmp)

<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/【你自己的hadoop解压路径】\data\tmp</value>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

配置 mapred-site.xml 文件

在hadoop的【/etc/hadoop】路径下找到【mapred-site.xml】

用记事本编辑,把下面<configuration></configuration>换成下面代码

<configuration>
    <property>
       <name>mapreduce.framework.name</name>
       <value>yarn</value>
    </property>
    <property>
       <name>mapred.job.tracker</name>
       <value>hdfs://localhost:9001</value>
    </property>
</configuration>

配置 yarn-site.xml 文件

在hadoop的【/etc/hadoop】路径下找到【yarn-site.xml】

用记事本编辑,把下面<configuration></configuration>换成下面代码

<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.hahoop.mapred.ShuffleHandler</value>
    </property>
</configuration>

配置 hdfs-site.xml 文件

在hadoop的【/etc/hadoop】路径下找到【hdfs-site.xml】

用记事本编辑,把下面<configuration></configuration>换成下面代码

(注意把下面两个路径换成你自己的hadoop解压路径下的\data\namenode和\data\datanode)

<configuration>
    <!-- 这个参数设置为1,因为是单机版hadoop -->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/【你自己的hadoop解压路径】\data\namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/【你自己的hadoop解压路径】\data\datanode</value>
    </property>
</configuration>

配置 hadoop-env.sh 文件

使用Ctrl+F查找export JAVA_HOME,找到相应的位置,配置下如图:

五、准备启动hadoop!

1、格式化namenode

然后对hadoop的namenode进行格式化

2、然后启动hadoop

会弹出四个窗口,别关,让他们开着就行

那么有的人的yarn项目可能会出现这种错误,这是因为可能之前有人做前端开发,电脑里由于之前安装node.js时系统里有重名命令yarn

所以在运行hadoop的yarn的时候需要制定其yarn路径,解决办法是打开hadoop目录下的【sbin】目录下的【start-yarn.cmd】文件,修改其yarn运行代码为:

@rem start resourceManager
start "Apache Hadoop Distribution" [你的hadoop安装路径下的bin路径]\yarn resourcemanager
@rem start nodeManager
start "Apache Hadoop Distribution" [你的hadoop安装路径下的bin路径]\yarn nodemanager
@rem start proxyserver
@rem start "Apache Hadoop Distribution" [你的hadoop安装路径下的bin路径]\yarn proxyserver

其中:[你的hadoop安装路径下的bin路径] 这里你可以用之前配置的环境变量【%HADOOP_HOME%\bin】,也可以直接写完整的hadoop的bin路径,类似【F:\hadoop-3.3.5\bin】 

再次在hadoop目录的【sbin目录】下输入【star-all.cmd】,或者分别输入【star-dfs.cmd】【star-yarn.cmd】应该就正常了

3、检测启动成功否

然后输入jps,就能看到我们的节点信息了

然后打开浏览器,跟linux安装hadoop一样,也是访问【http://localhost:9870/】来查看我们的hadoop的namenode页面

以及resourcemanager的页面:【http://localhost:8088/cluster】


http://www.kler.cn/a/378877.html

相关文章:

  • 大学适合学C语言还是Python?
  • 优化JavaScript中的复杂判断
  • flutter-防抖
  • 基于SpringBoot+Vue的快递物流信息查询系统设计与实现【前后端分离】
  • Java | Leetcode Java题解之第528题按权重随机选择
  • 【Docker】安装registry本地镜像库,开启Https功能
  • Python画笔案例-095 绘制鼠标画笔
  • [java][基础]HTTPTomcatServlet
  • 高防服务器都有哪些类型?
  • Java 正则基础
  • 生成对抗网络(GAN)如何推动AIGC的发展
  • MacOS如何读取磁盘原始的扇区内容,恢复误删除的数据
  • 【IC每日一题--单bitCDC跨时钟和同步FIFO】
  • [ 应急响应靶场实战 ] VMware 搭建win server 2012应急响应靶机 攻击者获取服务器权限上传恶意病毒 防守方人员应急响应并溯源
  • ssm基于vue搭建的新闻网站+vue
  • Python+Selenium+Pytest+POM自动化测试框架封装
  • 机器学习的模型评估与选择
  • Msys mingw32编译报错 CMake Error: Could not create named generator MSYS Makefiles
  • DIP(Deep Image Prior,深度图像先验)和DMs(Diffusion Models,扩散模型)
  • CytoSPACE·单细胞与空间转录组的高精度对齐
  • API网关 - JWT认证 ; 原理概述与具体实践样例
  • 【06】A-Maven项目SVN设置忽略文件
  • 编写高性能爬虫抓取股票行情数据
  • Vue学习之路15----Props
  • 华为鸿蒙应用开发
  • 百度如何打造AI原生研发新范式?