基于单机hdfs安装hive

基于单机hdfs安装hive,第1张

基于单机hdfs安装hive 前言

对于做大数据开发的同学来说,掌握hive是必备的技能之一,hive基于hdfs之上的一款强大的数据分析框架,可以从海量的数据中做出高效的数据分析,而且迎合大多数有着sql使用习惯的各类技术人员

话不多说,我们先基于一个单机版的hdfs环境搭建起hive的使用环境吧

环境准备

hdfs运行环境,关于搭建可以参考我之前的一篇文章mysql,提前安装好mysql,这里建议使用mysql 5.7版本hive安装包,本例使用3.12版本的安装版本,可以自行去官网下载 安装步骤

1、上传安装包到服务器指定目录下

2、移动到指定目录,并解压重命名解压包

tar -zxvf /opt/software/apache-hive-3.1.2-bin.tar.gz -C /opt/module/

重命名解压包

mv /opt/module/apache-hive-3.1.2-bin/ /opt/module/hive

3、配置环境变量

vi /etc/profile


然后执行 :source /etc/profile

4、初始化derby数据库

hive默认情况下,不做任何配置的话,其元数据存储在内置的一款称作derby数据库中,因此需要初始化一下元数据信息

bin/schematool -dbType derby -initSchema


看到这里,说明初始化成功,然后进入到 bin 目录下,执行 ./hive 命令即可进入到hive的客户端窗口

但是当我们执行hive客户端下面的命令时,将会出现一段异常日志

show databases;

FAILED: HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.me

原因在于 Hive 默认使用的元数据库为 derby,开启 Hive 之后就会占用元数据库,且不与
其他客户端共享数据,所以我们需要将 Hive 的元数据地址改为 MySQL

了解了报错的原因后,我们需要配置下hive的元数据连接信息存储在mysql中

5、配置mysql连接

进入hive的conf目录,新建一个hive-site.xml,拷贝如下的配置内容



         
         
                javax.jdo.option.ConnectionURL
                jdbc:mysql://IP:3306/metastore?useSSL=false
        

         
         
                javax.jdo.option.ConnectionDriverName
                com.mysql.jdbc.Driver
        

        
         
                javax.jdo.option.ConnectionUserName
                root
         

        
        
                javax.jdo.option.ConnectionPassword
                root
        

         
         
                hive.metastore.schema.verification
                false
         
         
		
         
                hive.metastore.event.db.notification.api.auth
                false
         

         
         
                hive.metastore.warehouse.dir
                /user/hive/warehouse
         


配置完成后,最好给该文件授权,然后在mysql中创建一个名字为 “metastore”的数据库,用于保存hive的元数据信息

create database metastore;

6、再次执行元数据的初始化

进入bin目录,不过这一次是使用mysql了

schematool -initSchema -dbType mysql -verbose

7、再次启动hive

再次启动hive之前,确保hdfs服务是启动的

同时,注意启动hive时不要使用root账户,因为我们之前在配置单机的hdfs的时候也不是使用root账户而是自己创建的账户,hive *** 作是需要联通hdfs的,这里需要重点关注一下

然后就可以基于当前的命令窗口像 *** 作mysql那样执行hive的客户端命令了

创建完表之后,就可以在hdfs上面看到表的相关数据文件啦

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5704759.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存