hive2安装

简介

hive是基于hadoop的hdfs和mapreduce的一个数据仓库。hdfs是hive的存储,mapreduce是hive的sql执行引擎。hive可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能。

可以理解hive为一个sql解析器来接收发过来的任务,并将任务翻译成mapreduce任务去执行sql查询。

开发者可以通过hive的jdbc、jdbc、jdbc,重要的事情说三遍,因为这个实在是太方便了,而且hive的sql支持sql2003标准。目前大数据生态圈里的很多大数据技术都自成一家,数据操作的api都有自己的规范,使用起来很不方便,所以hive这个支持sql2003标准真的给开发带来很大方便。
继续刚才的,开发者通过hive的jdbc给hive传入sql,hive将sql解析成hive的mapreduce(spark、tez)任务执行,最后将结果反馈给开发者调用端。

闲话篇:由于hive的执行引擎是基于hadoop的mapreduce,但mapreduce本身很多计算过程是通过硬盘读写的,所以速度非常慢,所以基于hadoop的mapreduce执行引擎的hive执行效率并不是很高。所以就又了后来的hive on tez,hive on spark,tez也是一个分布式的计算引擎,可能知道的人比较少,hive on tez是早于hive on spark的,spark吸取了很多tez的优点,于2014 2015年诞生,非常的好用。下一篇我们来讲hive on spark。

环境

hadoop2.6.4集群(hadoop集群就不讲了,可看我的hadoop安装文章)
hive-2.0.0
jdk-1.7(安装略,与hadoop安装一起的)

安装hive

安装参考官网https://cwiki.apache.org/confluence/display/Hive/GettingStarted

1.下载安装

http://mirror.bit.edu.cn/apache/hive/
下载hive,我下载的版本为hive2.0.0

tar -xzvf apache-hive-2.0.0-bin.tar.gz -C /opt
mv apache-hive-2.0.0-bin hive
2.配置
  • 配置文件
cd conf
mv hive-default.xml.template hive-site.xml
mv hive-log4j2.properties.template hive-log4j2.properties
mv hive-exec-log4j2.properties.template hive-exec-log4j2.properties
  • hive-site.xml

hive需要一个数据库来存hive数据库的元数据,如表库字段等信息。hive默认使用的是apache的derby数据库,生产环境中一般使用mysql来当hive的元数据数据库metastore。
将mysql的驱动mysql-connector-java-xxx.jar 拷贝到 hive/lib/下面
下面需要在hive-site.xml里面配置mysql的连接信息。

cd conf
cp hive-default.template hive-site.xml
vi hive-site.xml
###将下面信息添加到hive-site.xml中,并且去掉hive-site.xml中同样的配置
<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://192.168.1.82:3306/hive?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-8</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>root</value>
    <description>username to use against metastore database</description>
</property>
<property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>123456</value>
    <description>password to use against metastore database</description>
</property>
3.初始化hive的metastore
schematool -initSchema -dbType mysql
###当出现下面的信息表示初始化成功
Starting metastore schema initialization to 2.0.0
Initialization script hive-schema-2.0.0.mysql.sql
Initialization script completed
schemaTool completed
###这时候你就可以去你的mysql数据库中查看metastore的信息
4.其它

这里有些人发现hive是基于hadoop的,但一直没有配置hadoop的信息。如果你的hive是安装在hadoop一个节点上,且这个节点上的环境变量里面有HADOOP_HOME,hive会使用这个位置下面hadoop的配置信息

启动

hive的启动有两种,一种cli命令行模式的已经弃用

bin/hive

另外一种是hiveserver模式,hiveserver模式有很多缺陷,也已经启用,现在有了hiveserver2

hive --service hiveserver2

测试

#敲入下面命令通过beeline进入hive
beeline -u jdbc:hive2://localhost:10000

Connecting to jdbc:hive2://localhost:10000
Connected to: Apache Hive (version 2.0.0)
Driver: Hive JDBC (version 2.0.0)
16/10/10 09:31:13 [main]: WARN jdbc.HiveConnection: Request to set autoCommit to false; Hive does not support autoCommit=false.
Transaction isolation: TRANSACTION_REPEATABLE_READ
Beeline version 2.0.0 by Apache Hive
0: jdbc:hive2://localhost:10000>

#查看数据库情况
show databases;

+----------------+--+
| database_name |
+----------------+--+
| default |
+----------------+--+
1 row selected (0.084 seconds)
0: jdbc:hive2://localhost:10000>

#创建表
create table test (f1 string,f2 string);
#插入数据
insert into test values("1","2");
insert into test values("3","4");
insert into test values("5","6");
#查看数据
select * from test;
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装Hive和MySQL的步骤如下: 1. 安装MySQL服务端: - 执行命令:rpm -ivh MySQL-server-5.5.52-1.linux2.6.x86_64.rpm 2. 安装MySQL客户端: - 执行命令:rpm -ivh MySQL-client-5.5.52-1.linux2.6.x86_64.rpm 3. 配置MySQL: - 修改MySQL配置文件:/etc/my.cnf,设置MySQL的主机地址为%(允许远程连接) - 启动MySQL服务:systemctl start mysqld - 设置开机自启动服务:systemctl enable mysqld 4. 安装Hive: - 解压Hive安装包:tar -zxvf apache-hive-3.1.3-bin.tar.gz -C /opt/server/ 5. 添加MySQL JDBC驱动到Hive安装包的lib目录下: - 将mysql-connector-java-5.1.49.jar文件上传到/opt/server/apache-hive-3.1.3-bin/lib目录 6. 配置Hive和MySQL的连接: - 进入Hive的conf目录:cd /opt/server/apache-hive-3.1.3-bin/conf - 复制hive-default.xml.template文件为hive-site.xml:cp hive-default.xml.template hive-site.xml - 编辑hive-site.xml文件,添加以下内容: <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://<MySQL主机地址>:<MySQL端口>/hive?createDatabaseIfNotExist=true</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value><MySQL用户名></value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value><MySQL密码></value> </property> 7. 清除系统自带的MySQL(如果有): - 切换到root用户 - 查找系统安装的MySQL:rpm -qa|grep -i mysql - 删除MySQL相关软件包:rpm -e <MySQL相关软件包名称> 请按照上述步骤进行Hive和MySQL的安装和配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值