`

使用MySQL作为Hive的Metastore

    博客分类:
  • hive
阅读更多
使用MySQL作为Hive的Metastore


前提是成功安装了HIVE和MYSQL

在hive-site.xml中添加如下内容,指定METASTORE的地址以及连接方式
<property>     
<name>javax.jdo.option.ConnectionURL</name>    
 

<value>jdbc:mysql://10.20.151.10:3306/hive?characterEncoding=UTF-8</value>     
<description>JDBC connect string for a JDBC metastore</description>  
</property>  
<property>     
<name>javax.jdo.option.ConnectionDriverName</name>     
<value>com.mysql.jdbc.Driver</value>     
<description>Driver class name for a JDBC metastore</description>  
</property>  
<property>     
<name>javax.jdo.option.ConnectionUserName</name>     
<value>hive_user</value>     
<description>username to use against metastore database</description>  
</property>  
<property>     
<name>javax.jdo.option.ConnectionPassword</name>     
<value>123</value>     
<description>password to use against metastore database</description>  
</property>
 


然后登陆到HIVE客户端,创建一个表试试

[gpadmin1@hadoop5 hive-0.6.0]$ bin/hive
Hive history file=/tmp/gpadmin1/hive_job_log_gpadmin1_201106081130_1156785421.txt
hive> show tables;
FAILED: Error in metadata: javax.jdo.JDOFatalDataStoreException: Unknown database 'hive'
NestedThrowables:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'hive'
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask



报错了,提示很明显,识别不到名称为hive的database,难道要自己创建?试试


[Intranet root@www.linuxidc.com /var/lib/mysql]
#mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 41
Server version: 5.5.12 MySQL Community Server (GPL)
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)
mysql> create database hive;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| hive               |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.00 sec)


再登陆到HIVE里看看

[gpadmin1@hadoop5 hive-0.6.0]$ bin/hive
Hive history file=/tmp/gpadmin1/hive_job_log_gpadmin1_201106081130_544334815.txt
hive> show table;                       
FAILED: Parse Error: line 0:-1 mismatched input '<EOF>' expecting EXTENDED in show statement
hive> show tables;
OK
Time taken: 5.173 seconds
hive>         CREATE TABLE u_tmp1 (id1 INT,
    >            id2 int
    >            )
    >          ROW FORMAT DELIMITED
    >          FIELDS TERMINATED BY ',';
OK
Time taken: 0.266 seconds
hive> show tables;                         
OK
u_tmp1
Time taken: 0.197 seconds
hive>

注:

修改数据库的binlog
Java代码 
set global binlog_format='MIXED'; 

READ-COMMITTED需要把bin-log以mixed方式来记录
否则进入hive,会如下错误
FAILED: Error in metadata: javax.jdo.JDOException: Couldnt obtain a new sequence (unique id) : Binary logging not possible. Message: Transaction level 'READ-COMMITTED' in InnoDB is not safe for binlog mode 'STATEMENT'
分享到:
评论

相关推荐

    Hive metastore 使用达梦数据库存储元数据

    《Hive metastore 使用达梦数据库存储元数据详解》 在大数据处理领域,Hive作为一个分布式数据仓库工具,被广泛用于存储和管理大规模结构化数据。Hive的元数据是其核心组成部分,它包含了表、分区、列等信息,使得...

    详细调研hivemetastore管理机制.zip

    其中,Hive Metastore是Hive的核心组件之一,它负责管理和存储元数据,是理解和使用Hive的关键。本篇文章将对Hive Metastore的管理机制进行详细的调研。 Hive Metastore是Hive与Hadoop之间的桥梁,主要负责存储关于...

    mysql-connector-java-5.1.32.7z

    8. **性能优化**:使用 MySQL 作为 Hive Metastore 可能涉及到网络延迟问题,因此需要优化 JDBC 连接参数,如连接超时、缓冲大小等,以提升整体性能。 9. **故障转移与高可用**:如果 MySQL 集群配置了主从复制或...

    Hive安装,使用MySQL作为元数据库

    本教程将详细介绍如何安装Hive,并配置使用MySQL作为其元数据库。 首先,我们来理解元数据库的作用。元数据库存储了关于Hive表、分区、列等对象的元数据,这些元数据是执行Hive查询的关键。通常,Hive默认使用Derby...

    hive远程连接详细配置

    在这个配置中,我们将介绍如何配置 Hive 客户端与 Hive 服务器的连接,包括远程 MySQL 和远程存储 metastore 的配置。 Hive 客户端配置 在 Hive 客户端配置中,我们需要配置 Hive 客户端连接到远程 metastore ...

    cloudera manager中添加hive数据库使用mysql的配置步骤

    在Cloudera Manager中配置Hive使用MySQL数据库涉及多个步骤,从卸载CentOS默认MySQL到配置完毕,下面详细说明每一步的知识点。...完成所有步骤后,Hive就可以使用MySQL作为后端数据库来进行元数据存储和管理了。

    sparksql连接mysql,hive

    使用`SparkSession.builder().appName("yourApp").enableHiveSupport().getOrCreate()`来创建一个支持Hive的SparkSession,然后可以执行如`spark.read.format("jdbc").options(...).load()`来连接MySQL数据库。...

    hive3.1.2+mysql驱动.zip

    使用MySQL驱动,Hive可以连接到MySQL服务器来获取和存储元数据。这提供了更强大的元数据管理功能,比如高可用性、数据备份和恢复,同时也便于多用户环境下的权限管理和访问控制。在Hive 3.1.2中,正确配置MySQL驱动...

    hive1.2.1-mysql-connector.rar

    在Hive中,当选择MySQL作为元数据存储时,这个驱动文件是必需的,因为它使得Hive Metastore服务能够与MySQL数据库通信,存储表信息、分区信息、列信息等元数据。 知识点详细说明: - **Apache Hive**:Hive是一个...

    8、NIFI综合应用场景-NiFi监控MySQL binlog进行实时同步到hive

    在本场景中,我们将探讨如何使用NiFi来实时监控MySQL数据库的binlog(二进制日志),并将其中的变更事件同步到Hive数据仓库。由于Hive的插入操作效率较低,这种方案通常不用于直接的实时写入,但可以作为数据流处理...

    Linux下MySQL-Hive.rar

    5. **Hive与MySQL的集成**:Hive使用MySQL作为其元数据存储,元数据包括表结构、分区信息等。配置Hive连接到MySQL的Metastore服务,以便Hive可以查询和管理在MySQL中的元数据。 6. **Hive SQL与数据处理**: - SQL...

    Metastore组件

    在使用Hive时,管理员可能需要对Metastore进行一些配置和优化,例如选择合适的数据库作为后端存储、定期备份Metastore数据库、管理好连接Metastore服务的权限等。在生产环境中,确保Metastore的稳定性对整个Hive的...

    大数据入门HIVE和MySQL安装包

    4. **创建Metastore数据库**:在MySQL中创建用于存储Hive元数据的数据库和用户。 5. **启动Hive**:启动Hive Server2和Hive Metastore服务,可以通过`hive`命令进入交互式shell。 **MySQL介绍** MySQL是一种快速、...

    hive-3.1.2&mysql-5.7.2安装包.rar

    在 Hive 中设置 metastore(元数据存储)连接,可以选择本地 MySQL 实例作为 metastore 服务,这将提高 Hive 的性能和数据一致性。 总的来说,这个安装包提供了在大数据环境中使用 Hive 进行数据处理并与 MySQL ...

    hive相关jar包

    2. **Hive Metastore**:这部分jar包用于存储Hive的元数据,包括表结构、分区信息、列类型等。元数据可以存储在本地MySQL、PostgreSQL或者远程Thrift服务器上。 3. **Hive SerDes(Serialization/Deserialization)...

    hive-mysqlconnector.rar

    总的来说,这个压缩包提供的资源可以帮助用户在Hadoop环境中建立一个使用MySQL作为元数据存储的Hive实例,便于管理和查询大规模的数据。通过Hive的SQL语法,用户可以轻松地对存储在HDFS上的数据进行分析,而MySQL-...

    apache-hive-3.1.2+mysql-connector-java-5.1.32-bin.jar

    7. 初始化元数据:使用Hive的metastore工具初始化数据库,创建必要的表。 8. 启动Hive:启动Hiveserver2服务,然后通过Hive CLI或者Beeline等客户端工具与Hive交互。 在Hive中,用户可以通过HQL(Hive Query ...

    hive-1.1.0-cdh5.14.2.tar.gz和mysql-connector-java-5.1.38.jar连接包

    这个版本的驱动对应的是MySQL 5.1系列,提供了JDBC接口,使得Hive可以与MySQL数据库进行连接,例如作为元数据存储或者数据迁移的中间环节。 在使用这两个组件时,我们需要了解以下关键知识点: 1. **Apache Hive**...

    kittle连接hive需要的jar包

    "mysql-*" JAR包是MySQL的JDBC驱动,因为Hive经常使用MySQL作为其Metastore的后端存储,用于存储元数据。因此,Kettle需要这个驱动来连接到存储Hive元数据的MySQL数据库,以便获取表定义和其他相关信息。 5. **lib...

    从任意hive单表读取并计算数据写入任意mysql单表的hive工具

    这款工具可能是由Java或其他支持Hive和MySQL连接的语言编写的,它可以方便大数据分析后的结果落地到关系型数据库,供业务系统使用。 在描述中提到的“NULL”表明没有提供具体的实现细节或功能概述,但通常这样的...

Global site tag (gtag.js) - Google Analytics