共计 8911 个字符,预计需要花费 23 分钟才能阅读完成。
Windows 10 下安装 Hadoop2.6,Windows10 下编译 64 位 Hadoop2.x。详细记录了 Windows10 版本下对 Hadoop 的编译、安装步骤,以及相关包或者软件下载安装过程。
-
不需要在 Cygwin 下安装 Hadoop,官方也不推荐使用 Cygwin。
-
Hadoop 版本支持情况:Hadoop 2.2 版本起包括 Windows 的原生支持。截至 2014 年一月份,官方的 Apache Hadoop 的版本不包括 Windows 二进制文件。
-
Windows 版本支持情况:Hadoop 官方人员开发、测试环境分别是 32 的 Windows Server 2008 和 32 位的 Windows Server 2008 R2。因为服务器型号 win32 位的 API 相似,所以官方推测 Windows7 或者 Windows Vista 应该也是支持的。Windows XP Hadoop 官方不测试也不支持。
总之,Windows 版本的 Hadoop 需要在 2.2 之后可自行编译,并且不支持 Windows XP,在其他 Windows 平台下,官方不予严格的支持(仅仅提供二进制文件,部分组件需要自行编译)。
以下内容是具体实施,Hadoop 集群在 Windows 环境下支持情况调研与测试部署,罗列了 Windows 实际部署情况,以及所遇到的问题和解决方案。
1. 自行编译 Windows 环境的二进制包
Requirements:
* Windows System
* JDK 1.6+
* Maven 3.0 or later
* Findbugs 1.3.9 (if running findbugs)
* ProtocolBuffer 2.5.0
* CMake 2.6 or newer
* Windows SDK or Visual Studio 2010 Professional
* Unix command-line tools from GnuWin32 or Cygwin: sh, mkdir, rm, cp, tar, gzip
* zlib headers (if building native code bindings for zlib)
* Internet connection for first build (to fetch all Maven and Hadoop dependencies)
1. 配置编译环境
1.1. 设置 JDK 环境
JAVA_HOME 设置
jdk 设置 path
1.2. 安装编译工具 maven
下载 maven 的 zip 包 将 maven 的根目录放置系统变量 path 中
测试 mvn -v
1.3. 安装 ProtocolBuffer
下载 先切换到带有 pom 文件路径中
cd E:\IDE\protobuf-3.0.0-beta-3\java
通过 mvn 安装 mvn test 测试 mvn install
1.4. 安装 CMake
下载 安装即可。
1.5. 安装 visual studio 2010 之后(直接下载安装,不再赘述)或者安装 Windows SDK
下面关于 Hadoop 的文章您也可能喜欢,不妨看看:
CentOS7.2 下 Hadoop2.7.2 集群搭建 http://www.linuxidc.com/Linux/2016-07/133644.htm
Ubuntu14.04 下 Hadoop2.4.1 单机 / 伪分布式安装配置教程 http://www.linuxidc.com/Linux/2015-02/113487.htm
CentOS 安装和配置 Hadoop2.2.0 http://www.linuxidc.com/Linux/2014-01/94685.htm
Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm
Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm
Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm
Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm
单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm
2. 编译安装
设置环境编译环境位数 set Platform=x64 (when building on a 64-bit system) set Platform=Win32 (when building on a 32-bit system) 设置安装包环境 设置环境变量添加至将 ZLIB_HOME 至环境变量中 set ZLIB_HOME=C:\zlib-1.2.7 mvn 编译命令
mvn package -Pdist,native-win -DskipTests -Dtar
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2016-08/134131p2.htm
3. 部署 Hadoop on Windows
3.1 源码
core-site.xml 源码
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://0.0.0.0:19000</value>
</property>
</configuration>
Hadoop-env.cmd 源码
set HADOOP_PREFIX=E:\bigdata\hadoop
set HADOOP_CONF_DIR=%HADOOP_PREFIX%\etc\hadoop
set YARN_CONF_DIR=%HADOOP_CONF_DIR%
set PATH=%PATH%;%HADOOP_PREFIX%\bin
hdfs-site.xml 源码
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
mapre-site.xml 源码
<configuration>
<property>
<name>mapreduce.job.user.name</name>
<value>wxl</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>yarn.apps.stagingDir</name>
<value>/user/wxl/staging</value>
</property>
<property>
<name>mapreduce.jobtracker.address</name>
<value>local</value>
</property>
</configuration>
yarn-site.xml 源码
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.server.resourcemanager.address</name>
<value>0.0.0.0:8020</value>
</property>
<property>
<name>yarn.server.resourcemanager.application.expiry.interval</name>
<value>60000</value>
</property>
<property>
<name>yarn.server.nodemanager.address</name>
<value>0.0.0.0: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>/app-logs</value>
</property>
<property>
<name>yarn.nodemanager.log-dirs</name>
<value>/dep/logs/userlogs</value>
</property>
<property>
<name>yarn.server.mapreduce-appmanager.attempt-listener.bindAddress</name>
<value>0.0.0.0</value>
</property>
<property>
<name>yarn.server.mapreduce-appmanager.client-service.bindAddress</name>
<value>0.0.0.0</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>-1</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>
</configuration>
slaves 源码
localhost
3.2 初始化环境变量,运行 hadoop-env.cmd 文件(双击、或着回车执行)
E:\bigdata\hadoop\etc\hadoop\hadoop-env.cmd
3.3 格式化 namenode
%HADOOP_PREFIX%\bin\hdfs namenode -format
![successfully formatted](../Imgs/HadoopforWindows/successfully formatted.png)
3.4 启动 namenode 和 datanode
%HADOOP_PREFIX%\sbin\start-dfs.cmd
会弹出两个 cmd 窗口,分别是 datanode 和 namenode。查看是否启动成功,在原先窗口输入 jps 查看,如图。
3.5 运行 hdfs 命令,上传一个文件 在当前 cmd 目录下,如 bigdata 下创建一个 myfile.text 文件 执行
%HADOOP_PREFIX%\bin\hdfs dfs -put myfile.txt /
查看上传的文件信息执行
%HADOOP_PREFIX%\bin\hdfs dfs -ls /
4. Hadoop YARN
4.1 启动 YARN
%HADOOP_PREFIX%\sbin\start-yarn.cmd
输入 jps 命令可查看当前启动的节点,如图
4.2 运行一个小例子 world count
%HADOOP_PREFIX%\bin\yarn jar %HADOOP_PREFIX%\share\hadoop\mapreduce\hadoop-mapreduce-examples-2.6.4.jar wordcount /myfile.txt /out
4.3 web 端查看 Hadoop 作业 http://localhost:8088/cluster
5. 结束 Hadoop
%HADOOP_PREFIX%\sbin\stop-yarn.cmd
%HADOOP_PREFIX%\sbin\stop-dfs.cmd
6. 遇到问题请看下面解决方案,坑都在这里了:
6.1 . 运行以下命令出错
mvn package -Pdist,native-win -DskipTests -Dtar
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (pre-dist) on project hadoop-project-dist: An Ant BuildException has occured: Execute failed: java.io.IOException: Cannot run program“sh”(in directory“E:\bigdata\hadoop\hadoop-project-dist\target”): CreateProcess error=2, 系统找不到指定的文件。
6.2‘-Xmx512m’is not recognized as an internal or external command
给出 stackoverflow 上大神的解决方法
6.3 . 节点启动失败
org.apache.hadoop.io.nativeio.NativeIOWindows.acce![org.apache.hadoop.io.nativeio.NativeIO Windows.access0](../Imgs/HadoopforWindows/log_org.apache.hadoop.io.nativeio.NativeIO$Windows.access0.png)
解决:下载 Hadoop2.6.4 bin 编译的包,并且复制到 Hadoop 目录的 bin 目录下。
![org.apache.hadoop.io.nativeio.NativeIO$Windows.access0](../Imgs/HadoopforWindows/log_org 解决 apache.hadoop.io.nativeio.NativeIO$Windows.access0.png)
官方 wiki 解决方案
6.4 . 运行 worldcount 出错
Application application_1467703817455_0002 failed 2 times due to AM Container for appattempt_1467703817455_0002_000002 exited with exitCode: -1000 For more detailed output, check application tracking page:http://DESKTOP-KV0K24Q:8088/proxy/application_1467703817455_0002/Then, click on links to logs of each attempt. Diagnostics: Failed to setup local dir /tmp/hadoop-wxl/nm-local-dir, which was marked as good. Failing this attempt. Failing the application.
log_Failed while trying to construct the redirect url to the log server.png
解决方案:权限问题
Mapreduce error: Failed to setup local dir
更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-08/134131.htm
Windows 10 下安装 Hadoop2.6,Windows10 下编译 64 位 Hadoop2.x。详细记录了 Windows10 版本下对 Hadoop 的编译、安装步骤,以及相关包或者软件下载安装过程。
-
不需要在 Cygwin 下安装 Hadoop,官方也不推荐使用 Cygwin。
-
Hadoop 版本支持情况:Hadoop 2.2 版本起包括 Windows 的原生支持。截至 2014 年一月份,官方的 Apache Hadoop 的版本不包括 Windows 二进制文件。
-
Windows 版本支持情况:Hadoop 官方人员开发、测试环境分别是 32 的 Windows Server 2008 和 32 位的 Windows Server 2008 R2。因为服务器型号 win32 位的 API 相似,所以官方推测 Windows7 或者 Windows Vista 应该也是支持的。Windows XP Hadoop 官方不测试也不支持。
总之,Windows 版本的 Hadoop 需要在 2.2 之后可自行编译,并且不支持 Windows XP,在其他 Windows 平台下,官方不予严格的支持(仅仅提供二进制文件,部分组件需要自行编译)。
以下内容是具体实施,Hadoop 集群在 Windows 环境下支持情况调研与测试部署,罗列了 Windows 实际部署情况,以及所遇到的问题和解决方案。
1. 自行编译 Windows 环境的二进制包
Requirements:
* Windows System
* JDK 1.6+
* Maven 3.0 or later
* Findbugs 1.3.9 (if running findbugs)
* ProtocolBuffer 2.5.0
* CMake 2.6 or newer
* Windows SDK or Visual Studio 2010 Professional
* Unix command-line tools from GnuWin32 or Cygwin: sh, mkdir, rm, cp, tar, gzip
* zlib headers (if building native code bindings for zlib)
* Internet connection for first build (to fetch all Maven and Hadoop dependencies)
1. 配置编译环境
1.1. 设置 JDK 环境
JAVA_HOME 设置
jdk 设置 path
1.2. 安装编译工具 maven
下载 maven 的 zip 包 将 maven 的根目录放置系统变量 path 中
测试 mvn -v
1.3. 安装 ProtocolBuffer
下载 先切换到带有 pom 文件路径中
cd E:\IDE\protobuf-3.0.0-beta-3\java
通过 mvn 安装 mvn test 测试 mvn install
1.4. 安装 CMake
下载 安装即可。
1.5. 安装 visual studio 2010 之后(直接下载安装,不再赘述)或者安装 Windows SDK
下面关于 Hadoop 的文章您也可能喜欢,不妨看看:
CentOS7.2 下 Hadoop2.7.2 集群搭建 http://www.linuxidc.com/Linux/2016-07/133644.htm
Ubuntu14.04 下 Hadoop2.4.1 单机 / 伪分布式安装配置教程 http://www.linuxidc.com/Linux/2015-02/113487.htm
CentOS 安装和配置 Hadoop2.2.0 http://www.linuxidc.com/Linux/2014-01/94685.htm
Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm
Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm
Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm
Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm
单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm
2. 编译安装
设置环境编译环境位数 set Platform=x64 (when building on a 64-bit system) set Platform=Win32 (when building on a 32-bit system) 设置安装包环境 设置环境变量添加至将 ZLIB_HOME 至环境变量中 set ZLIB_HOME=C:\zlib-1.2.7 mvn 编译命令
mvn package -Pdist,native-win -DskipTests -Dtar
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2016-08/134131p2.htm