大数据平台搭建(三):hive 介绍和安装配置

#前言

     集群我们已经弄好了,本章开始搭建hive。

1.hive介绍

    1.Hive是什么?
     官方解释:Hive是基于Hadoop的数据仓库解决方案。由于Hadoop本身在数据存储和计算方面有很好的可扩展性和高容错性,因此使用Hive构建的数据仓库也秉承了这些特性。
     简单来说,Hive就是在Hadoop上架了一层SQL接口,可以将SQL翻译成MapReduce去Hadoop上执行,这样就使得数据开发和分析人员很方便的使用SQL来完成海量数据的统计和分析,而不必使用编程语言开发MapReduce那么麻烦。
    2.hive经典架构图

这里写图片描述

     如图中所示,Hive通过给用户提供的一系列交互接口,接收到用户的指令(SQL),使用自己的Driver,结合元数据(MetaStore),将这些指令翻译成MapReduce,提交到Hadoop中执行,最后,将执行返回的结果输出到用户交互接口。
     在使用过程中,至需要将Hive看做是一个数据库就行,本身Hive也具备了数据库的很多特性和功能。
     Hive擅长的是非实时的、离线的、对响应及时性要求不高的海量数据批量计算,即席查询,统计分析。

##2. centos7安装mysql

######     目的:为了存储hive的元数据表,如果用hive自带的Derby库,起一个hive shell连接就要单独创建一个库,不能够共享元数据表。
######     1.直接yum安装没有源,所以先下载rpm包

     rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

######     2.查看当前可用的mysql安装资源

     yum repolist enabled | grep “mysql.-community.

######     3.yum方式安装mysql

     yum -y install mysql-community-server

######     4.开机启动

     systemctl enable mysqld

######     5.启动mysql服务进程

     systemctl start mysqld

######     6.重置密码

     mysql_secure_installation
     这里写图片描述

######     7.进入mysql命令行,mysql -uroot -p123
######       执行下面的语句 ( .:所有库下的所有表 %:任何IP地址或主机都可以连接 root 和 123是mysql的用户密码):
######       GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘123’ WITH GRANT OPTION;
######       FLUSH PRIVILEGES; //权限立即生效
######    
######      

3.安装hive

######     1.将下载好的tar包(版本别下错,前面章节已经介绍版本)上传到hadoop203
######     2.tar -zxvf 解压,将hive加入环境变量

vim /etc/profile

export HIVE_HOME=/home/hadoop/hive
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HIVE_HOME/bin

source /etc/profile

######    3.新增hive-site.xml并配置,其他文件我没有配置都是默认的。
这里写图片描述

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
	<property>
		<name>hive.metastore.warehouse.dir</name>
		<value>/hivedata/warehouse/</value>
		<description>Hive在HDFS上的根目录,内部表的hdfs目录</description>
	</property>
	<property>
		<name>javax.jdo.option.ConnectionURL</name>
		<value>jdbc:mysql://192.168.8.203:3306/hive?createDatabaseIfNotExist=true</value>
		<description>Hive元数据库的连接串,红色为数据库名</description>
	</property>
	<property>
		<name>javax.jdo.option.ConnectionDriverName</name>
		<value>com.mysql.jdbc.Driver</value>
		<description>Hive元数据库JDBC驱动</description>
	</property>
	<property>
		<name>javax.jdo.option.ConnectionUserName</name>
		<value>root</value>
		<description>Hive元数据库用户名</description>
	</property>
	<property>
		<name>javax.jdo.option.ConnectionPassword</name>
		<value>123</value>
		<description>Hive元数据库密码</description>
	</property>
	<property>
		<name>datanucleus.autoCreateTables</name>
		<value>true</value>
		<description>不存在时,自动创建Hive元数据表</description>
	</property>
	<property>
		<name>datanucleus.autoCreateColumns</name>
		<value>true</value>
		<description>不存在时,自动创建Hive元数据列</description>
	</property>
	<property>
		<name>datanucleus.fixedDatastore</name>
		<value>false</value>
	</property>
	<property>
		<name>datanucleus.autoStartMechanism</name>
		<value>SchemaTable</value>
	</property>
</configuration>

至此,hive配置就基本完成!


4.hive版本的选择,影响hive用户接口

######     1.hive cli, 1.0.0后已经被废弃,但是还是能用的。
这里写图片描述

######    2. hive1.0.0之后官方推荐beeline + httpserver2的方式,但是考虑到hive cli 用的比较广泛,所以在beeline之上又封装了一层。
######     新hive cli 切换命令:export USE_DEPRECATED_CLI=false
######     详情可参考官方解释:
######      https://cwiki.apache.org/confluence/display/Hive/Replacing+the+Implementation+of+Hive+CLI+Using+Beeline
######      但是,我发现1.1.0版本的新cli不太好使,所以决定要么用老的cli ,要么用beeline。这里写图片描述

######    3.beeline简单介绍
######     HiveServer2提供了一个新的命令行工具Beeline,它是基于SQLLine CLI的JDBC客户端。Beeline工作模式有两种,即本地嵌入模式和远程模式。嵌入模式情况下,它返回一个嵌入式的Hive(类似于Hive CLI);而远程模式则是通过Thrift协议与某个单独的HiveServer2进程进行连接通信。
######    4.beeline本地嵌入模式操作hive这里写图片描述
######     远程模式(暂不研究,下图标错,应该是先启动hiveserver2):
这里写图片描述

5.hive使用

######     1.上面可知,我用的是beeline,进入命令行后,需要进行连接,如下图,用户密码直接回车跳过
这里写图片描述


总结:

     本文主要讲了centos7中mysql安装和hive安装,并简单介绍了hive的用户接口(3种,看hive架构图)。下一章节介绍hive表和UDF等。

[大数据平台搭建(四):hive中的表及UDF][id]
[id]: https://blog.csdn.net/u012415035/article/details/79934188

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值