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

先期准备:

  • 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
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>    
</configuration>
  • hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>    
        <name>dfs.namenode.name.dir</name>    
        <value>file:/hadoop/data/dfs/namenode</value>    
    </property>    
    <property>    
        <name>dfs.datanode.data.dir</name>    
        <value>file:/hadoop/data/dfs/datanode</value>  
    </property>
    <property>
        <name>dfs.http.address</name>
        <value>0.0.0.0:50070</value>
    </property>
</configuration>
  • mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
  • 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>
</configuration>

4、格式化nodename再启动hadoop:
启动windows命令行窗口,进入hadoop-2.9.0\bin目录,执行下面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:\toolsoftware\hadoop-2.8.3\share\hadoop\mapreduce\hadoop-mapreduce-examples-*.jar wordcount /hdfs_in /hdfs_out
  • 使用python运行wordcount任务(不加file参数也行)
hadoop jar E:\toolsoftware\hadoop-2.8.3\share\hadoop\tools\lib\hadoop-streaming-2.8.3.jar -D stream.non.zero.exit.is.failure=flase  -file E:/toolsoftware/hadoop/test/code/mapper.py -mapper "C:\Python36\python3.exe E:\toolsoftware\hadoop\test\code\mapper.py" -file E:/toolsoftware/hadoop/test/code/reducer.py  -reducer "C:\Python36\python3.exe E:\toolsoftware\hadoop\test\code\reducer.py" -input /hdfs_in -output /hdfs_out

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

hadoop fs -rmr /hdfs_out

问题汇总

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 终极算法 关注微信号每天收听我们的消息终极算法为您推送精品阅读 前言 Hadoop 在大数据技术体系中的地位至关...
    Yespon阅读 130,700评论 12 168
  • 一、系统参数配置优化 1、系统内核参数优化配置 修改文件/etc/sysctl.conf,添加如下配置,然后执行s...
    张伟科阅读 9,182评论 0 14
  • (搭建集群部分借鉴了kiwenlau/hadoop-cluster-docker中的内容,不过那里的基础环境是Ub...
    ProteanBear阅读 9,295评论 0 12
  • 我们时常会犯一个错误,那就是对越亲近的人越不在乎他的感受,伤害的越深。问其原因,许多人还会不屑一顾的说都是自己人无...
    西贝悠哉阅读 4,490评论 0 0
  • 读杨绛先生的书,读到这样一个故事;“我和钟书在出国的轮船上曾吵过一架,原因只为一个法文的读音。 我说他的口...
    b1de6864b423阅读 1,527评论 1 1