Windows单机安装hadoop

你。 提交于 2020-02-10 03:32:37

版本信息

  • Hadoop 3.2.0
  • java version "1.8.0_201"
  • Windows 7专业版,64位

安装过程

jdk安装

下载jdk,解压到目录,D:\Java\jdk1.8.0_201

环境变量设置

JAVA_HOME=D:\Java\jdk1.8.0_201
Path增加:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

注意:java安装路径中不要存在空格,否则后续hadoop启动时可能会出现问题,具体参考以下博客:
Windows环境下执行hadoop命令出现Error: JAVA_HOME is incorrectly set

hadoop安装

下载hadoop,解压到目录,D:\BigData\hadoop\hadoop-3.2.0

环境变量设置

HADOOP_HOME=D:\BigData\hadoop\hadoop-3.2.0
Path增加:%HADOOP_HOME%\bin;%HADOOP_HOME%\sbin;

下载hadoop的windows版本二进制文件

下载地址:
目前提供了最高3.0.0版本的二进制文件
3.1.0版本的二进制文件

本文使用的是hadoop3.2.0版本,用的是3.1.0的二进制文件,也能正常运行,但如果用的是3.0.0版本的二进制文件,启动yarn时会报错。下载完成后,用整个bin目录,替换本地hadoop3.2.0中的bin目录

修改配置文件(位于目录,D:\BigData\hadoop\hadoop-3.2.0\etc\hadoop)

hadoop-env.cmd

文件后面增加以下配置

set HADOOP_PREFIX=%HADOOP_HOME%
set HADOOP_CONF_DIR=%HADOOP_PREFIX%\etc\hadoop
set YARN_CONF_DIR=%HADOOP_CONF_DIR%
set PATH=%PATH%;%HADOOP_PREFIX%\bin
set HADOOP_COMMON_HOME=%HADOOP_HOME%
set HADOOP_HDFS_HOME=%HADOOP_HOME%
set HADOOP_MAPRED_HOME=%HADOOP_HOME%
set HADOOP_YARN_HOME=%HADOOP_HOME%

hdfs-site.xml

<configuration>
<!-- 指定HDFS副本的数量 -->
<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>
<property>
  <name>dfs.name.dir</name>
  <!--目录需要先建立好-->
  <value>/D:/BigData/hadoop/workspace/hdfs/name</value>
</property>
<property>
  <name>dfs.data.dir</name>
  <!--目录需要先建立好-->
  <value>/D:/BigData/hadoop/workspace/hdfs/data</value>
</property>
</configuration>

mapred-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.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>

core-site.xml

<configuration>
<!--指定fs的缺省名称-->
<property>
  <name>fs.default.name</name>
  <value>hdfs://localhost:9000</value>
</property>
<!--指定HDFS的(NameNode)的缺省路径地址,localhost:是计算机名,也可以是ip地址-->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录(以个人为准) -->
<property>
  <name>hadoop.tmp.dir</name>
  <value>/D:/BigData/hadoop/workspace/tmp</value>
</property>
</configuration>

解决yarn启动报错:通过报错发现缺少TimelineCollectorManager这个类

参考博客:hadoop安装配置之ResourceManger启动失败

将jar包,D:\BigData\hadoop\hadoop-3.2.0\share\hadoop\yarn\timelineservice\hadoop-yarn-server-timelineservice-3.2.0.jar,拷贝到D:\BigData\hadoop\hadoop-3.2.0\share\hadoop\yarn\lib目录下面

启动hadoop

格式化namenode(第一次启动前执行,只执行一次):hdfs namenode -format
启动hdfs:start-dfs.cmd
启动yarn:start-yarn.cmd
jps查看以下进程是否存在:NameNode、DataNode、ResourceManager、NodeManager
浏览器访问:http://localhost:9870/、 http://localhost:8088/cluster

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!