Windows上安装Hadoop 3.x

这篇具有很好参考价值的文章主要介绍了Windows上安装Hadoop 3.x。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

     

目录

0. 安装Java

1. 安装Hadoop

1.1 下载Hadoop

1.2 下载winutils

2. 配置Hadoop

1. hadoop-env.cmd

2. 创建数据目录

3. core-site.xml

4. hdfs-site.xml

3. 启动测试

3.1 namenode格式化

3.2 启动Hadoop

 3.3 查看webui

3.4 测试hdfs

3.5. 测试MapReduce

4. 还没结束

4.1 YARN的webui没看到任务

4.2 hadoop-streaming的小坑


我记得10年前Windows上装Hadoop得借助cygwin,现在不用了。现在装起来更容易了,今天试了一下并记录一下过程免得忘了。当然win上玩Hadoop多半为了学习,和之前Windows上安装HBASE作一个呼应。

百度一下还是很多的,我参考的主要是两篇:

Windows环境下hadoop安装和配置详细步骤(图文)_windows安装hadoop及配置_yujkss的博客-CSDN博客https://blog.csdn.net/qq_39900031/article/details/121080109

Windows安装Hadoop3.x及在Windows环境下本地开发_hadoop3.x带snappy(可用于windows本地开发)_CodeDevMaster的博客-CSDN博客https://blog.csdn.net/qq_38628046/article/details/124217768

这两篇的过程居然还有一些不一样,经过尝试,发现各有一些没考虑到的,分享一下我的踩坑过程

0. 安装Java

这一步没什么好说的,我安装的是jdk1.8u202, 可以在华为这下载到。

安装完了配置一下环境变量的JAVA_HOME,并且把 %JAVA_HOME%\bin 添加到Path里。(注意JAVA_HOME不能有空格,否则会出现 ErrorJAVA_HOME is incorrectly set. 解决方法C:\Program Files\Java\jdk1.8.0_202    改为   C:\PROGRA~1\Java\jdk1.8.0_202​​​​​​​JAVA_HOME is incorrectly set. Please update C:\hadoop\conf\hadoop-env.cmd解决方法_小菜鸟磊代码的博客-CSDN博客https://blog.csdn.net/weixin_45631366/article/details/106089563

1. 安装Hadoop

1.1 下载Hadoop

从官方渠道  https://archive.apache.org/dist/hadoop/common/ 下载,速度较慢可以先用百度网盘离线下载

 Windows上安装Hadoop 3.x,分布式,hadoop,大数据,Windows平台

然后配置一下这个目录到环境变量的 HADOOP_HOME 。并且把 %HADOOP_HOME%\bin 添加到Path里。

1.2 下载winutils

下载Windows专用的winutils.exehadoop.dll 两个文件放到  %HADOOP_HOME%\bin 目录下和 C:\Windows\System32 目录下(只放bin里,不放system32,哪怕配置过Path环境变量也不够,后面测试MapReduce就报错了)。这里需要对应winutils和Hadoop的版本。看winutils的github这里,GitHub - vhma/winutils: winutils.exe hadoop.dll and hdfs.dll binaries for hadoop windowswinutils.exe hadoop.dll and hdfs.dll binaries for hadoop windows - GitHub - vhma/winutils: winutils.exe hadoop.dll and hdfs.dll binaries for hadoop windowshttps://github.com/vhma/winutils . 如果上不去,直接看这里:Hadoop 之 winutils_电光闪烁的博客-CSDN博客https://blog.csdn.net/yang_shibiao/article/details/122620656

这就是为啥我选的Hadoop版本是3.1.2。

2. 配置Hadoop

配置文件都在%HADOOP_HOME%\etc\hadoop路径下

2.1  hadoop-env.cmd

因为环境变量配了JAVA_HOME, 所以这个文件不用改

2.2 创建数据目录

在%HADOOP_HOME%下创建tmpdata目录,在data下创建namenodedatanode目录。其实目录在哪无所谓,后面路径写对就行。

2.3  core-site.xml
<configuration>
	<property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>D:/bigdata/hadoop-3.1.2/tmp</value>
    </property>
</configuration>

这里路径分隔符可以写“\”,建议还是用“/” ,因为下面的hdfs-site就不能用 “\”。

2.4 hdfs-site.xml
<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/D:/bigdata/hadoop-3.1.2/data/namenode</value>
    </property>
	<property>
        <name>dfs.datanode.data.dir</name>
        <value>/D:/bigdata/hadoop-3.1.2/data/datanode</value>
    </property>	
</configuration>

这里连盘符前都要加 “/”

3. 启动测试

到这里其实就可以用了。准备开始,建议用管理员权限打开CMD

3.1 namenode格式化
hdfs namenode -format

执行下去如果没问题,可能会遇到一个Y or N 的选择,y就行

3.2 启动Hadoop

执行start-all.cmd

%HADOOP_HOME%\sbin\start-all.cmd

它会启动4个进程:

Windows上安装Hadoop 3.x,分布式,hadoop,大数据,Windows平台

如果需要关闭,用stop-all.cmd就行,它会关掉4个打开的进程。

 3.3 查看webui

hdfs的地址是:http://localhost:9870/

Windows上安装Hadoop 3.x,分布式,hadoop,大数据,Windows平台

yarn的地址是:http://localhost:8088/cluster

Windows上安装Hadoop 3.x,分布式,hadoop,大数据,Windows平台

3.4 测试hdfs

Windows上安装Hadoop 3.x,分布式,hadoop,大数据,Windows平台

3.5. 测试MapReduce

通过自带的example的运行wordcount,这里是在%HADOOP_HOME%目录下

hadoop jar share\hadoop\mapreduce\hadoop-mapreduce-examples-3.1.2.jar wordcount /usr/words.txt /output

 然后很快就会看到运行日志,包括结果也出来了

Windows上安装Hadoop 3.x,分布式,hadoop,大数据,Windows平台

 你以为这就OK了,其实没结束

4. 还没结束

4.1 YARN的webui没看到任务

运行了wordcount的MapReduce作业,怎么会看不到job历史,包括有些人也遇到过这个。找到一个解决方案(可能只配置这里还不够):Yarn UI 不显示任务 - 工克己 - 博客园 (cnblogs.com)

配置mapred-site.xml

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

 估计是开启由YARN管理MapReduce计算程序,这样才能在YARN的任务队列里看到。

那么yarn-site.xml是不是也要配,顺便一起吧

<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>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>localhost</value>
    </property>
</configuration>

关了重启动Hadoop(重启Hadoop会遇到过各种各样的问题,其中一个hdfs不能操作了:Name node is in safe mode.  遇到这个就删了数据目录重新格式化....还包括4个进程可能不能正常stop掉等等。

删掉/output目录,再次运行wordcount,报错了,长篇大论意思是yarn管理的container启动不起来,主要信息是 Exception message: CreateSymbolicLink error (1314): ???????????

于是根据这篇博客的方法解决:Windows平台Hadoop出现 Exception message: CreateSymbolicLink error (1314): ???????????_lhyxcxy的博客-CSDN博客https://blog.csdn.net/lhyxcxy/article/details/86668601

里面两个方法,我也没搞清楚是哪个起作用,所以前面说的建议用管理员权限打开CMD。

最后解决的结果是wordcount花费大量时间在job的启动上, 然后webui能看到任务历史了。

Windows上安装Hadoop 3.x,分布式,hadoop,大数据,Windows平台

最后,如果只是为了学习感觉应该不需要这么用YARN来跑作业。

4.2 hadoop-streaming的小坑

跑hadoop-streaming时候, -files这种通用参数必须放在其他参数的前面,否则会报"Streaming command failed"的错误

Windows上安装Hadoop 3.x,分布式,hadoop,大数据,Windows平台

 如下:文章来源地址https://www.toymoban.com/news/detail-678973.html

hadoop jar share/hadoop/tools/lib/hadoop-streaming-3.1.2.jar -files "map1.py,red1.py" -input /usr -output /output -mapper "python map1.py" -reducer "python red1.py"

到了这里,关于Windows上安装Hadoop 3.x的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Hadoop伪分布式安装搭建教程

    安装VMware虚拟机 下载Ubuntu 18.04镜像,并在VMware中新建虚拟机 安装VMware tools 搭建Hadoop伪分布式 1.安装VMware Workstation 14 Pro版本 2.1 在VMware上方菜单栏,文件--新建虚拟机  2.2 默认  2.3 选择稍后安装操作系统 2.4 选择Linux(L),版本 Ubuntu    2.5 定义虚拟机的名称,选择虚拟机的

    2023年04月09日
    浏览(30)
  • Hadoop的伪分布式安装方法

    实验环境: 操作系统:Linux (Ubuntu 20.04.5) Hadoop版本:3.3.2 JDK版本:1.8.0_162 hadoop与jdk的安装包可详见博客中: https://blog.csdn.net/weixin_52308622/article/details/131947961?spm=1001.2014.3001.5501 (1)创建 hadoop 用户(使用 /bin/bash 作为 Shell)、设置密码(建议简单)并为其添加管理员权限。具

    2024年02月14日
    浏览(33)
  • Docker安装Hadoop分布式集群

    hadoop目录安装在:/usr/local/hadoop-2.7.0/etc/hadoop

    2024年02月13日
    浏览(36)
  • 【Hadoop】安装部署-完全分布式搭建

    Hadoop是一个适合大数据的分布式存储和计算平台。狭义上说Hadoop就是一个框架平台,广义上讲Hadoop代表大数据的一个技术生态圈,包括很多软件框架。而我们的完全分布式,指的是在真实环境下,使⽤多台机器,共同配合,来构建⼀个完整的分布式文件系统。在真实环境中,

    2024年02月07日
    浏览(34)
  • Hadoop完全分布式安装基于Docker

    (都在root用户下) 在Dockfile文件中添加以下内容 基于centos镜像,生成带有spenssh-server、openssh-clients的镜像,用户为root,密码为a123456,镜像维护者(作者)为hadoop 建好Dockerfile文件后,生成镜像,在终端输入: 1、在主机下载ssh 2、把hadoop和jdk传到/root 3、解压hadoop和jdk 4、生成带

    2024年04月29日
    浏览(38)
  • Hadoop集群部署(完全分布式模式、hadoop2.7.3+安装包)

    目录 一、上传、解压配置 (一)上传 (二)解压 (三)配置hadoop系统环境变量 1.配置hadoop环境变量 2.让环境变量生效 3.验证hadoop系统环境变量 二、修改配置文件  (一)前置介绍 (二)更改配置文件 1.配置Hadoop集群主机点 2.修改core-site.xml文件 3.修改hdfs-site.xml文件 4.修改

    2024年04月25日
    浏览(46)
  • Hadoop(01) Hadoop3.3.6安装教程,单机/伪分布式配置

    在安装 Hadoop 3.3.6 前,需要满足以下前置条件: Java Development Kit (JDK):Hadoop 是用 Java 编写的,因此需要安装并配置适当版本的 JDK。Hadoop 3.3.6 建议使用 JDK 8 或更高版本。确保正确安装 JDK,并设置 JAVA_HOME 环境变量。 SSH:Hadoop 集群中的节点需要通过 SSH 进行通信和管理。确保在

    2024年02月06日
    浏览(37)
  • 虚拟机Ubuntu安装Hadoop(伪分布式安装)

    1.创建hadoop用户 在终端输入 为hadoop用户设置密码,连续输入两次密码即可 为Hadoop用户增加管理员权限,避免以后的麻烦 这里我们切换到hadoop用户,进行下一步操作 2.ssh的安装以及设置免密登录 检测ssh是否安装,有sshd说明已经启动 这边我们还需要安装ssh server,这边又yes输入

    2023年04月08日
    浏览(28)
  • 基于Linux的Hadoop伪分布式安装

    1.1 创建新用户(需注意权限问题:切换为root用户) 1.2 添加新用户hadoop,并设置相关信息(一直回车默认就可以) 1.3 退出当前用户登录hadoop用户(或直接在Ubuntu中切换用户即可) 1.4 以管理员身份(root用户)执行指令visudo,来修改配置 visudo打开的是 /etc/sudoers 文件,修改该

    2024年02月03日
    浏览(29)
  • Hadoop3.3伪分布式安装部署

    目录 引言 实验目的及准备 实验步骤 引言 Hadoop生态的搭建有本地模式、伪分布模式、集群模式(3台机器)三种安装模式,本篇文章将详细介绍Hadoop3.3的伪分布安装模式。 实验目的及准备 一、完成Hadoop3.3伪分布安装 二、在Linux中配置jdk1.8环境变量 三、配置主机的免密钥登录

    2024年02月21日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包