Win7 64位系统上Hadoop单机模式的安装及开发环境搭建

时间:2024-02-22 15:13:43

现在在window系统中安装hadoop,不需要再安装Cygwin等复杂的步骤,安装部署比以前简单了很多,以下是详细步骤:

1:安装JDK,设置好环境变量:

例如安装JDK1.8.0_144,在环境变量中添加JAVA_HOME: D:\Application\Java\jdk1.8.0_144,然后在Path中添加路径:

%JAVA_HOME%;%JAVA_HOME%\bin

2:下载Hadoop2.7.4 (https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.7.4/),并解压到系统某个目录,例如:D:\Application\hadoop-2.7.4

3:下载window util for hadoop (https://codeload.github.com/gvreddy1210/bin/zip/master,请注意需要与window系统的32位或64位一致),解压后覆盖到hadoop\bin目录,(如果在测试中有问题,请将hadoop.dll拷贝到C:\\Window\system32目录,本人在测试中没有遇到问题,所以没有拷贝),另外,此util与具体的hadoop版本是有关的,如果选用不同的hadoop版本,需要找到正确的util,目前hadoop并没有提供window util,所以如果无法在网上找到合适的版本,那需要自己编译 (附:window util 编译的方法:Apache Hadoop 2.7.1 binary for Windows 64-bit platform

4:添加环境变量 HADOOP_HOME:D:\Application\hadoop-2.7.4 ,并添加到Path路径:%HADOOP_HOME%\bin

5:创建namenode及datanode目录,用来保存数据,例如 D:\Application\hadoop-2.7.4\data\namenode, D:\Application\hadoop-2.7.4\data\datanode

6:hadoop 相关配置文件设置,涉及到4个主要的配置文件:core-site.xml, hdfs-site.xml, mapped-site.xml, yarn-site.xml

  • 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>/D:/Application/hadoop-2.7.4/data/namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/D:/Application/hadoop-2.7.4/data/datanode</value>
    </property>
</configuration>
  • mapped-site.xml:
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
  • yarn-site.xml: 
<configuration>
    <!-- Site specific YARN configuration properties -->
    <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.scheduler.minimum-allocation-mb</name>
        <value>1024</value>
    </property>
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>4096</value>
    </property>
    <property>
        <name>yarn.nodemanager.resource.cpu-vcores</name>
        <value>2</value>
    </property>
</configuration>

7:上面步骤完成设置后,就可以试着运行hadoop了

格式化namenode:进入到hadoop\bin目录,执行命令:hadoop namenode -format

启动或停止hadoop:进入到sbin目录,执行命令:start-all.cmd 或者 stop-all.cmd

查看进程:在命令行执行jps,在我的系统中能看到起来了几个进程,但没有具体信息,这个和用户权限有关

查看mapreduce job:localhost:8088

查看hdfs 文件系统:localhost:50070

8:测试hadoop自带的wordcount

进入到hadoop\bin目录,创建hdfs input文件夹,将本地文件上传到hdfs

hdfs dfs -mkdir /input

hdfs dfs -put /D:/people.txt /input

然后可以开始运行wordcount了:

hadoop jar /D:\Application\hadoop-2.7.4\share\hadoop\mapreduce\hadoop-mapreduce-examples-2.7.4.jar wordcount input output

以下是运行过程的控制台的输出及job 和 hdfs 的界面