ubuntu上mysql和hive_Ubuntu 16.04配置hive mysql db元数据

这篇博客介绍了如何将Hive的默认元数据数据库从Derby迁移到MySQL,以解决多任务支持和启动问题。首先,需要安装MySQL并创建特定的数据库用户。接着,配置`hive-site.xml`文件,包括数据库URL、驱动名、用户名和密码。然后,初始化Hive的schema,并确保在启动Hive前启动HDFS。最后,解决缺少MySQL JDBC驱动的问题,通过添加相应的jar包到lib目录。
摘要由CSDN通过智能技术生成

默认hive使用的元信息数据库derby不是很好用。第一就是不支持多任务,第二就是配置hive环境变量然后启动hive因为derby的数据文件路径问题经常报错。

配置hive的一个小前提是Hadoop环境已经配置ok,hfs可用。参考其官方quick start即可。hive的配置主要配置文件就一个hive-site.conf。

1,从默认xml复制一份。

cp hive-default.xml.template hive-site.xml

2,Ubuntu安装mysql,如果mysql已经安装跳过此步骤。

sudo apt install mysql-server mysql-client

在命令执行过程中会有对话框让输入mysql账号root的密码,连续输入两次完成mysql root账号密码配置。

严谨点对于一般mysql数据库不应用直接提供root账号作为应用账号。都需要新建个账号提供给hive使用。一是不安全,就类似linux服务一般会新建用户组来提供服务;二是生成环境如果db连接数满了mysql会预留给root一个连接,用于数据库管理。如果普通应用也使用则此功能就失效了。

3,修改hive-site.xml文件一共4处逐一修改如下即可。

javax.jdo.option.ConnectionURL

jdbc:mysql://localhost:3306/hive

JDBC connect string for a JDBC metastore

javax.jdo.option.ConnectionDriverName

com.mysql.jdbc.Driver

Driver class name for a JDBC metastore

javax.jdo.option.ConnectionUserName

root

Username to use against metastore database

javax.jdo.option.ConnectionPassword

root

password to use against metastore database

4,命令行进入mysql。创建配置在connectionUrl后面的db,加过createDatabaseIfNoExist。但是不好用,还是手动创建的。

5,执行hive之前需要init schema,启动hive之前需要启动hdfs。

schematool -dbType mysql -initSchema

6,启动hive命令,会提示找不到mysql jar包。到mvnrepository下载个jar包放到lib下面即可。笔者hive2版本用的mysql jar包是5.1。添加上jar包启动ok。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值