zl程序教程

您现在的位置是:首页 >  后端

当前栏目

win10下配置hadoop2.9(使用python单机运行任务)

Python配置win10 运行 任务 单机 使用
2023-09-11 14:16:27 时间

先期准备:

java环境已安装

着手开始:

1、下载hadoop稳定版:http://hadoop.apache.org/->左边点Releases->点mirror site->http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common->stable/->hadoop-2.9.0.tar.gz 点击即可下载。

2、解压并配置hadoop环境,新建HADOOP_HOME和修改PATH。

3、进入解压后目录的etc/hadoop/中,修改配置4个文件:

core-site.xml

fs.defaultFS

hdfs://localhost:9000

hdfs-site.xml

dfs.replication

1

dfs.namenode.name.dir

file:/hadoop/data/dfs/namenode

dfs.datanode.data.dir

file:/hadoop/data/dfs/datanode

dfs.http.address

0.0.0.0:50070

mapred-site.xml

mapreduce.framework.name

yarn

yarn-site.xml

yarn.nodemanager.aux-services

mapreduce_shuffle

yarn.nodemanager.aux-services.mapreduce.shuffle.class

org.apache.hadoop.mapred.ShuffleHandler

4、格式化nodename再启动hadoop:

启动windows命令行窗口,进入hadoop-2.9.0in目录,执行下面2条命令,先格式化namenode再启动hadoop。

bin/hadoop namenode -format

sbin/start-all.cmd

检查验证

使用jps命令查看

9568 ResourceManager

10676 Jps

9576 NodeManager

10316 NameNode

通过jps命令可以看到4个进程都拉起来了,到这里hadoop的安装启动已经完事了。接着我们可以用浏览器到localhost:8088看mapreduce任务,到localhost:50070->Utilites->Browse the file system看hdfs文件。如果重启hadoop无需再格式化namenode,只要stop-all.cmd再start-all.cmd就可以了。

管理界面:http://localhost:8088

mapreduceJob界面:http://localhost:50030(2.0+新端口是8088)

HDFS 文件系统界面:http://localhost:50070(3.0+新端口是9870)

运行例子(wordcount)

hdfs上新建文件夹:

hadoop fs -mkdir /hdfs_in

查看hdfs上的文件夹是否建立成功:

hadoop fs -ls /

上传txt文件:

hadoop fs -put ./* /hdfs_in

运行hadoop内置示例wordcount任务

hadoop jar E: oolsoftwarehadoop-2.8.3sharehadoopmapreducehadoop-mapreduce-examples-*.jar wordcount /hdfs_in /hdfs_out

使用python运行wordcount任务(不加file参数也行)

hadoop jar E: oolsoftwarehadoop-2.8.3sharehadoop oolslibhadoop-streaming-2.8.3.jar -D stream.non.zero.exit.is.failure=flase -file E:/toolsoftware/hadoop/test/code/mapper.py -mapper “C:Python36python3.exe E: oolsoftwarehadoop estcodemapper.py” -file E:/toolsoftware/hadoop/test/code/reducer.py -reducer “C:Python36python3.exe E: oolsoftwarehadoop estcode educer.py” -input /hdfs_in -output /hdfs_out

若运行失败,需要先删除输出文件夹

hadoop fs -rmr /hdfs_out

问题汇总

问题1:datanode启动不起来。

在第一次格式化dfs后,启动并使用了hadoop,后来又重新执行了格式化命令(hdfs namenode -format),这时namenode的clusterID会重新生成,而datanode的clusterID 保持不变。