2 unflynaomi unflynaomi 于 2014.08.03 22:04 提问

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个回答

sky_walker85
sky_walker85   Rxr 2014.11.18 16:44
已采纳

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

long1657
long1657   2014.12.18 14:01

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

long1657
long1657   2014.12.09 21:07

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

unflynaomi
unflynaomi http://blog.csdn.net/unflynaomi/article/details/38382273我写了个博客上面有解决办法
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
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-1.21用mysql做元数据库安装详解及遇到的问题解答
DT-大数据 hive1.2.1用mysql作为元数据库搭建 Hive只在一个节点上安装即可 安装前提是hadoop-2.6.3已正确安装配置并能正常启动 1.下载apache-hive-1.2.1-bin.tar.gz 2.解压更名 [hadoop@master ~]# tar -zxf apache-hive-1.2.1-bin.tar.gz -C /home/hadoo
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
hive的安装(元数据库: MySQL)
hive的安装(元数据库: MySQL)
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安装(使用外部mysql作为元数据库)
一、元数据库mysql的安装 #看本机是否安装有mysql rpm -qa | grep mysql #如果有则先卸载 rpm -e mysql;//一般删除,如果提示依赖的其他文件,则不能删除 rpm -e --nodeps mysql;//强力删...
使用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