hive 0.13.1元数据库无法变成mysql

我把hive-0.12升级成0.13.1版本,先在mysql里执行了source upgrade-0.12.0-to-0.13.0.mysql.sql成功了,然后在mysql中创建了一个hivenew(0.12版的是hive)用户,并给予了权限,更改了hive-site.xml文件如下:

1.  <property>  
2.    <name>hive.stats.dbclass</name>  
3.    <value>jdbc:mysql</value>  
4.    <description>The default database that stores temporary hive statistics.</description>  
5.  </property>  
6.    
7.  <property>  
8.    <name>hive.stats.jdbcdriver</name>  
9.    <value>com.mysql.jdbc.Driver</value>  
10.   <description>The JDBC driver for the database that stores temporary hive statistics.</description>  
11. </property>  
12.   
13. <property>  
14.   <name>hive.stats.dbconnectionstring</name>  
15.   <value>jdbc:mysql://localhost:3306/hivenew</value>  
16.   <description>The default connection string for the database that stores temporary hive statistics.</description>  
17. </property>  

<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://localhost:3306/hivenew?createDatabaseIfNotExist=true</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>hivenew</value>
  <description>username to use against metastore database</description>
</property>

<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>hivenew</value>
  <description>password to use against metastore database</description>
</property>

保存后,把mysql的jdbc复制到了lib下,然后启动hive,虽然能正常显示hive>,和show tables;
但是在mysql里根本没有hivenew这个数据库,我装0.12时装好后自动就有了hive数据库,而show tables,也没有我在hivenew下创建的表格,而且经常出现Caused by: ERROR XSDB6: Another instance of Derby may have already booted the database /opt/apache-hive-0.13.1-bin/metastore_db.这样的错误
可见元数据库仍旧是derby,更诡异的是我把hive-site.xml删掉之后,hive它仍旧工作良好能正常显示hive>,和show tables,难道hive-site.xml的配置都无关紧要吗?求求大家帮帮我,急死人了

3个回答

很明显的是hive-site.xml文件没生效,即使删除了该文件,默认也使用的是derby数据库。针对这种情况,楼主可以重新创建hive-site.xml文件,然后修改为mysql,再重启hive

请问楼主,你的这个问题是怎么解决的啊?

unflynaomi
unflynaomi http://blog.csdn.net/unflynaomi/article/details/38382273我写了个博客上面有解决办法
5 年多之前 回复

谢谢哈,我这边解决了!从新编译了下!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
ubuntu hive无法初始化mysql元数据库
$HIVE_HOME/bin/hive show databases; 报错: FAILED: Execution Error, return code 1 from org.apache.Hadoop.hive.ql.exec.DDLTask. java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.
hive使用mysql做元数据库,以及一些问题处理
Hive集成Mysql作为元数据 默认情况下,Hive元数据保存在内嵌的 Derby 数据库中,只能允许一个会话连接,只适合简单的测试。为了支持多用户多会话,则需要一个独立的元数据库,我们使用 MySQL 作为元数据库,Hive 内部对 MySQL 提供了很好的支持,配置一个独立的元数据库需要增加以下几步骤: 第一步:安装MySQL服务器端和MySQL客户端,并启动My
hive绑定本地mysql为元数据库
突然想起来之前写过一篇关于将hive元数据库从默认的本地derby更改为绑定到远程mysql的文章,在云笔记里面翻了一下发现还真在,现在分享给各位~~
hive-0.13.1安装部署(使用mysql做元数据库)
1 Mysql的配置 1.1安装mysql 安装Mysql yum install mysql-server 启动mysql service mysqld start 设置密码  /usr/bin/mysqladmin -u root password root 设置开机启动 chkconfig mysqld on 1.2创建hive的数据库 进入mysql客户端中 mys
hive使用mysql作为元数据库启动报错分析
hive的元数据库默认是derby,一次只能打开一个会话;若要支持多个用户同时访问,则需要选择一个独立的元数据库,常见的都选择mysql。 我用的是root用户连接mysql,我已经授权所有ip都可以访问,并且flush privilegesle;没有设置密码,所以在配置文件中密码部分我直接什么都没填,但是 一、 1.启动日志报错如下:java.sql.SQLException: Acces
配置hive1.2.1,并更改元数据库为mysql
一、配置hive1.2.1 二、 卸载apt-get默认装的mysql5.4.6 由于hive将mysql作为元数据库,则要求版本高于5.6.17。如果之前使用apt方式安装的版本低于这个版本,则需要卸载并手动安装。如果高于这个版本就可以直接跳到第四步。(最低版本说明见页面底部,https://cwiki.apache.org/confluence/display/Hi
使用mysql作为hive的元数据库
1.hive下载安装 2.下载mysql安装 3.以root用户进入mysql命令行:mysql -uroot -p(提示输入密码) 4.创建hive的元数据库:create database metahive【元数据库名metahive】 5.创建hive用户:create user hive@‘%’ identified by ‘hive’(hive@‘%’代表可以远程登录)【mysq
CDH5.1.0 HIVE mysql 配置远程元数据库
1.准备三台虚拟机分别为: master/192.168.100.10 slave1/192.168.100.13 db/192.168.100.14 2.cdh5分别按照到master,slave1; 3. mysql安装到db; 4.创建HIVE数据库用户及授权 [code=sql] CREATE USER 'hive' IDENTIFIED BY '@
HIVE元数据库改为mysql
1.先安装mysql,并启动服务 2.为Hive建立相应的MySQL账户,并赋予足够的权限,执行命令如下: mysql -uroot -p123456 mysql> CREATE USER 'hive' IDENTIFIED BY 'hive'; mysql> GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION; mys
HIVE 安装系列(3)配置HIVE 使用Mysql作为元数据的数据库
HIVE使用mysql作为元数据 安装成功!结果如下         [root@master lib]#pwd /usr/local/apache-hive-1.2.1/lib [root@master lib]#cd /dev/shm/setup_tool/ [root@master setup_tool]#ls MySQL-client-5.5.31-2.el6.i6
hive元数据库配置metadata
一、什么是hive元数据? hive元数据就是hive的一些基本的元素,主要包括hive表的基本属性,如下 (1)hive表的数据库名、表名、字段名称与类型、分区字段与类型 (2)表的分区,分区的属性location等 (3)serdeproperties, tblproperties等等 可以通过 desc formatted tablename 查看表
Hive安装过程(mysql/oracle存储元数据)
Hive安装过程(mysql存储元数据) 前置条件: - mysql数据库已经安装成功 - hadoop环境已经配置正确,且可以提供正常服务 说明: -由于资源有限,下面配置的hadoop集群只有一个节点,所有服务都在一个节点上启动 (1)创建mysql用户hadoop@ubuntu:~$ mysql -uroot -pmysql mysql> CREATE
Hadoop Hive安装,配置mysql元数据库
由于Hive依赖于Hadoop,安装Hive之前必须确认Hadoop可用,关于Hadoop的安装可以参考集群分布式 Hadoop安装详细步骤,这里不再叙述。1.下载Hive安装包   下载地址为:http://www.apache.org/dyn/closer.cgi/hive(或点击下面链接),选择一个稳定版本,假设下载的版本为:apache-hive-1.0.1-bin.tar.gz,解压:t
hive的远程模式安装(用mysql作为hive的元数据库)
主机ip(主机名): 192.168.80.10(Master) 192.168.80.11(Slave1) 192.168.80.12()Slave2 在主机Master中解压hive: tar –zxvf hive hive-0.9.0.tar.gz   设置环境变量,这里我用的是root用户修改/etc/profile文件。 然后source /etc/profile
Hive配置元数据库为PostgreSQL
前一篇文章说了怎样搭建 Hive 环境,但是 Hive 使用的是默认 Derby 数据库作为元数据库,今天说说怎样把 Hive 的元数据库从默认的 Derby 改成 PostgreSQL 数据库。 安装 PostgreSQL 因为这里是侧重 Hive 的配置,所以安装和配置 PostgreSQL 的步骤就省略了。 配置 Hive 使用 PostgreSQL 编辑 ${HIVE_HO...
hive1.2.2 (mysql元数据库)
hive下载地址: http://mirror.bit.edu.cn/apache/hive/ yum install mariadb mariadb-server systemctl enable mariadb systemctl start mariadb yum install mysql-connector-java 该命令会在/usr/share/java/下产生my...
hive2.3.0配置mysql作为元数据库出现无法实例化问题及解决办法
配置环境:ubuntu16.04.02系统,hadoop2.7.3完全分布式模式,hive2.3.0,mysql5.7.19 问题描述如下: FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instant
hive和hue的元数据 修改为mysql
hive: 1.先去mysql里面创建个database,名字是 hive。 2.修改为mysql , bin/hive/schematool -initSchema -dbType mysql3.具体的记不太清楚啦。。。 昨天配的,今天就忘了 = =。 hue: http://www.cnblogs.com/ivanny/p/hue_m
将MySQL作为hive的元数据库时遇到的问题
  Mysql版本  Ver 14.14 Distrib 5.6.40, for Linux (x86_64) using  EditLine wrapper Hive版本      apache-hive-2.1.1-bin.tar.gz FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.D...
hue安装步骤+mysql元数据存储、hive、hadoop做集成
1. 使用yum工具来安装hue相关的依赖软件:sudo yum install krb5-develcyrus-sasl-gssapi cyrus-sasl-deve libxml2-devel libxslt-devel mysql mysql-developenldap-devel python-devel python-simplejson sqlite-devel2. 下载hue软件包c...
修改hive的元数据库
修改hive的元数据库 1.  安装mysql 1.1.  通过yum来进行mysql的安装 su - root yum install -y mysql-server mysql mysql-deve 在等待了一番时间后…… 1.2.  查看mysql版本 rpm -qi mysql-server 至此我们的mysql数据库已经安装完成了。 2.  启动mysql 2
hive 配置注意事项及初始化hive 元数据
今天配置hive 犯了一个问题:下载的hive tar.gz 里的conf目录只有一个 hive-default.xml.template,于是我就cp  了一份命名为:hive-default.xml 结果弄上去总是出现一个问题,就是我在 bin/ 运行hive 创建的database和在 任意其他目录运行hive 创建的database (已配置好环境变量) 在两个地方出现的并不相同,这个
hive使用mysql作为元数据库时的编码问题
hive的Specified key was too long; max key length is 767 bytes问题解决 解决一: FAILED: Error in metadata: javax.jdo.JDODataStoreException: Error(s) were found while auto-creatingalidating the datastore for cl
hive 元数据库报错问题
1. 正常进入hive,执行show databases,报错如下: Failed with exception java.io.IOException:java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:user.name%7D 解
hive修改默认元数据存储数据库derby改为mysql
进入mysqlmysql -uroot -p //默认没有密码为hive建立相应的用户以及密码 CREATE USER 'hive' IDENTIFIED BY 'mysql';授权hive用户访问权限 GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION;创建hive数据库mysql -uhive -pmysql//以hive用户进
cloudera的各种默认数据库 hive mysql
(1)hive  hive的元数据信息默认在derby数据库中       其他的存储用到再补充。
hive元数据库表分析及操作
本文分析hive的元数据作用、配置,元数据库表结构、功能以及对元数据的直接查询
hive 2.1.0 安装及MySQL元数据管理配置
一、环境准备 jdk 1.8+ hadoop 2.x mysql 5.x 安装之前请确保以上环境已准备完毕 二、安装 1. 下载并解压 进入解压之后的目录,使用当前路径配置HIVE_HOME 2. 进入安装目录下conf目录 vim hive-site.xml 加入以下配置&lt;?xml
hive元数据库配置、metadata
介绍hive默认元数据Derby(嵌入模式),修改hive的元数据库,使用mysql。配置mysql的几种不同机制
cloudera manager中添加hive数据库使用mysql的配置步骤
cloudera manager中添加hive数据库使用mysql的配置的详细步骤
从mysql层面删除hive元数据
由于之前配置了hive,hdfs 被格式化了,导致现在hive上原来的元数据没有清理掉。  由于hive 上所有元数据均保存在mysql中,所以,可以从mysql上删除表相关信息即可删除hive表,而且不会影响hdfs上数据。  分析:  hive在mysql上的相关元数据表关系图: 解决方法:  1、先在 mysql 中建存储过程  说明:  建的存储过程名字为t1,输入为
第九记·Hive安装配置 metastore的三种配置方式详解
XY个人笔记     Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 redu...
Hive元数据库介绍及信息查看
一、概念Hive中有两类数据:表数据和元数据。和关系型数据库一样,元数据可以看做是描述数据的数据,包括1.hive表的数据库名、表名、字段名称与类型、分区字段与类型 2.表及分区的属性、存放位置等 元数据存储路径和內表一样,分为本地和远程,可通过hive-site.xml文件设置 二、元数据库信息元数据库中存在以下这些表: 元数据ER图 元数据表结构详解看参见lxw的文章三、如何查看元数据库
干货分享:大数据之Hive元数据库与基本操作
Hive将元数据存储在RDBMS 中,一般常用的有MYSQL和DERBY。 hive元数据对应的表约有20个,其中和表结构信息有关的有9张,其余的10多张或为空,或只有简单的几条记录,以下是部分主要表的简要说明。从上面表的内容来看,hive整个创建表的过程已经比较清楚了。 1. 解析用户提交hive语句,对其进行解析,分解为表、字段、分区等hive对象 2. 根据解析到的信息构建对应的表、字段、分...
Hive之——整合MySQL存储元数据信息及基本操作示例
一、概述 Hive在实际工作过程中,需要一个统一的存储媒介来存储元数据信息,这个存储媒介通常可以是MySQL数据,那么如何将Hive的元数据信息存储到MySQL中呢,今天,就带着大家一起学习大数据入门系列的Hive篇——整合MySQL存储元数据信息。 二、环境整合 1、安装MySQL数据库 大家可以参考博文《MySQL之——CentOS6.5 编译安装MySQL5.6.16》或者《MySQ
hive设置mysql元数据编码问题
文章来自: http://blog.csdn.net/lili72 Mysql默认安装,建表时出现如下异常。 FAILED: Error in metadata: javax.jdo.JDODataStoreException: An exception was thrown while adding/validating class(es) : Specified key was too long; max key length is 767 bytes com.mysql.jdbc.exceptio
HIVE_第二讲_Hive 采用MySQL 作为元数据库
上一篇我们讲解了如何搭建 Hive 数据库,但是 hive 使用derby 数据库存在 不支持多个连接的问题。所以需要我们 需要借用外部的元数据库,这里我们采用mysql第一步. 修改配置文件主要修改 conf 中的 hive-site.xml    , hive-env.sh hive-site.xml &amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standa...
hive 重装之后配置mysql出现错误 解决办法
出现的问题: FAILED: Error in metadata: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient FAILED: Execution Error, return code 1 from org.apache.hado
Hive元数据库表分析和操作
在安装Hive时,需要在hive-site.xml文件中配置元数据相关信息。与传统关系型数据库不同的是,hive表中的数据都是保存的HDFS上,也就是说hive中的数据库、表、分区等都可以在HDFS找到对应的文件。这里说到的元数据可以理解成hive中用于保存数据库、表、分区或者表字段等基本属性,以及这些属性与HDFS文件对应关系的一个映射。   这些映射关系比较常见的一个场景是保存在mysq
hive 元数据表理解
hive的元数据存在于mysql中,在mysql中会有一个hive库,存放相应的表,一共53张表。 1、version表  version表存hive的版本信息,该表中数据只有一条,如果存在多条,会造成hive启动不起来。 2、Hive数据库相关的元数据表(DBS、DATABASE_PARAMS) dbs表: DB_ID:数据库ID,DESC:数据库描述,DB_LOCATION_...
Hadoop集群之hive集成mysql作为元数据的方法及错误排解(hive-site.xml文件无法生效)
Hadoop集群之hive集成mysql作为元数据的方法及错误排解(hive-site.xml文件无法生效):hive集成mysql的本地模式不起作用,还发现该目录下生成了metastore_db文件,即derby的默认数据库;证明刚才配置的文件都没有生效;这样的问题继续了好几天,期间也怀疑是不是hive的版本不对,还是安装的mysql版本不匹配,或者mysql的jdbc驱动版本不对,试过很多方法,但是都没有解决问题;通过调试 hive -hiveconf hive.root.logger=DEBUG,c
hadoop集群重启后hive元数据库无法连接
        对于hadoop生成集群来说,可能一年或者两年多年没有重启过都有可能,所以在这种情况下对集群进行重启就会遇到很多未知的危险。        在做hadoop安全认证...
hive 0.13.1 安装指导
hive安装指导 版本描述 操作系统:centos 6.5 64 bit Hadoop:Hadoop 2.4.0 hive: 0.13.1 网络规划 前提条件是已经安装了hadoop 用户创建 和hadoop共用一个账户,这里就不要单独创建账户了,我这里配置是: hadoop用户:hadoop 用户目录:home/hadoop HADOOP_HOME:/home/hadoop
hue 4.2.0安装(使用MySQL作为元数据库)
1.安装依赖 yum install ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-plain gcc gcc-c++ krb5-devel libffi-devel libxml2-devel libxslt-devel make mysql mysql-devel openldap-devel python-deve...
hive使用derby作为元数据库找不到所创建表的原因
问题导读:本文主要解决了:1.hive使用derby作为元数据库找达到所创建表的原因?2.为什么会找不到所创建的表?很多初学者安装hive使用的是默认元数据库derby,这里面容易遇到下面问题:安装好了hive 环境,建表后关闭连接窗口,再重新进表就不见了,这是哪里配置的不对?1.命令行键入 hive后创建表,2.在show tables; 显示表列表,上面显示刚才创建的表3.把窗口关闭,再重新开...
hive-2.1.1+mysql-connector-java-5.1.46-bin.jar
MySQL 作为 hive 的元数据库时遇到的问题 Mysql 版本 Ver 14.14 Distrib 5.6.40, for Linux (x86_64) using EditLine wrapper Hive 版本 apache-hive-2.1.1-bin.tar.gz 这个版本用 mysql-connector-java-5.1.46-bin.jar!!!!!
hive安装——mysql作为元数据,使用beeline
hive安装——mysql作为元数据,使用beeline 本文主要介绍如何安装hive,同时hive用mysql作为数据源,最后会使用beeline的方式而不是hive CLI的方式进行hive操作。 好,下面上货。 1、下载hive,根据文档安装hive 官方文档 2、把hive的tar包tar开,然后放在指定目录下,这里我放在/usr/local下。 3、修改配置文
大数据学习19:hive元数据库一些查询和分区
有时根据需求,需要对hive中的表批量处理,这时可以到元数据库中进行一些查询操作,操作请慎重!! 【mysql】1、查询某表的分区 在Spark-sql查询hive表时,会由于元数据中文件与hdfs文件不一致而出现TreeNodeException的异常。 比如说,在hive中show partitions时有分区pt=20160601,但是对应HDFS路径下并没有这个子文件夹时,在Spark-
hive初次使用报错
hive(元数据存储在mysql) 启动 Exception in thread "main" java.lang.RuntimeException: Hive metastore database is not initialized. Please use schematool (e.g. ./schematool -initSchema -dbType ...) to create t
配置Hive使用Mysql作为数据源
Hive 默认使用 derby 作为映射表(SQL 操作映射为MapReduce Job,将SQL中创建的表映射为 hdfs 的文件/文件夹,字段映射为其中的行),但 derby 的一大缺陷在于它不允许多个客户端同时执行sql操作(可能新版本的hive会有所升级) 使用 mysql 作为 hive 的metastore 使用 hive 连接 mysql 其实意味着使用 JDBC 来连接,不...
立即提问