目录
【已解决】格式化总是报错 The markup in the document following the root element must be well-formed
【已解决】无法将“start-all.cmd”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
1 JDK
1.1 下载
按照自己的版本去官网下载(需要注册登录) github下载
1.2 安装
安装按提示,唯一要注意的是:JDK的安装路径不要带空格!否则会报错“C:\Program不是内部或外部命令”。
所以不能装到 Program Files 目录下。
举栗子:E:\Hadoop\Java\jdk1.8.0_231
嗯……顺手把jre的安装目录也改了
1.3 配置环境变量
点开环境变量配置(不会可以百度,不截图)
1 新建系统变量
2 JAVA_HOME
3 安装JDK的文件目录,我安装在E:\Hadoop\Java\jdk1.8.0_231,就填这个,不是Jre的
1.4 成功测试
2 Hadoop
2.1 下载
官网下载Hadoop对应版本安装包,然后解压到目标网址即可:官网下载 镜像网站(更快)
注意:不要下错啦,不要上面src的压缩包
下完解压到对应位置就好
注意:Hadoop不支持win,因此还要下载winutils:github下载
找到对应的版本,用里面的文件替换hadoop\bin目录下的对应文件。(如何从 GitHub 上下载指定项目的单个文件或文件夹GitZip)
我下下来的是压缩包,直接解压到对应bin目录,有重复文件全部替换(也可以解压后把文件copy到bin目录下,选择全部替换即可)
2.2 配置环境变量
要配置3条
2.3 配置文件
现在E:\Hadoop\hadoop-2.8.5目录下新建一个文件夹,建议就叫workspace,不同一也没关系。
在新建的文件目录下,新建三个文件,如下图。
打开E:\Hadoop\hadoop-2.8.5\etc\hadoop,开始复制粘贴修改工作,一共要配置4个文件.
core-site.xml 文件
这个地址后续实验经常用,请铭记 hdfs://localhost:9000
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/E:/Hadoop/hadoop-2.8.5/workspace/tmp</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/E:/Hadoop/hadoop-2.8.5/workspace/name</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
<!-- 这个地址后续实验经常用,请铭记 hdfs://localhost:9000 -->
hdfs-site.xml
因为是单机版的,所以dfs.replication设置为1
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>//E:/Hadoop/hadoop-2.8.5/workspace/data</value>
</property>
</configuration>
mapred-site.xml.template 文件
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>hdfs://localhost:9001</value>
</property>
</configuration>
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>
2.4 格式化hdfs
打开cmd 输入hdfs namenode -format
【问题】格式化总是报错 The markup in the document following the root element must be well-formed.
【解决】知道是上面四个文件配置出问题,但是无论如何修改都不行(度娘没用啊)
最后的解决办法是,删掉这四个文件,从能运行的hadoop里复制粘贴这四个文件,重新修改就OK了。github下载配置文件
2.5 启动
只要再路径中添加了sbin,就可以再cmd中输入start-all.cmd启动,输入stop-all.cmd关闭。
否则要在E:\Hadoop\hadoop-2.8.5\sbin目录下输入。
【问题】无法将“start-all.cmd”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
【解决】未解决,不要用PowerShell,使用windows cmd替代即可。
3 参考
大数据入门(五)windows上搭建单机版Hadoop2.8(踩坑记录)
无法将“python”项识别为 cmdlet、函数、脚本文件或可运行程序的名称