对于hadoop+hive+spark初学者来说,大多数都是在虚拟机环境下搭建学习环境,个人觉得不太方便,网上搜罗了一遍windows下的搭建教程再加上自己本机搭建试错纠错,如此反复,于是有了这篇教程。
使用版本:
jdk-1.8
hadoop-2.7.7
apache-hive-2.3.7-bin
spark-3.0.1-bin-hadoop2.7
winutils 需对应hadoop的版本
额外使用到的hive版本【windows下需要依赖其中.cmd文件】:
apache-hive-2.2.0-bin
我尝试使用过hive3以上版本,可惜搭建过程中有报错没解决,试出用以上版本搭建未发现报错或者说报错不影响使用,以下为发现的不影响使用的报错:
Hadoop的kms问题:
ERROR hdfs.KeyProviderCache: Could not find uri with key [dfs.encryption.key.provider.uri] to create a keyProvider !!
解决:未解决,据说不启用KMS的话,不用理会这个问题。
如有需要可直接使用我配置好的版本:
链接:https://pan.baidu.com/s/12zeFjT5xPS7MMuYSU2RKcQ?pwd=8888
提取码:8888
以下是基于我配置好的版本搭建步骤,路径根据自己环境更改:
1、配置系统环境变量jdk、hadoop、hive、spark。
编辑Path系统变量新增如下值:
2、打开命令窗口执行hdfs namenode -format格式化:
在D盘路径发现多了tmp文件夹,此路径在hadoop中配置。
格式化成功后在命令窗口执行start-all.cmd即可一键启动hadoop相关服务,会另外打开4个命令窗口分别启动相关服务且无报错:
打开浏览器访问http://localhost:50070正常:
3、打开命令窗口执行分别执行以下命令创建hive数仓路径:
hdfs dfs -mkdir -p /user/hive/warehouse
hdfs dfs -chmod -R 777 /user/hive/warehouse
hdfs dfs -mkdir /tmp
hdfs dfs -chmod -R 777 /tmp
前端也可以看到创建成功:
4、使用mysql作为元数据库,可自行下载:
链接:https://pan.baidu.com/s/1hPHbClf_TnhET5DFwQ_Ozw?pwd=8888
提取码:8888
下载解压后点击install.bat一键安装,账号密码都是root
在mysql客户端管理工具中新建hive数据库,我这里使用的是dbeaver,可自行下载:
链接:https://pan.baidu.com/s/1Dn1kHlVgnjykELJygfTUXQ?pwd=8888
提取码:8888
数据库创建完毕,打开命令窗口执行以下命令进行元数据库初始化:
hive --service schematool -dbType mysql -initSchema
控制台输出Initialization script completed schemaTool completed时说明元数据库已经初始化完毕。
5、打开命令窗口分别启动hive相关服务:
hive --service metastore
hive --service hiveserver2
测试一下:
上传文件
执行语句创建表:
hive客户端查看,因为命令行下查看不直观,这里使用dbeaver查看【修改了默认端口,这里hive连接端口为10016】:
创建成功,使用查询正常:
至此,hadoop+hive环境搭建成功。
spark+python结合hadoop+hive环境也可以正常使用,本文不做展开。
版权归原作者 猿始之瞳 所有, 如有侵权,请联系我们删除。