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博客

Windows安装Hadoop3.x及在Windows环境下本地开发_hadoop3.x带snappy(可用于windows本地开发)_CodeDevMaster的博客-CSDN博客

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

0. 安装Java

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

安装完了配置一下环境变量的JAVA_HOME, 并且把 %JAVA_HOME%\bin 添加到Path里。

1. 安装Hadoop

1.1 下载Hadoop

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

 

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

1.2 下载winutils

下载Windows专用的winutils.exehadoop.dll 放到  /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 windows . 如果上不去,直接看这里:Hadoop 之 winutils_电光闪烁的博客-CSDN博客。

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

2. 配置Hadoop

1. hadoop-env.cmd

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

2. 创建数据目录

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

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就不能用 “\”。

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个进程:

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

 3.3 查看webui

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

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

3.4 测试hdfs

3.5. 测试MapReduce

通过自带的example的运行wordcount,

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

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

 你以为这就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博客

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

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

感觉并不需要这么用YARN来跑任务。

4.2 hadoop-streaming的小坑

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

 如下:

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"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/109939.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Markdown 扩展语法练习

风无痕 August 26, 2023 Markdown 指南中文版 Markdown 入门指南Markdown 基本语法Markdown 扩展语法Markdown 基本语法练习Markdown 扩展语法练习 代码 <h3 id"table">表格</h3>| Syntax | Description | | --- | --- | | Header | Title | | Paragrap…

【Terraform学习】使用 Terraform创建 S3 存储桶事件(Terraform-AWS最佳实战学习)

本站以分享各种运维经验和运维所需要的技能为主 《python》&#xff1a;python零基础入门学习 《shell》&#xff1a;shell学习 《terraform》持续更新中&#xff1a;terraform_Aws学习零基础入门到最佳实战 《k8》暂未更新 《docker学习》暂未更新 《ceph学习》ceph日常问题解…

用AI重构的钉钉,“钱”路在何方?

点击关注 文&#xff5c;郝 鑫&#xff0c;编&#xff5c;刘雨琦 钉钉2023年生态大会&#xff0c;离开了两年的无招&#xff0c;遇到了单飞9天的钉钉。 “做小钉钉、做好钉钉、做酷钉钉”&#xff0c;无招重申了钉钉的方向。 无招提到的三点&#xff0c;再加上“高质量增长”…

ubuntu22.04.1-live的vm虚拟机扩展磁盘

1、虚拟机分配硬盘100G&#xff0c;进系统df -h根目录只有50G 2、查看所有块设备 lsblk 3、 查看卷信息vgdisplay 4、在原有基础上增加49G lvextend -L 49G /dev/ubuntu-vg/ubuntu-lv 5、调整大小 resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

微信小程序 趣味学习与益智游戏系统APP

管理员、用户可通过HBuilder系统手机打开系统&#xff0c;注册登录后可进行管理员后端&#xff1b;首页、个人中心、用户管理、学生分类管理、学一学管理、玩一玩管理、听一听管理、试题管理、练一练管理、系统管理、考试管理&#xff0c;用户前端&#xff1b;首页、学一学、玩…

lenovo联想笔记本小新Air-15 2021款Intel版ITL版(82GM)原装出厂Win10系统

自带所有驱动、出厂主题壁纸LOGO、Office办公软件、联想电脑管家等预装程序 所需要工具&#xff1a;16G或以上的U盘 文件格式&#xff1a;ISO 文件大小&#xff1a;11.2GB 链接&#xff1a;https://pan.baidu.com/s/12NTMOt5eUjOIsbayXPyiww?pwdrs4v 提取码&#xf…

HTML番外篇(四)-HTML5新增元素-CSS常见函数-理解浏览器前缀-BFC

一、HTML5新增元素 1.HTML5语义化元素 在HMTL5之前&#xff0c;我们的网站分布层级通常包括哪些部分呢&#xff1f; header、nav、main、footer ◼ 但是这样做有一个弊端&#xff1a; 我们往往过多的使用div, 通过id或class来区分元素&#xff1b;对于浏览器来说这些元素不…

HCIP-OpenStack组件之neutron

neutron&#xff08;ovs、ovn&#xff09; OVS OVS(Open vSwitch)是虚拟交换机&#xff0c;遵循SDN(Software Defined Network&#xff0c;软件定义网络)架构来管理的。 OVS介绍参考&#xff1a;https://mp.weixin.qq.com/s?__bizMzAwMDQyOTcwOA&mid2247485088&idx1…

无人机航管应答机 ping200XR

产品概述 ping200XR是一个完整的系统&#xff0c;旨在满足航管应答器和自动相关监视广播(ADS-B)的要求&#xff0c;在管制空域操作无人航空系统(UAS)。该系统完全可配置为模式A&#xff0c;模式C&#xff0c;模式S转发器和扩展ADS-B发射机的任何组合。ping200XR包括一个精度超…

01 java 学习 数据类型、基础语法、封装、继承、多态、接口、泛型、异常等

目录 环境搭建和基础知识 什么是JRE: 什么是JDK: 基础数据类型 分支选择if else switch和c一毛一样 for和while循环还有数组基本和c一样 封装 函数调用、传参、命名规范、数组新命名规范 java输入Scanner scanner new Scanner(System.in); 类的创建和使用以及封装修饰符…

14-redis

一 Redis概述 1 为什么要用NoSQL 单机Mysql的美好年代 在90年代&#xff0c;一个网站的访问量一般都不大&#xff0c;用单个数据库完全可以 轻松应付。在那个时候&#xff0c;更多的都是静态网页&#xff0c;动态交互类型的网站不多。 遇到问题&#xff1a; 随着用户数的增长…

数据通信——TCP(三次握手及基础特性)

引言 TCP&#xff08;传输控制协议&#xff09;&#xff0c;不像之前的UDP那样&#xff0c;因为这个协议要将很多复杂的东西&#xff0c;所以这次的特性是简单的特性&#xff0c;后续会讲一些复杂难懂的知识&#xff0c;这次先说一些TCP明显的特性 面向连接 TCP提供了对连接的管…

TCP性能机制

延迟应答 为什么有延迟应答 发送方如果长时间没有收到ACK应答&#xff0c;则会触发超时重传机制&#xff0c;重新发送数据包。但如果接收数据的主机立刻返回ACK应答, 这时候返回的窗口可能比较小&#xff0c;发送方一次只能发少量数据&#xff0c;效率较低。 举个例子理解一…

wazuh环境配置和漏洞复现

1.wazuh配置 虚拟机 &#xff08;OVA&#xff09; - 替代安装 (wazuh.com)在官方网页安装ova文件 打开VMware选择打开虚拟机&#xff0c;把下载好的ova文件放入在设置网络改为NAT模式 账号:wazuh-user 密码:wazuh ip a 查看ip 启动小皮 远程连接 账号admin …

BMP图片读写实践:rgb转bgr

本实理论上支持24位图和32位图&#xff0c;实际上只测试了24位。原理很简单&#xff0c;就是RGB中的蓝色字节和红色字节交换。 测试代码1&#xff1a; #include <stdio.h> #include <unistd.h> #include <sys/stat.h> #include <stdlib.h> #include &l…

pdf.js构建时,报Cannot read property ‘createChildCompiler‘ of undefined #177的解决方法

在本地和CI工具进行构建时&#xff0c;报如下错误。 Cannot read property createChildCompiler of undefined #177解决方法&#xff1a; 找到vue.config.js&#xff0c;在 module.exports {parallel: false, //新增的一行chainWebpack(config) {....config.module.rule(&…

Docker搭建Redis集群

Docker搭建Redis集群 一 、搭建Redis集群的优点 先说说单个redis的缺点&#xff1a; 1、单个redis具有不稳定性。当redis服务死机了或者redis服务被kill掉了&#xff0c;就没有可用的redis服务了。 2、单个redis的读写能力是有限的。 再根据单个redis服务的缺点谈谈redis集群的…

计算机视觉 – Computer Vision | CV

计算机视觉为什么重要&#xff1f; 人的大脑皮层&#xff0c; 有差不多 70% 都是在处理视觉信息。 是人类获取信息最主要的渠道&#xff0c;没有之一。 在网络世界&#xff0c;照片和视频&#xff08;图像的集合&#xff09;也正在发生爆炸式的增长&#xff01; 下图是网络上…

LVS集群 (四十四)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、集群概述 1. 负载均衡技术类型 2. 负载均衡实现方式 二、LVS结构 三、LVS工作模式 四、LVS负载均衡算法 1. 静态负载均衡 2. 动态负载均衡 五、ipvsadm命令详…

【分析绘图】R语言实现一些常见的绘图

微生信-在线绘图网站 线性图 library(ggplot2)x <- rnorm(100, 14, 5) # rnorm(n, mean 0, sd 1) y <- x rnorm(100, 0, 1) ggplot(data NULL, aes(x x, y y)) # 开始绘图geom_point(color "darkred") # 添加点annotate("text",x 13,…