设为首页 加入收藏

TOP

Hadoop 2.8 在 windows 平台上的搭建(单节点)
2018-11-30 00:47:52 】 浏览:134
Tags:Hadoop 2.8 windows 台上 搭建 节点
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/rav009/article/details/70214788

Hadoop 2.0及以后的版本可以直接在windows上跑, 不用cygwin了, 凡是讲cygwin的攻略都可以忽略.


关于环境变量: 我实验下来要加的唯一一个环境变量是系统变量里的Path, 往里加上Hadoop的bin目录的路径.


关于winutils: 除了Hadoop安装包和JDK外,还要下载的一个第三方工具是名为winutils的一套类库, 下载地址:

https://github.com/steveloughran/winutils

注意比如你hadoop下载的是2.8版本, 那么这个类库你也要用2.8的. 下载完了把里面所有的dll等文件都覆盖到hadoop目录的bin子目录下去.


关于hadoop的配置: 在hadoop目录下的etc/hadoop下找到大量配置文件, 文件后缀名为sh的是linux环境用的, cmd的就是windows的脚本,先要配置hadcoop-env.cmd: 这个文件唯一要配置的地方是:

 set JAVA_HOME=C:\Java\jdk1.8.0_121

尤其要注意的一点是如果你的Java装在Program Files这样带空格的文件夹下的话, 一定要把这个文件夹命名为不带空格的名字, 或者用 "C:\PROGRA~1" 来表示 "C:\Program Files", 否则会报错, 这是一个坑.


4个xml文件的配置:

C:\hadoop\etc\hadoop\core-site.xml (该文件里面都是一些通用配置)

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

fs.defaultFS/fs.default.name in core-site.xml is to allow dfs commands without providing full site name in the command. Runninghdfs dfs -ls /instead ofhdfs dfs -ls hdfs://hdfs/ (缺省根目录名)

真正的生产环境中建议加一个property:hadoop.tmp.dir, 参考:http://blog.csdn.net/bluetropic/article/details/9493995

C:\hadoop\etc\hadoop\hdfs-site.xml(该文件是一些与hdfs有关的配置项,这里别忘了预先建立好datanode和namenode两个目录, 本例中他们在hadoop所在盘符下的hadoop/data/dfs/目录下)

<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>
</configuration>

C:\hadoop\etc\hadoop\mapred-site.xml(mapred-site.xml.template去掉template后缀名而来)

<configuration>
        <property>
           <name>mapreduce.framework.name</name>
           <value>yarn</value>
        </property>
</configuration>

C:\hadoop\etc\hadoop\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>

这里可能会发生端口占用的问题, 比如之前一次运行的hadoop没有退出还占着端口, 可以用netstat 找到占用端口的进程, kill掉, 或者干脆重启电脑.

运行hadoop:

cd X:/hadoop-2.8.0/bin
hadoop namenode -format  #一定先要格式化hdfs!!!!!

cd X:/hadoop-2.8.0/sbin


start-dfs.cmd   #先启动dfs
start-yarn.cmd  #再启动yarn
	
start-all.cmd  #等于上面两条命令的组合

stop-dfs.cmd
stop-yarn.cmd

如果报/tmp下某些文件没有权限, 可以以管理员身份来运行cmd, 去运行上面的脚本.


此外成功运行后可以到两个URL去看Hadoop运行状态:

http://localhost:8088/



http://localhost:50070/


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇hadoop新版的api接口实现启动运行.. 下一篇【Hadoop需要的Jar包】

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目