下载与安装
hadoop下载官网
清华大学镜像下载
进入官网点击Binary download是运行在windows上的。在Apache里面下东西经常会有binary和source的版本,binary是编译好的可以直接使用,source是还没编译过的源代码,需要自行编译。
镜像下载
选择合适的版本
解压
hadoop是分布式的,有datanode和namenode两个节点,需要新建目录代替
配置环境变量
一定要配置hadoop的环境变量,不然在启动是会出现下面的错误:
bin目录存在hadoop信息的启动命令,sbin存在hadoop集群启动命令,bin和sbin可以不配置,切换到相应目录再启动cmd即可。
修改配置文件
- 修改windows系统启动类
hadoop-env.cmd
将%JAVA_HOME%替换为java环境变量的路径。
将Program Files替换为PROGRA~1
- 修改配置文件(core-site.xml,hdfs-site.xml,mapred-site.xml,yarn-site.xml)
- core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
- hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!--namenode 存放name table(fsimage)本地目录(需要修改)-->
<property>
<name>dfs.namenode.name.dir</name>
<value>D:\SoftWares\Apache\apache-hadoop-3.2.3\hadoop-3.2.3\data\namenode</value>
</property>
<!--datanode存放block本地目录(需要修改)-->
<property>
<name>dfs.datanode.data.dir</name>
<value>D:\SoftWares\Apache\apache-hadoop-3.2.3\hadoop-3.2.3\data\datanode</value>
</property>
- mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
- yarn-site.xml
<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>
初始化与启动
注意如果配置了环境变量可以直接运行命令,如果没有配置环境变量,则切换到对于目录在启动cmd。路径为~\hadoop-3.2.3\bin
。
输入hadoop version
检查是否安装成功
输入hadoop namenode -format
初始化hadoop
出现下面且\data\namenode
有current
目录·即为初始化成功。
data目录为自定义目录
在cmd中执行start-all.cmd
命令,启动Hadoop,路径:~\hadoop\hadoop-3.2.3\sbin
。
sbin没有配置环境变量需要切换到对应目录,也可以在为sbin配置环境变量。
输入start-all.sh
启动:
运行成功后,会出现四个窗口,分别是:yarn-resourcemanager、yarn-nodemanager、hadoop-namenode、hadoop-datanode。
参考自:windows下安装Hadoop,就是这么简单
java.net.URISyntaxException: Illegal character in opaque part at index 2: D:\SoftWares\Apache\apache-hadoop-3.2.3\hadoop-3.2.3\data\namenode
信息: 没有运行的带有指定标准的任务。
如果出现上面两个错误则说明namenode的配置有问题。转到hdfs-site.xml
/
是linux系统的路径配置,\
是windows系统的路径配置,但要用\\
。
之后就可以正常启动了。
Could not locate Hadoop executable: D:\SoftWares\Apache\apache-hadoop-3.2.3\hadoop-3.2.3\bin\winutils.exe -see https://wiki.apache.org/hadoop/WindowsProblems
在hadoop/bin目录下缺少了winutils.exe和hadoop.dll
下载地址
下载后复制到bin目录下即可: