文章

windows下搭建hadoop

windows下搭建hadoop下载环境变量windows 脚本替换配置windows权限启动单词统计实例下载首先去Apache Hadoop下载hadoop的安装包选择二进制文件即可选择国内镜像增加下载速度下载后解压到文件夹环境变量设置环境变量HADOOP_HOME然后把HADOOP_HOME加入Path中打开cmd,输入hadoop version验证windows 脚本替换到cdarlint/winutils: winutils.exe hadoop.dll and_windows下搭建hadoop

windows下搭建hadoop

文章信息

  • 原文链接:https://jiayq.blog.csdn.net/article/details/122483139
  • 发布时间:2022-01-13 21:26:23
  • 阅读量:3
  • 分类:大数据同时被 2 个专栏收录, 订阅专栏, hadoop
  • 标签:#hadoop, #windows, #hdfs

摘要

文章浏览阅读3k次,点赞2次,收藏23次。windows下搭建hadoop下载环境变量windows 脚本替换配置windows权限启动单词统计实例下载首先去Apache Hadoop下载hadoop的安装包选择二进制文件即可选择国内镜像增加下载速度下载后解压到文件夹环境变量设置环境变量HADOOP_HOME然后把HADOOP_HOME加入Path中打开cmd,输入hadoop version验证windows 脚本替换到cdarlint/winutils: winutils.exe hadoop.dll and_windows下搭建hadoop


windows下搭建hadoop

  • 下载
  • 环境变量
  • windows 脚本替换
  • 配置
  • windows权限
  • 启动
  • 单词统计实例

下载

首先去Apache Hadoop下载hadoop的安装包

image-20220113204924262

选择二进制文件即可

image-20220113204948024

选择国内镜像增加下载速度

image-20220113205014208

下载后解压到文件夹

image-20220113205041639

环境变量

设置环境变量HADOOP_HOME

image-20220113205555625

然后把HADOOP_HOME加入Path

image-20220113205210882

打开cmd,输入hadoop version验证

image-20220113205621711

windows 脚本替换

cdarlint/winutils: winutils.exe hadoop.dll and hdfs.dll binaries for hadoop windows (github.com)下载全部版本的脚本,并解压

image-20220113205423153

需要注意的是,尽可能选择这里面有的hadoop版本。比如2.9.2版本。

image-20220113205650139

将里面的文件全部拷贝到hadoop下的bin目录中,并选择替换

image-20220113205729556

配置

首先在hadoop目录下创建一个临时文件夹,用于hadoop存储临时文件。

否则hadoop默认会在c盘创建临时文件夹,这时会因为权限的问题,导致无法创建,所以最好是在hadoop目录下创建临时文件夹,而且尽可能不要把hadoop放在C盘。

配置core-site.xml

1
2
3
4
5
6
7
8
9
10
<configuration>
  <property>
    <name>fs.defaultFS</name>
	<value>hdfs://localhost:9820</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
	<value>/E:/hadoop/hadoop-2.9.2/tmp</value>
  </property>
</configuration>

接着在hadoop目录下创建data文件夹,用于hadoop存储持久化数据,在data目录下创建namenode和datanode文件夹

配置hdfs-site.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<configuration>
  <property>
    <name>dfs.replication</name>
	<value>1</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
	<value>file:///E:/hadoop/hadoop-2.9.2/data/namenode</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
	<value>file:///E:/hadoop/hadoop-2.9.2/data/datanode</value>
  </property>
  <property>
    <name>dfs.namenode.http-address</name>
	<value>http://localhost:9870</value>
  </property>
</configuration>

配置mapred-site.xml

1
2
3
4
5
6
<configuration>
  <property>
    <name>mapreduce.framework.name</name>
	<value>yarn</value>
  </property>
</configuration>

配置yarn-site.xml

1
2
3
4
5
6
7
8
9
<configuration>

<!-- Site specific YARN configuration properties -->
  <property>
    <name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
	<description>Yarn Node Manager Aux Service</description>
  </property>
</configuration>

注意上述文件如果在hadoop/etc/hadoop下无法找到的,请找到相同文件名的.template文件拷贝,并删除.tamplate后缀

windows权限

此时直接启动,会出现创建符号的异常,这是因为在window系统中,只有管理员才能创建符号链接。

此时有两种解决方式,第一种使用管理员的cmd启动hadoop/sbar/start-all.cmd;第二种是给自己登录的用户赋予创建符号链接的权限。

第一种,使用管理员的cmd

image-20220113210523890

第二种,使用win+r打开运行,输入gpedit.msc,在【计算机配置】-【Windows设置】-【安全设置】-【本地策略】-【用户权限分配】-【创建符号链接】中加入自己登录的用户或用户组,然后重启系统生效。

启动

第一次启动需要初始化名字节点,初始化名字节点之前请确保hadoop/data/namenode文件夹为空,然后在cmd(管理员)中输入hadoop namenode -format请注意空格。

image-20220113210918858

这样就初始化成功了。

然后切换到hadoop所在的驱动器,并切换到hadoop目录下

image-20220113211008038

接着进入sbin目录,并启动start-all.cmd

image-20220113211039013

接着会启动4个cmd窗口

image-20220113211119634

这样就启动成功了

接着在浏览器中访问http://localhost:9870验证

image-20220113211206943

单词统计实例

我们首先创建三个txt文件

image-20220113211259649

然后给文件里面随便写点东西,接着在hadoop的hdfs中创建/input目录(这里可以使用普通的cmd)

hadoop fs -mkdir /input

image-20220113211421727

接着把三个txt文件上传到hdfs中

hadoop fs -put yourpath\1.txt /input

hadoop fs -put yourpath\2.txt /input

hadoop fs -put yourpath\2.txt /input

image-20220113211549291

然后查看

hadoop fs -ls /input

image-20220113211706327

你也可以在浏览器中查看

image-20220113211735868

image-20220113211747207

image-20220113211756078

image-20220113211805426

接着调用单词统计的例子

image-20220113211853264

执行命令hadoop jar yourPath\share\hadoop\mapreduce\hadoop-mapreduce-examples-2.9.2.jar wordcount /input /output

就会开始执行

image-20220113212240902

等待一会执行完毕即可

image-20220113212308137

执行的结果会保存在hdfs的/output目录下

hadoop fs -ls /output

image-20220113212353519

查看结果

hadoop fs -cat /output/part-r-ooooo

image-20220113212540290

本文由作者按照 CC BY 4.0 进行授权