Hive简单概述及hive-1.1.0-cdh5.7.0安装部署

软件版本


Hive概述

Hive由Facebook开源,起初是为了解决海量结构化日志的统计。是基于Hadoop之上的数据仓库(data warehouse)
Hive 是一个使用SQL来操作分布式存储系统上面的大数据集的读写和管理操作的一个客户端,Hive没有集群的概念。用JDBC去连接Server的话,不应该是走查询统计分析,而是去拿到统计结果,只拿结果,不做计算。


1.阶段版本

Stinger plan:(阶段版本)
08/2007: facebook
05/2013: 0.11.0 Stinger Phase1 ORC HiveServer2
10/2013: 0.12.0 Stinger Phase2 ORC improvement
04/2014: 0.13.0 Stinger Phase3 Vectorized query engine Tez(0.13版本后才能用)
11/2014: 0.14.0 Stinger.next Phase 1 Cost-based optimizer(CBO基于成本的优化,代价的优化)
01/2015: 1.0.0 (里程碑点)
Stinger:不是一个项目或产品,而是一种提议,旨在将Hive性能提升100倍(仅仅是个参考),包括Hive的改进和Tez项目两个部分。


2.Hive的特点

1、简单易用
2、扩展性好
3、共享的元数据管理:Hive/Pig/Impala/Spark SQL/Presto:e.g. Hive里创建了一张表,可以直接使用Spark SQL进行访问。


3.Hive架构

在这里插入图片描述


Hive部署

MySQL安装部署见文:
https://blog.csdn.net/aubekpan/article/details/84939517

Hadoop安装部署见文:
https://blog.csdn.net/aubekpan/article/details/84946071

1.系统环境变量
export HADOOP_HOME=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0
export PATH=$PATH:$HADOOP_HOME/bin

export HIVE_HOME=/home/hadoop/app/hive-1.1.0-cdh5.7.0
export PATH=$PATH:$HIVE_HOME/bin

在这里插入图片描述
默认hive的conf文件夹下是没有hive.env.sh和hive-site.xml文件的,cp复制一份


1)hive-env.sh文件配置hadoop目录
在这里插入图片描述
2)配置hive-site.xml文件

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
	<name>javax.jdo.option.ConnectionURL</name>
	
	<!--alterdb为要创建的数据库名,注意字符集设置-->
	<value>jdbc:mysql://localhost:3306/alterdb?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8</value>
</property>
<property>
	<name>javax.jdo.option.ConnectionDriverName</name>
	<value>com.mysql.jdbc.Driver</value>
</property>
<property>
	<name>javax.jdo.option.ConnectionUserName</name>
	<!--MySQL登录账户名-->
	<value>root</value>
</property>

<property>
	<name>javax.jdo.option.ConnectionPassword</name>
	<!--MySQL登录密码-->
	<value>123456</value>
</property>

3)拷贝mysql-connector-java-5.1.46-bin.jar至$Hive_HOME/lib目录下,如果没有jar包的话会报错

4)如下图配置成功
在这里插入图片描述


2.错误解决方案

运行Hive报错 Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

搜索了下产生这个错误主要是因为以下几个问题:
1)Hive的版本过高,降低版本即可
2)需要hive元数据库初始化,执行 schematool -dbType mysql -initSchema
3)HIVE_HOME/lib 下的derby-10.11.1.1.jar问题,,把derby-10.11.1.1.jar 换成derby-10.10.2.0.jar问题成功解决
4)hive-site.xml配置文件错误,这个也是最大概率事件,先仔细检查各个参数

错误报告参考博文:https://blog.csdn.net/hhj724/article/details/79094138

猜你喜欢

转载自blog.csdn.net/aubekpan/article/details/86709387