hadoop 2.8.1 windows7 搭建过程

本文介绍了如何在Windows7环境下安装配置Hadoop 2.8.1,特别强调所有文件必须在同一磁盘分区下,以防出现YARN运行时权限错误。
摘要由CSDN通过智能技术生成

1、参照官方文档下载安装
protoc 2.5.0  window 并设置 path
cmake 配置path
zlib 设置 zlib.dll 的 path
vs msbuild 2010  设置path
maven 设置path 和 maven_home
jdk 1.7+ 设置 jdk path 和 java_home 
gcywin 设置 bin 的 path
配置 HADOOP_HOME 和 path

生成hadoop:

set Platform=x64
mvn package -Pdist,native-win -DskipTests -Dtar


如果 是msbuild == 2010 略过

最后输出文件在:hadoop-2.8.1-src\hadoop-dist\target


注意:如果msbuild > 2010 版本
1、hadoop-common-project\hadoop-common\src\main\winutils
修改 winutils.sln line1, line2 : 为当前msbuild版本


修改 winutils.vcxproj  ToolVersion=msbuild版本,主机projectguid 添加 <PlatformToolset>v140</PlatformToolset>


修改 libwinutils.vcxproj ToolVersion=msbuild版本 主机projectguid<PlatformToolset>v140</PlatformToolset>


修改 libwintuils.c 中 line33  L ##x--> #x


2、hadoop\hadoop-2.8.1-src\hadoop-common-project\hadoop-common\src\main\native
修改 native.sln line1, line2 : 为当前msbuild版本


修改 native.vcxproj  ToolVersion=msbuild版本,主机projectguid 添加 <PlatformToolset>v140</PlatformToolset>,在charset标签前添加 <PlatformToolset>v140</PlatformToolset>


3、hadoop-2.8.1-src\hadoop-hdfs-project\hadoop-hdfs-native-client
修改 pom.xml line137 为当前msbuild版本 Visual Studio 14
            line143 单引号改为双引号 &quot


 
运行hadoop:

注意文件目录放在一个盘符下 否则报错 yarnruntime exception permission


按照 https://wiki.apache.org/hadoop/Hadoop2OnWindows 配置并
配置 hadoop-env.cmd
添加CLASSPATH= %CLASSPATH%;%HADOOP_HOME%\share\hadoop\tools\lib\*;%HADOOP_HOME%\share\hadoop\hdfs\lib\*;%HADOOP_HOME%\share\hadoop\hdfs\*;%HADOOP_HOME%\share\hadoop\yarn\lib\*;%HADOOP_HOME%\share\hadoop\yarn\*;%HADOOP_HOME%\share\hadoop\common\lib\*;%HADOOP_HOME%\share\hadoop\common\*;%HADOOP_HOME%\share\hadoop\mapreduce\lib\*;%HADOOP_HOME%\share\hadoop\mapreduce\*;


运行配置文件: hadoop-env.cmd
注意项:java_home 中间的文件夹不能有空格


格式化namnenode:
在%HADOOP_HOME%下运行:%HADOOP_PREFIX%\bin\hdfs namenode -format


启动hdfs:
%HADOOP_PREFIX%\sbin\start-dfs.cmd

经测试,2.8.1不需要官方mapred-site.xml 
core_site.xml:
<property>
         <name>hadoop.tmp.dir</name>
         <value>/E:/hadoop/user/local/tmp</value>
         <description>Abase for other temporary directories.                   </description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:19000</value>
    </property>


hdfs_site.xml:
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>


    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/E:/hadoop/user/local/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/E:/hadoop/user/local/dfs/data</value>
    </property>


web查看: http://localhost:50070


异常:
重新格式化namenode再启动时异常,原因VERSION 里面 clusterId 不一致,修改一致即可
参考:http://www.cnblogs.com/lucius/p/3459367.html


启动yarn:

%HADOOP_PREFIX%\sbin\start-yarn.cmd
测试:
%HADOOP_PREFIX%\bin\yarn jar %HADOOP_PREFIX%\share\hadoop\mapreduce\hadoop-mapreduce-example
s-2.5.0.jar wordcount /myfile.txt /out
yarn_site.xml:
  <property>
    <name>yarn.server.resourcemanager.address</name>
    <value>localhost:8020</value>
  </property>


  <property>
    <name>yarn.server.resourcemanager.application.expiry.interval</name>
    <value>60000</value>
  </property>


  <property>
    <name>yarn.server.nodemanager.address</name>
    <value>localhost:45454</value>
  </property>


  <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.server.nodemanager.remote-app-log-dir</name>
    <value>/E:/hadoop/app-logs</value>
  </property>


  <property>
    <name>yarn.nodemanager.log-dirs</name>
    <value>/E:/hadoop/dep/logs/userlogs</value>
  </property>


  <property>
    <name>yarn.server.mapreduce-appmanager.attempt-listener.bindAddress</name>
    <value>localhost</value>
  </property>


  <property>
    <name>yarn.server.mapreduce-appmanager.client-service.bindAddress</name>
    <value>localhost</value>
  </property>


  <property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
  </property>


  <property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>2</value>
  </property>


  <property>
    <name>yarn.application.classpath</name>
    <value>%HADOOP_CONF_DIR%,%HADOOP_COMMON_HOME%/share/hadoop/common/*,%HADOOP_COMMON_HOME%/share/hadoop/common/lib/*,%HADOOP_HDFS_HOME%/share/hadoop/hdfs/*,%HADOOP_HDFS_HOME%/share/hadoop/hdfs/lib/*,%HADOOP_MAPRED_HOME%/share/hadoop/mapreduce/*,%HADOOP_MAPRED_HOME%/share/hadoop/mapreduce/lib/*,%HADOOP_YARN_HOME%/share/hadoop/yarn/*,%HADOOP_YARN_HOME%/share/hadoop/yarn/lib/*</value>
  </property>


web查看:http://localhost:8042
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值