hive-0.12升级成hive 0.13.1
安装了0.12之后,听说0.13.1有许多新的特性,包括永久函数,所以想更新成0.13版的(元数据放在mysql中)
新特性详见
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的更多相关文章
- 从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 ...
- Nuget包CommonServiceLocator从1.0.3升级到2.0.4时MvvmLight的ViewModelLocator初始化SimpleIoc.Default格式不匹配问题
原文:Nuget包CommonServiceLocator从1.0.3升级到2.0.4时MvvmLight的ViewModelLocator初始化SimpleIoc.Default格式不匹配问题 把旧 ...
- MVC3.0 项目升级到 MVC4.0
按照 http://www.asp.net/whitepapers/mvc4-release-notes#_Toc303253806 的步骤 第一步:修改web.config 注意,默认的MVC3网站 ...
- 【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 ...
- 安装zabbix3.0以及升级到5.0过程
关闭防火墙: systemctl stop firewalld.service systemctl disable firewalld.service 需要关闭 selinux,一定要关闭这个,开启s ...
- WangSql 3.0源码共享(WangSql 1.0重大升级到3.0)
WangSql 1.0博文阅读: http://www.cnblogs.com/deeround/p/6204610.html 基于1.0做了以下重大改动: 1.多数据实现方式调整 2.使用EmitM ...
- 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 ...
- Windows平台下面Oracle11.2.0.1 升级Oracle11.2.0.4 的简单步骤
1. 首先查看数据库的版本: 2. ESXi 上面的虚拟机挂在 oracle11.2.0.4的 iso磁盘 3. 执行set 进行升级 4. 安装选项进行选择 升级现有的数据库 5. 注意安装位置必须 ...
- [python]pip 版本9.0.1升级到10.0.1故障解决办法
问题背景: 在做android自动化时使用到第三方库uiautomator时,提示要安装,但安装该uiautomator库时提示当前的pip版本偏低,需要安装10.0.1版本方可.但在升级到升级到该版 ...
随机推荐
- background-clip
background-clip 用来将背景图片做适当的裁剪以适应实际需要. 语法: background-clip : border-box | padding-box | content-box | ...
- web项目自动化测试方案预研
一. 网上方案整理 Watir.Watir-Webdriver.Selenium2.QTP区别 Waitr与Watir-WebDriver有什么区别? Watir是非常优秀的一款自动化测试工具.其使 ...
- 我是一只it小小鸟阅读笔记
“我们具有各自的独特性--我们兴趣各异,有不同的家庭背景,不同的知识储备,不同的思维方式……但在现实中,我们也会碰到类似的人生选择的关口,我们会犯类似的错误,有类似的迷惘,也会为类似的精彩鼓掌,而且很 ...
- httpclient模拟浏览器get\post
一般的情况下我们都是使用IE或者Navigator浏览器来访问一个WEB服务器,用来浏览页面查看信息或者提交一些数据等等.所访问的这些页面有的仅 仅是一些普通的页面,有的需要用户登录后方可使用,或者需 ...
- 02.Apache FtpServer使用数据库管理用户
1.创建数据库及表 使用\apache-ftpserver-1.0.6\res\ftp-db.sql建表,内容如下: CREATE TABLE FTP_USER ( userid VARCHAR(64 ...
- Leetcode#56 Merge Intervals
原题地址 排序+合并,没啥好说的 第一次尝试C++的lambda表达式,有种写js的感觉,很神奇 c11就支持了lambda表达式,仔细想想,我学C++大概就是在09~10年,c11还没有发布,不得不 ...
- bzoj 1041 圆上的整点 分类: Brush Mode 2014-11-11 20:15 80人阅读 评论(0) 收藏
这里先只考虑x,y都大于0的情况 如果x^2+y^2=r^2,则(r-x)(r+x)=y*y 令d=gcd(r-x,r+x),r-x=d*u^2,r+x=d*v^2,显然有gcd(u,v)=1且u&l ...
- asp.net 分布式缓存
之前Velocity已被 集成到App Fabric(包含有WCF监控==)中. 网络Velocity使用大多是针对老版本: 老版本的下载地址: http://www.microsoft.co ...
- HDU1056 HangOver
HangOver Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Descript ...
- 已有a,b两个链表,每个链表中的结点包括学号、成绩。要求把两个链表合并,按学号升序排列
1.我的思路先将b链表连接在a链表的后面,这个很容易实现,将a链表最后的结点中的p.next改为指向b链表的头结点即可. 再将这个新链表用选择排序即可. 代码如下: #include<stdio ...