ITPub博客

首页 > 大数据 > Hadoop > CDH4 Hive

CDH4 Hive

Hadoop 作者:andyuan 时间:2013-10-24 09:29:52 0 删除 编辑
关于Hive
Apache Hive是建立在Hadoop之上强大的数据仓库应用程序;你可以使用Hive QL(一种类似于SQL的语言)来访问你的数据。你可以在安装有Hive的客户机上提交你的作业,你不需要将Hive安装在Hadoop集群的任何节点上。
HiveServer2
CDH4.1中,你可以部署HiveServer2,HiveServer2是HiveServer的改进版本,它提供新的Thrift API来处理JDBC或者ODBC客户端,Kerberos身份验证,多个客户端并发。HiveServer2还提供了新的CLI-BeeLine。
Cloudera推荐安装使用HiveServer2。(当你需要时,仍然可以使用原来的HiveServer,并且同时运行HiveServer2)
升级Hive
在所有有运行Hive 的主机上升级Hive:服务端和客户端
注意事项:查看CDH4中包含的Hive版本,检查版本和包信息,对于新的和已更改组件的重要信息可以查看CDH4 Release Notes。
升级Hive从CDH3到CDH4
注意事项:如果你已经执行卸载CDH3和所有组件的步骤,按照这里的描述升级CDH3到CDH4,你可以跳过步骤1,继续安装CDH4版的Hive。
Step 1:Remove Hive
警告:确保没有hive进程在运行,如果在升级过程中有Hive进程在运行,新版本将不能正常工作。
1.退出Hive控制台,确保没有Hive脚本在运行。
2.停止正在运行的HiveServer进程,如果HiveServer作为守护进程运行,用洗面的命令停止服务。
$ sudo service hive-server stop
如果HiveServer从命令行运行的,用-c 停止它
3.停止metastore服务,如果metastore作为守护进程运行,用下面的命令停止服务
$ sudo service hive-metastore stop
如果metastore从命令行运行的,那用-c 停止它
4.Remove Hive
注意事项:下面的例子说明怎样从CDH3的系统上卸载Hive,注意CDH3和CDH4采用不同的名字来命名Hive包。在CDH3的Hive中,包名以hadoop-hive为前缀,而在CDH4中前缀以hive开始。(如果你已经运行CDH4或者升级到最新版本就不需要删除Hive:Upgrading Hive from an Earlier Version of CDH4)
$ sudo yum remove hadoop-hive
SLES systems
$ sudo zypper remove hadoop-hive
Ubuntu and Debian systems
$ sudo apt-get purge hadoop-hive
Step 2:在所有主机上安装新版本(Hive服务端和客户端)
重要提示:在卸载过程中,包管理器将重命名已经修改的配置文件, to .rpmsave。在重新安装过程中,
Step 3: 配置Hive Metastore
在启动Hive控制台之前必须配置Hive的Metastore和初始化服务。查看Configuring the Hive Metastore获取详细信息。
Step 4: 升级的Metastore schema
当前版本的CDH4包含了Hive Metastore schema的变化。如果你已经使用Hive0.9或更早版本,在安装完Hive之后和运行Hive之前,必须升级Hive Metastore schema,要做到这一点,运行升级脚本/usr/lib/hive/scripts/metastore/upgrade/:
1.Schema upgrade scripts from 0.7 to 0.8 and from 0.8 to 0.9 for Derby, MySQL, and PostgreSQL
2.0.8 and 0.9 schema scripts for Oracle, but no upgrade scripts (you will need to create your own)
3.Schema upgrade scripts from 0.9 to 0.10 for Derby, MySQL, PostgreSQL and Oracle
注意事项:为了升级Hive从CDH3到CDH4,你必须升级schema到0.8,然后到0.9,再到0.10
重要提示:Cloudera强烈建议你在运行升级脚本之前对metastore database进行备份,如果在升级过程中遇到问题可以回滚到以前的版本。
在运行Hive之前必须升级metastore,如果不这么可能导致metastore损坏。
要运行脚本,你必须进入到脚本的所在目录/usr/lib/hive/scripts/metastore/upgrade/。
Step 5: 配置HiveServer2
HiveServer2是HiveServer(HiveServer1)的改进版本,Cloudera建议用HiveServer2来替代HiveServer1,只要你不直接依赖于HiveServer1的Thrift API。在初始化HiveServer2之前需要对其进行配置。具体细节可以查看Configuring HiveServer2。
注意事项:需要运行HiveServer1,如果你需要向后的兼容性,你可以继续在CDH4.1或后面的版本上运行。例如,现有的Perl和Python脚本绑定了HiveServer1,你可以在同一系统上同时安装和运行HiveServer1和HiveServer2;
Step 6: 为HiveServer2升级脚本,等等 (如果有必要)
如果你已经运行HiveServer1,您,当升级的时候可能需要对客户端脚本和应用程序进行一些小的修改:
1.HiveServer1不支持并发连接,对于每一个客户端,很多用户运行的是用一个HiveServer1实例,现在HiverServer2的单个实例可以解决HiveServer1的并发连接问题。
2.HiveServer2的JDBC驱动程序使用不同的连接URL和驱动程序类,需要修改脚本来适用新的版本。
3.Perl或Python脚本中使用HiveServer1的Thrift需要修改成HiveServer2的Thrift
Step 7:启动Metastore, HiveServer2, and BeeLine
Installing Hive
不同操作系统安装命令有所不同

RedHat and CentOS systems


$ sudo yum install   ...

SLES systems


$ sudo zypper install   ...

Ubuntu and Debian systems


$ sudo apt-get install   ...

  • hive – 基本软件包,提供了完整的语言和运行时(必须)
  • hive-metastore – 提供独立运行metastore服务的脚本 (可选)
  • hive-server – 提供独立运行hiveserver1服务的脚本 (可选)
  • hive-server2 – 提供独立运行hiveserver2服务的脚本 (可选)
<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/269986/viewspace-1119723/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论