×

windows环境搭建hadoop伪集群

96
风澈vio
2018.08.19 23:29 字数 875

  在当前日益兴盛的大数据(big data)时代,hadoop和它的生态体系从中脱颖问出,因为我们开发环境大多在windows上,但因安全策略限制等原因不方便用虚拟机运行Linux和租用云服务器怎么办,不要慌,windows同样可以完美搭建起来hadoop的环境。

环境

windows 7-64bit
jdk-1.8.0_161
hadoop-2.7.1

操作步骤

一、下载并安装jdk

下载和安装的过程就不多说了,需要注意的是记得设置好JAVA_HOME系统环境变量,因为hadoop的配置文件中用到了这个参数。

我采用的jdk是1.8的,配置JAVA_HOME,如果默认安装,会安装在C:\Program Files\Java\jdk1.8.0_161。此目录存在空格,启动hadoop时将报错,JAVA_HOME is incorrect ...。建议安装在D:\Java\jdk1.8.0_161,如果已经安装过了,也不用怕,此时只需要将环境变量JAVA_HOME值中的Program Files替换为Progra~1。如:C:\Progra~1\Java\jdk1.8.0_161

二、安装配置hadoop

1、下载

http://hadoop.apache.org/
https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common
官网和各镜像站提供了最新版本的各个下载包
http://archive.apache.org/dist/hadoop/core
这边我从归档站下载了hadoop-2.7.1的tar包

2、解压并配置环境变量

复制到D盘根目录直接解压,出来一个目录D:\hadoop-2.7.1,配置到环境变量HADOOP_HOM中,在PATH里加上%HADOOP_HOME%\bin;

3、下载windows专用二进制文件和工具类依赖库

hadoop在windows上运行需要winutils支持和hadoop.dll等文件
https://github.com/steveloughran/winutils
在github仓库中找到对应版本的二进制库hadoop.dllwinutils.exe文件,然后把文件拷贝到D:\hadoop-2.7.1\bin目录中去

注意hadoop.dll等文件不要与hadoop冲突,若出现依赖性错误可以将hadoop.dll放到C:\Windows\System32下一份。

4、hadoop环境测试

启动windows cmd命令行窗口执行hadoop version,显示如下:

5、最小化配置hadoop伪集群

D:\hadoop-2.7.1\etc\hadoop找到下面4个文件并按如下最小配置粘贴上去:

core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>    
</configuration>

hdfs-site.xml (将value的路径改为自己的路径,盘符/d:/的前后都有正斜杠)

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>    
        <name>dfs.namenode.name.dir</name>    
        <value>/d:/hadoop-2.7.1/data/dfs/namenode</value>    
    </property>    
    <property>    
        <name>dfs.datanode.data.dir</name>    
        <value>/d:/hadoop-2.7.1/data/dfs/datanode</value>  
    </property>
</configuration>

mapred-site.xml (拷贝mapred-site.xml.template并改名)

<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>
6、格式化namenode并启动hadoop

启动windows cmd命令行窗口执行hdfs namenode -format,待执行完毕没有报错即可,不需要重复format:

执行完毕后hadoop目录会多出data文件夹:

格式化完成后到hadoop的sbin目录下执行start-all.cmd启动hadoop

再启动一个新的windows cmd命令行窗口执行jps

通过jps命令可以看到ResourceManager、NameNode、NodeManager、DataNode这4个进程都拉起来了,到这里hadoop的安装启动已经完成了。

接着我们可以用浏览器
localhost:8088看mapreduce任务

localhost:50070 --> Utilites --> Browse the file system看hdfs文件。

如果需要重启hadoop无需再格式化namenode,只要stop-all.cmdstart-all.cmd就可以了。


参考文档:
https://wiki.apache.org/hadoop/Hadoop2OnWindows

大数据
Web note ad 1