因为Hadoop需要依赖java环境,因此需要先安装JDK1.8(大于1.8版本的jdk需要收费,因此很多厂家开发都是依赖与jdk1.8,hadoop当然也是啦)
1.安装JDK1.8
下载JDK1.8安装包,直接清华源:https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/,可以到其他的方去下载。我给忘记了是不是从这个源下载的,这个比较容易我是找的***x86_64.exe安装的。
注意:安装的时候需要就最好不要安装在Programe Files下面了,因为有空格,所以最好自己创建一个没有空格的文件夹,比如ProgrameDate
安装好了之后配置环境,参考:https://blog.csdn.net/weixin_44084189/article/details/98966787/
2.安装Hadoop
我下载的是hadoop3.2.2版本,在清华源下载的:https://mirror.tuna.tsinghua.edu.cn/apache/hadoop/core/
2.1 解压Hadoop镜像
文件到磁盘目录下,注意:可以解压在非C盘下,存储目录不要包含中文和空格
2.2 配置HADOOP_HOME环境变量
,并在系统环境变量Path中添加Hadoop环境变量
打开cmd窗口,输入hadoop version命令验证
备注: 若出现 Error: JAVA_HOME is incorrectly set. Please update F:\hadoop\conf\hadoop-env.cmd的报错,则是因为JAVA_HOME环境变量配置的路径含有空格的原因
2.2 Hadoop伪分布式部署配置
就一台win10所以就叫伪分布式
a. 下载windows专用二进制文件和工具类依赖库: hadoop在windows上运行需要winutils支持和hadoop.dll等文件
https://gitcode.net/mirrors/cdarlint/winutils/-/tree/master/
在github仓库中找到对应版本的二进制库hadoop.dll和winutils.exe文件,然后把文件拷贝到hadoop解压的bin目录中去
注意: hadoop.dll等文件不要与hadoop冲突,若出现依赖性错误可以将hadoop.dll放到C:\Windows\System32下一份
b. 修改etc目录下的core-site.xml文件
各个文件的意义参考:https://blog.csdn.net/qq_31151125/article/details/101785843
1)core-site.xml
主要配置
- 文件系统采用hdfs实现
- 临时数据存放的位置
- 缓冲区大小,实际工作中根据服务器性能动态调整
- 开启hdfs的垃圾桶机制,删除掉的数据可以从垃圾桶中回收,单位分钟
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<!-- 临时数据存放的位置 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/D:/hadoop-3.2.2/data/tmp</value>
</property>
<!-- 缓冲区大小,实际工作中根据服务器性能动态调整 -->
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
<!-- 开启hdfs的垃圾桶机制,删除掉的数据可以从垃圾桶中回收,单位分钟 10080 相当与7天 60*24*7-->
<property>
<name>fs.trash.interval</name>
<value>10080</value>
</property>
</configuration>
2)hdfs-site.xml
主要配置
- NameNode与2nn的访问地址
- NameNode与DataNode数据的存放路径
- FSImage,Edits,Checkpoint的存放位置
- 设置文件的副本数,一份文件保存多少份
- 设置文件存储的block块大小 128M
新建两个文件夹,在hadoop的安装目录下
**\data\dfs\namenode
**\data\dfs\datanode
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>D:/hadoop-3.2.2/data/dfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>D:/hadoop-3.2.2/data/dfs/datanode</value>
</property>
</configuration>
3)mapred-site.xml
<configuration>
<!-- 指定我们mapreduce运行在yarn集群上面 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- 开启mapreduce的小任务模式,用于调优 -->
<property>
<name>mapreduce.job.ubertask.enable</name>
<value>true</value>
</property>
</configuration>
4)yarn-sute.xml
<?xml version="1.0"?>
<configuration>
<!-- NodeManager的通信方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 日志的聚合功能,方便我们查看任务执行完成之后的日志记录 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
</configuration>
2.3cmd下进行测试
hdfs namenode -format
接下来进入sbin文件,执行如下代码:
start-all.cmd
会弹出来四个窗口如下 :
3 验证配置成功
访问 http://localhost:8088 看看会不会显示出来如下:
访问 http://localhost:9870 看看会不会显示出来如下:
参考链接:
https://www.jianshu.com/p/aa8cfaa26790
https://www.freesion.com/article/47651012308/