安装了0.12之后,听说0.13.1有许多新的特性,包括永久函数,所以想更新成0.13版的(元数据放在mysql中)

2014年8月5日实验成功
hive0.13.1的新特性

新特性详见

http://zh.hortonworks.com/blog/announcing-apache-hive-0-13-completion-stinger-initiative/

1.下载0.13.1压缩包

地址http://mirrors.hust.edu.cn/apache/hive/

打开后有

点开hive-0.13.1,有如下两个文件

下载apache-hive-0.13.1-bin.tar.gz即可,而src.tar.gz是源代码压缩包,不用下载,

2.解压压缩包

sudo  tar  xzvf  apache-hive-0.13.1-bin.tar.gz
 -C /opt 我解压到了/opt下

3.执行升级脚本进行mysql元数据库的升级

执行以下命令

cd /opt/apache-hive-0.13.1-bin/scripts/metastore/upgrade/mysql

    ls

在文件夹下有如下文件

001-HIVE-972.mysql.sql        hive-schema-0.13.0.mysql.sql

002-HIVE-1068.mysql.sql       hive-schema-0.3.0.mysql.sql

003-HIVE-675.mysql.sql        hive-schema-0.4.0.mysql.sql

004-HIVE-1364.mysql.sql       hive-schema-0.4.1.mysql.sql

005-HIVE-417.mysql.sql        hive-schema-0.5.0.mysql.sql

006-HIVE-1823.mysql.sql       hive-schema-0.6.0.mysql.sql

007-HIVE-78.mysql.sql         hive-schema-0.7.0.mysql.sql

008-HIVE-2246.mysql.sql       hive-schema-0.8.0.mysql.sql

009-HIVE-2215.mysql.sql       hive-schema-0.9.0.mysql.sql

010-HIVE-3072.mysql.sql       hive-txn-schema-0.13.0.mysql.sql

011-HIVE-3649.mysql.sql       README

012-HIVE-1362.mysql.sql       upgrade-0.10.0-to-0.11.0.mysql.sql

013-HIVE-3255.mysql.sql       upgrade-0.11.0-to-0.12.0.mysql.sql

014-HIVE-3764.mysql.sql       upgrade-0.12.0-to-0.13.0.mysql.sql

015-HIVE-5700.mysql.sql       upgrade-0.5.0-to-0.6.0.mysql.sql

016-HIVE-6386.mysql.sql       upgrade-0.6.0-to-0.7.0.mysql.sql

017-HIVE-6458.mysql.sql       upgrade-0.7.0-to-0.8.0.mysql.sql

018-HIVE-6757.mysql.sql       upgrade-0.8.0-to-0.9.0.mysql.sql

hive-schema-0.10.0.mysql.sql  upgrade-0.9.0-to-0.10.0.mysql.sql

hive-schema-0.11.0.mysql.sql  upgrade.order.mysql

hive-schema-0.12.0.mysql.sql

其中有upgrade-0.12.0-to-0.13.0.mysql.sql

用hive用户登录mysql(hive 0.12.0的用户)

mysql-h localhost -u hive -p

执行upgrade-0.12.0-to-0.13.0.mysql.sql脚本

mysql> use hive

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A





Database changed

mysql> source upgrade-0.12.0-to-0.13.0.mysql.sql

执行过程如下:

+--------------------------------------------------+

|                                                  |

+--------------------------------------------------+

| Upgrading MetaStore schema from 0.12.0 to 0.13.0 |

+--------------------------------------------------+

1 row in set, 1 warning (0.00 sec)





+-----------------------------------------------------------------------+

|                                                                       |

+-----------------------------------------------------------------------+

| < HIVE-5700 enforce single date format for partition column storage > |

+-----------------------------------------------------------------------+

1 row in set, 1 warning (0.00 sec)





Query OK, 0 rows affected (0.22 sec)

Rows matched: 0  Changed: 0  Warnings: 0





+--------------------------------------------+

|                                            |

+--------------------------------------------+

| < HIVE-6386: Add owner filed to database > |

+--------------------------------------------+

1 row in set, 1 warning (0.00 sec)





Query OK, 1 row affected (0.33 sec)

Records: 1  Duplicates: 0  Warnings: 0





Query OK, 1 row affected (0.16 sec)

Records: 1  Duplicates: 0  Warnings: 0





+---------------------------------------------------------------------------------------------+

|                                                                                             |

+---------------------------------------------------------------------------------------------+

| <HIVE-6458 Add schema upgrade scripts for metastore changes related to permanent functions> |

+---------------------------------------------------------------------------------------------+

1 row in set, 1 warning (0.00 sec)





Query OK, 0 rows affected (0.06 sec)





Query OK, 0 rows affected (0.06 sec)





+----------------------------------------------------------------------------------+

|                                                                                  |

+----------------------------------------------------------------------------------+

| <HIVE-6757 Remove deprecated parquet classes from outside of org.apache package> |

+----------------------------------------------------------------------------------+

1 row in set, 1 warning (0.00 sec)





Query OK, 0 rows affected (0.04 sec)

Rows matched: 0  Changed: 0  Warnings: 0





Query OK, 0 rows affected (0.01 sec)

Rows matched: 0  Changed: 0  Warnings: 0





Query OK, 0 rows affected (0.01 sec)

Rows matched: 0  Changed: 0  Warnings: 0





Query OK, 0 rows affected (0.07 sec)





Query OK, 0 rows affected (0.12 sec)





Query OK, 0 rows affected (0.07 sec)





Query OK, 0 rows affected (0.06 sec)





Query OK, 1 row affected (0.05 sec)





Query OK, 0 rows affected (0.06 sec)





Query OK, 0 rows affected (0.15 sec)

Records: 0  Duplicates: 0  Warnings: 0





Query OK, 0 rows affected (0.06 sec)





Query OK, 1 row affected (0.05 sec)





Query OK, 0 rows affected (0.07 sec)





Query OK, 0 rows affected (0.06 sec)





Query OK, 1 row affected (0.05 sec)





Query OK, 1 row affected (0.07 sec)

Rows matched: 1  Changed: 1  Warnings: 0





+-----------------------------------------------------------+

|                                                           |

+-----------------------------------------------------------+

| Finished upgrading MetaStore schema from 0.12.0 to 0.13.0 |

+-----------------------------------------------------------+

1 row in set, 1 warning (0.00 sec)

成功完成

4.在mysql中新创建一个用户hivenew给hive0.13.1用

root用户登录mysql创建hive用户并授权,执行命令:

use mysql;

insert into user(Host,User,Password)values("localhost","hivenew",password("hivenew"));密码也是hivenew

GRANTALL PRIVILEGES ON *.*  TO 'hivenew'@'localhost' IDENTIFIED BY 'hivenew';



FLUSH PRIVILEGES;

可以用hivenew用户登录观察是否创建用户成功

授予用户hive足够大的权限

GRANT ALL PRIVILEGES ON *.*  TO'hive'@'localhost' IDENTIFIED BY 'hive';

FLUSH PRIVILEGES;

可以用hive用户登录观察是否创建用户成功

hadoop@ubuntu:/usr/local$ mysql -h localhost -uhive -p

5.将mysql的 jdbc拷贝到apache-hive-0.13.1-bin/lib文件夹下

cp    mysql-connector-java-5.1.31/*.jar     apache-hive-0.13.1-bin/lib
 (这个jar包hive .12.0版本时已经配置好了)

6.开始配置文件

千万不可以把0.12.0的文件直接复制过来,会导致无法成功

首先复制配置文件

hadoop@ubuntu:/usr/local/hadoop/hive/conf$cphive-default.xml.template hive-default.xml

hadoop@ubuntu:/usr/local/hadoop/hive/conf$cp hive-default.xml.templatehive-site.xml

hadoop@ubuntu:/usr/local/hadoop/hive/conf$cp hive-env.sh.template hive-env.sh

hadoop@ubuntu:/usr/local/hadoop/hive/conf$cp  hive-log4j.properties.template   hive-log4j.properties

再创建存储目录

hadoop@ubuntu:/usr/local/hadoop/hive$mkdir -p /usr/local/hadoop/hive-0.13.1/warehouse

hadoop@ubuntu:/usr/local/hadoop/hive$mkdir  -p /usr/local/hadoop/hive-0.13.1/log

然后配置hive-env.sh文件

用vim打开

将exportHADOOP_HEAPSIZE=1024前面的‘#’去掉,当然可以根据自己的环境对这个默认的1024进行优化;

把#去掉使得改动生效

将exportHADOOP_HOME前面的‘#’号去掉,并让它指向您所安装hadoop的目录,我的/usr/local/hadoop;

将exportHIVE_CONF_DIR=/opt/apache-hive-0.13.1-bin   并且把‘#’号去掉;

将exportHIVE_AUX_JARS_PATH=/opt/apache-hive-0.13.1-bin/lib,并且把‘#’号去掉。

esc(键) :wq

配置hive-site.xml,改以下几个地方

<property>
<name>hive.metastore.warehouse.dir</name>
<value>/usr/local/hadoop/hive-0.13.1/warehouse</value>//与上面创建的文件夹一致
<description>location of default database for thewarehouse</description>
</property> #存放hive相关日志的目录
<property>
<name>hive.querylog.location</name>
<value>/usr/local/hadoop/hive-0.13.1/log</value>
<description>
Location of Hive run time structured log file
</description>
</property>
接着修改hive-site.xml 这一步将mysql与hive连接
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property> <property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hivenew?createDatabaseIfNotExist=true</value>//这次新创建的元数据库是hivemew
<description>JDBC connect string for aJDBC metastore</description>
</property> <property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for aJDBC metastore</description>
</property> <property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hivenew</value>//用新创建的用户
<description>username to use againstmetastore database</description>
</property> <property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hivenew</value>
<description>password to use againstmetastore database</description>
</property>
</span>
<pre name="code" class="html"> <property>
<name>hive.stats.dbclass</name>
<value>jdbc:mysql</value>
<description>The default database that stores temporary hive statistics.</description>
</property> <property>
<name>hive.stats.jdbcdriver</name>
<value>com.mysql.jdbc.Driver</value>
<description>The JDBC driver for the database that stores temporary hive statistics.</description>
. </property> <property>
<name>hive.stats.dbconnectionstring</name>
<value>jdbc:mysql://localhost:3306/hivenew</value>
description>The default connection string for the database that stores temporary hive statistics.</description>
</property>

另外为了避免启动时发生警报,所以把hive.metastore.ds.retry打头的都换成 hive.hmshandler.retry(retry后面不动)

7.激动人心的时刻到了,启动hive

bin/hive

再看看mysql里有没有元数据库

mysql -h localhost -u hivenew -p

mysql> use hivenew;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A





Database changed

mysql> show tables;

+---------------------------+

| Tables_in_hivenew         |

+---------------------------+

| BUCKETING_COLS            |

| CDS                       |

| COLUMNS_V2                |

| DATABASE_PARAMS           |

| DBS                       |

| FUNCS                     |

| FUNC_RU                   |

| GLOBAL_PRIVS              |

| PARTITIONS                |

| PARTITION_KEYS            |

| PARTITION_KEY_VALS        |

| PARTITION_PARAMS          |

| PART_COL_STATS            |

| ROLES                     |

| SDS                       |

| SD_PARAMS                 |

| SEQUENCE_TABLE            |

| SERDES                    |

| SERDE_PARAMS              |

| SKEWED_COL_NAMES          |

| SKEWED_COL_VALUE_LOC_MAP  |

| SKEWED_STRING_LIST        |

| SKEWED_STRING_LIST_VALUES |

| SKEWED_VALUES             |

| SORT_COLS                 |

| TABLE_PARAMS              |

| TAB_COL_STATS             |

| TBLS                      |

| VERSION                   |

+---------------------------+

29 rows in set (0.00 sec)

hive 0.13.1竟然只有29个表,hive-0.12.0有40个表呢

更新成功!!!

8.要安装hive 0.13.1网络接口的见我的另外一篇博客

hive-0.12升级成hive 0.13.1的更多相关文章

  1. 从mysql8.0.15升级到8.0.16

    从mysql8.0.15升级到8.0.16 环境简介 操作系统:Centos 6.10 64位 目前版本:8.0.15 MySQL Community Server 二进制 目的:升级为8.0.16 ...

  2. Nuget包CommonServiceLocator从1.0.3升级到2.0.4时MvvmLight的ViewModelLocator初始化SimpleIoc.Default格式不匹配问题

    原文:Nuget包CommonServiceLocator从1.0.3升级到2.0.4时MvvmLight的ViewModelLocator初始化SimpleIoc.Default格式不匹配问题 把旧 ...

  3. MVC3.0 项目升级到 MVC4.0

    按照 http://www.asp.net/whitepapers/mvc4-release-notes#_Toc303253806 的步骤 第一步:修改web.config 注意,默认的MVC3网站 ...

  4. 【Oracle】RAC 10.2.0.1升级10.2.0.5

    环境: OS:OEL5.6 RAC:10.2.0.1.0 相关环境变量: CRS_HOME /u01/app/oracle/product/10.2.0/db_1 ORACLE_HOME   /u01 ...

  5. 安装zabbix3.0以及升级到5.0过程

    关闭防火墙: systemctl stop firewalld.service systemctl disable firewalld.service 需要关闭 selinux,一定要关闭这个,开启s ...

  6. WangSql 3.0源码共享(WangSql 1.0重大升级到3.0)

    WangSql 1.0博文阅读: http://www.cnblogs.com/deeround/p/6204610.html 基于1.0做了以下重大改动: 1.多数据实现方式调整 2.使用EmitM ...

  7. Windows 版本下 Oracle12.1.0.2 升级Oracle12.2.0.1的步骤

    oracle12.1.0.1 2013年发布的产品 2014年左右发布12.1.0.2 2016年底发布了 oracle12.2.0.1 经常有人会安装了最早的oracle版本,然后需要升级到最新的o ...

  8. Windows平台下面Oracle11.2.0.1 升级Oracle11.2.0.4 的简单步骤

    1. 首先查看数据库的版本: 2. ESXi 上面的虚拟机挂在 oracle11.2.0.4的 iso磁盘 3. 执行set 进行升级 4. 安装选项进行选择 升级现有的数据库 5. 注意安装位置必须 ...

  9. [python]pip 版本9.0.1升级到10.0.1故障解决办法

    问题背景: 在做android自动化时使用到第三方库uiautomator时,提示要安装,但安装该uiautomator库时提示当前的pip版本偏低,需要安装10.0.1版本方可.但在升级到升级到该版 ...

随机推荐

  1. js基础知识点(只有点)

    转自:2015年12月的文章 http://blog.csdn.net/u014326381/article/details/50176339 JavaScript: 作用域链.闭包.运行时上下文.t ...

  2. netty 粘包问题处理

    netty 粘包问题处理 key words: netty 粘包 解包 半包 TCP 一般TCP粘包/拆包解决办法 定长消息,例如每个报文长度固定,不够补空格 使用回车换行符分割,在包尾加上分割符,例 ...

  3. Maven搭建webService (三) 创建客户端---使用Apache CXF方式实现

    package test; import net.cc.web.server.HelloWorld; import org.apache.cxf.jaxws.JaxWsProxyFactoryBean ...

  4. 【BZOJ】【2938】【POI2000】病毒

    AC自动机 好题>_<(其实是一次AC有些感动) 嗯要找到无限长的一个字符串不包含任何一个模板串,就意味着在AC自动机(Trie图)上找到一个不经过任何一个危险结点的环,深搜一下就好了…… ...

  5. PowerDesigner(五)-概念数据模型(CDM生成LDM,PDM和OOM)(转)

    概念数据模型 概念数据模型(Conceptual Data Model,CDM):表达的是数据整体逻辑结构,该结构独立于任何软件和数据存储结构,即它只是系统分析人员,应用程序设计人员,维护人员和用户之 ...

  6. HOWTO: Create native-looking iPhone/iPad applications from HTML, CSS and JavaScript

    HOWTO: Create native-looking iPhone/iPad applications from HTML, CSS and JavaScript Though it's not ...

  7. 重构:CSS也面向对象

    最初接触到面向对象的CSS还是因为项目中的CSS已经超过八千行,缺乏约束和管理,在近期或者是不远的将来,有迫切的要求需要重构.在前端重构中,我们已经讨论过了JavaScript面向对象的重构,在这个时 ...

  8. 斌哥的 Docker 进阶指南—监控方案的实现

    过去的一年中,关于 Docker 的话题从未断过,而如今,从尝试 Docker 到最终决定使用 Docker 的转化率依然在逐步升高,关于 Docker 的讨论更是有增无减.另一方面,大家的注意力也渐 ...

  9. NetCore第一步:千里之行 始于环境构筑

    今年的6月28号,微软发布了一个正式版本 NetCore.发布的同时,也同时发布了CoreStudio. 这个激动人心的时刻,让跨平台已经不再是什么神话. 让我们一起来开始Core的开发之旅吧. 万事 ...

  10. 创建MySQL存储过程示例

    创建MySQL存储过程是学习MySQL数据库必须要掌握的知识,下文对创建MySQL存储过程作了详细的介绍,供您参考学习. AD:2013大数据全球技术峰会课程PPT下载 下文将教您如何创建MySQL存 ...