天天看点

hive简介与安装hive简介与安装

hive简介与安装

概念

Hive 是基于 hadoop 的一个数据仓库工具。由 facebook 开源,用于解决结构化日志的数据统计。 hive 可以将结构化的数据映射为一张表,并提供了类 sql 的查询功能,用来做数据分析。
hive简介与安装hive简介与安装
hive 本质上是一个类客户端工具,真实的数据依然存储在 hdfs 中。 hive 把 hdfs 的结构化数据通过模式关系映射为一张结构化数据库表来进行操作与使用,hive 把这种结构化的模式关系称为 meta store 元数据,保存在自带的 derby 数据库或配置的mysql 数据库。hive 执行sql 语句的本质,是把 sql 语句解析成 MapReduce 程序在 yarn 上调度执行。本质上 hive 不适合实时处理和小数据处理。hive 适合应用在 大数据的批处理,这样才能发挥hive sql 基于 mapreduce 的并发计算能力。hive 是数据仓库,因为上面所说的延迟计算(执行)的性质,所以hive 不适合做线上应用的实时查询数据库。hive 的扩展性和数据并行计算的特性都是基于 hadoop 的 hdfs 和mapreduce。hive 不同于关系数据库支持索引,Hive在加载数据的过程中不会对数据进行任何处理,甚至不会对数据进行扫描,因此也没有对数据中的某些Key建立索引。Hive要访问数据中满足条件的特定值时,需要暴力扫描整个数据,因此访问延迟较高。由于 MapReduce 的引入, Hive 可以并行访问数据,因此即使没有索引,对于大数据量的访问,Hive 仍然可以体现出优势。数据库中,通常会针对一个或者几个列建立索引,因此对于少量的特定条件的数据的访问,数据库可以有很高的效率,较低的延迟。由于数据的访问延迟较高,决定了 Hive 不适合在线数据查询。

hive 的安装

因为hive是数据仓库工具,所以不用去搭建什么分布式环境,只需要在本地安装部署即可。
上传 hive 离线包到家 ~ 目录(注意 hive 版本)
hive简介与安装hive简介与安装
解压hive资源并修改权限
# 解压到 /opt/module 下
sudo tar -xzvf hive.tar.gz -c /opt/module
# 重命名文件
cd /opt/module
sudo mv hive-1.1.0 hive
# 修改权限
sudo chown -R hadoop ./hive
           
修改 hive-env.sh 配置文件
配置文件都在 hive 的安装目录下的 conf 文件夹下
# 重命名为 hive-env.sh
mv hive-env.sh.template hive-env.sh
# 修该配置(可以通过 vim /或者? 检索)
vim hive-env.sh
           
# Hadoop 安装目录
export HADOOP_HOME=/opt/module/hadoop
# hive配置目录
export HIVE_CONF_DIR=/opt/module/hive/conf
           
hive简介与安装hive简介与安装
修改 hive-log4j.properties 配置
# 重命名
mv hive-log4j.properties.template hive-log4j.properties
# 创建日志存放目录
mkdir /opt/module/hive/logs
# 修该配置(可以通过 vim /或者? 检索)
vim  hive-log4j.properties
           

修改日志存放目录

hive.log.dir=/opt/module/hive/logs
           
修改 zookeeper的jar 包
如果安装了 zookeeper ,需要修改 hive 中zookeeper 的 jar 包
# 删除 hive 中 zookeeper 的jar 包
 rm -rf /opt/module/lib//zookeeper-*.*.*.jar
 # 拷贝 zookeeper jar 包到hive lib 目录下
 cp /opt/module/zookeepe/zookeeper-*.*.*.jar /opt/hive/lib/
           
hive 启动

配置 hive 环境变量

vim /etc/profile
           

添加如下配置

# hive
export HIVE_HOME=/opt/module/hive
export PATH=$PATH:$HIVE_HOME/bin
           
hive简介与安装hive简介与安装

hive 启动

# hive 运行在 hadoop 之上,所以先启动 hdfs 和 yarn
start-dfs.sh # 配置好 hadoop 环境变量
start-yarn.sh
# 启动 hive 客户端
hive # 这里的 数据库名提示,一会配置
           
hive简介与安装hive简介与安装

hive 安装扩展

安装mysql 数据库作为 meta store 元数据库

安装mysql https://blog.csdn.net/HYESC/article/details/100074665

修改 mysql 相关配置
mysql -u root -p 
# 创建 hive 数据库用于存储元数据 meta store
create database hive;
# 创建 hive 用户
grant all on *.* to [email protected] identified by 'hive';
 #刷新mysql系统权限关系表
flush privileges;
           

上传mysql驱动到 hive lib 中

# hive 中mysql数据库的驱动影响 hive 连接数据库的使用,这里采用如下版本驱动完全适应 hive 版本,
cp mysql-connector-java-5.1.46-bin.jar /opt/module/hive/lib/
           
hive简介与安装hive简介与安装
hive简介与安装hive简介与安装
修改 hive-site.xml(hive 安装目录 conf 下)配置 mysql 数据库
# 如果没有 hive-site.xml 文件直接 vim hive-site.xml 创建,如果有hive-site.xml.template则进行重命名
vim hive-site.xml
           
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl" target="_blank" rel="external nofollow" ?>
<configuration>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false</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>hive</value>
    <description>username to use against metastore database</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>hive</value>
    <description>password to use against metastore database</description>
  </property>
  <!--显示标头信息-->
  <property>
      <name>hive.cli.print.header</name>
       <value>true</value>
  </property>
  <property>
     <name>hive.cli.print.current.db</name>
     <value>true</value>
   </property>
</configuration>
           

修改 hive-site.xml 配置显示标头信息

参考上部配置的 最后的 <!--显示标头信息-->
<!--显示标头信息-->
  <property>
      <name>hive.cli.print.header</name>
       <value>true</value>
  </property>
  <property>
     <name>hive.cli.print.current.db</name>
     <value>true</value>
   </property>
           

启动hive

hive简介与安装hive简介与安装

查看mysql

hive简介与安装hive简介与安装
上一篇: #潮流视频