前提#
笔者目前需要搭建数据平台,发现了Windows
系统下,Hadoop
和Hive
等组件的安装和运行存在大量的坑,而本着有坑必填的目标,笔者还是花了几个晚上的下班时候在多个互联网参考资料的帮助下完成了Windows10
系统下Hadoop
和Hive
开发环境的搭建。这篇文章记录了整个搭建过程中的具体步骤、遇到的问题和对应的解决方案。
环境准备#
基于笔者的软件版本洁癖,所有选用的组件都会使用当前(2020-10-30)最高的版本。
下面列举部分组件对应的下载地址:
Apache Hadoop 3.3.0
:https://mirror.bit.edu.cn/apache/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
Apache Hive 3.1.2
:https://mirrors.bfsu.edu.cn/apache/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz
Apache Hive 1.2.2 src
:https://mirrors.bfsu.edu.cn/apache/hive/hive-1.2.2/apache-hive-1.2.2-src.tar.gz
winutils
:https://github.com/kontext-tech/winutils
(如果下载速度慢,可以先把仓库导入gitee.com
再下载,或者用笔者已经同步好的仓库https://gitee.com/throwableDoge/winutils
)
下载完这一些列软件之后,MySQL
正常安装为系统服务随系统自启。解压hadoop-3.3.0.tar.gz
、apache-hive-3.1.2-bin.tar.gz
、apache-hive-1.2.2-src.tar.gz
和winutils
到指定目录:
接着把源码包apache-hive-1.2.2-src.tar.gz
解压后的bin
目录下的文件拷贝到apache-hive-3.1.2-bin
的bin
目录中:
然后把winutils
中的hadoop-3.3.0\bin
目录下的hadoop.dll
和winutils.exe
文件拷贝到Hadoop
的解压目录的bin
文件夹下:
最后再配置一下JAVA_HOME
和HADOOP_HOME
两个环境变量,并且在Path
中添加%JAVA_HOME%\bin;
和%HADOOP_HOME%\bin
:
笔者本地安装的JDK版本为1.8.0.212,理论上任意一个小版本的JDK8都可以。
接着用命令行测试一下,如果上述步骤没问题,控制台输出如下:
配置和启动Hadoop#
在HADOOP_HOME
的etc\hadoop
子目录下,找到并且修改下面的几个配置文件:
core-site.xml(这里的tmp
目录一定要配置一个非虚拟目录,别用默认的tmp
目录,否则后面会遇到权限分配失败的问题)
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/e:/LittleData/hadoop-3.3.0/data/tmp</value>
</property>
</configuration>
hdfs-site.xml(这里要预先创建nameNode
和dataNode
的数据存放目录,注意一下每个目录要以/
开头,笔者这里预先在HADOOP_HOME/data
创建了nameNode
和dataNode
子目录)
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.http.address</name>
<value>0.0.0.0:50070</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/e:/LittleData/hadoop-3.3.0/data/nameNode</