博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CenterOS的Hive环境的搭建日志及可能出现的问题和解决方法
阅读量:3959 次
发布时间:2019-05-24

本文共 3756 字,大约阅读时间需要 12 分钟。

前提:安装好hadoop集群和jdk。在使用多台虚拟机还需要安装好zookeeper。

Hive是什么?

Hive是一种建立在Hadoop文件系统上的数据仓库架构,并对存储在HDFS中的数据进行分析和管理,主要提供以下功能

  • 它提供了一系列的工具,可用来对数据进行提取/转化/加载(ETL);
  • 是一种可以存储、查询和分析存储在HDFS(或者HBase)中的大规模数据的机制;
  • 查询是通过MapReduce来完成的(并不是所有的查询都需要MapReduce来完成,
  • 在Hive0中对类似select a,b from XXX的查询通过配置也可以不通过MapReduce来完成,

Hive的数据存储模式

Hive的数据分为表数据和元数据,表数据是Hive中表格(table)具有的数据;而元数据是用来存储表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。下面分别来介绍。

Hive的数据存储

Hive是基于Hadoop分布式文件系统的,它的数据存储在Hadoop分布式文件系统中。Hive本身是没有专门的数据存储格式,也没有为数据建立索引,只需要在创建表的时候告诉Hive数据中的列分隔符和行分隔符,Hive就可以解析数据。所以往Hive表里面导入数据只是简单的将数据移动到表所在的目录中(如果数据是在HDFS上;但如果数据是在本地文件系统中,那么是将数据复制到表所在的目录中)。

安装步骤

一、Hive文件上传

1.上传安装包进行解压。使用tar命令进行解压,tar -zxvf apache-hive-2.0.0-bin.tar.gz -C /usr/local/src/

2.切换到解压的目录下:cd /usr/local/src
3.移动文件 :mv /usr/local/src/apache-hive-2.0.0-bin /usr/local/src/hive
4.给文件加权限:chown -R hadoop:hadoop hive
5.在cd ~目录下编辑/etc/profile文件。vi /etc/profile

将以下配置信息添加到/etc/profile文件的末尾。

# set Hive environmentexport HIVE_HOME=/usr/local/src/hive  # Hive安装目录export PATH=$HIVE_HOME/bin:$PATH # 添加将Hive的bin目录export HIVE_CONF_DIR=$HIVE_HOME/conf #Hive的环境变量

6.使用命令对配置文件进行刷新 source /etc/profile

二、
三、配置Hive参数

1.配置hive-site.xml文件:在安装hive目录下的conf文件夹下添加文件

在这里插入图片描述
在配置文件当中添加内容:

javax.jdo.option.ConnectionURL
jdbc:mysql://master:3306/hive_db?createDatabaseIfNotExist=true
javax.jdo.option.ConnectionUserName
hive
javax.jdo.option.ConnectionPassword
Password123$
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
hive.downloaded.resources.dir
/usr/local/src/hive/tmp
hive.exec.local.scratchdir
/usr/local/src/hive/tmp/${
hive.session.id}_resources
hive.querylog.location
/usr/local/src/hive/tmp
hive.server2.logging.operation.log.location
/usr/local/src/hive/tmp/operation_logs
hive.server2.webui.host
master
hive.server2.webui.port
10002

文件内容详解:

javax.jdo.option.ConnectionURL: JDBC连接字符串,默认为自带的metastore_db数据库,现以MySQL作为元数据存储地址,需建立JDBC连接,且hive_db处为实验二中创建的MySQL数据库,存储元数据。

javax.jdo.option.ConnectionUserName:连接MySQL的hive操作用户,实验二创建。
javax.jdo.option.ConnectionPassword:连接MySQL的hive操作用户密码,实验二创建。
javax.jdo.option.ConnectionDriverName:配置数据库连接驱动。
hive.downloaded.resources.dir:远程资源下载的临时目录。
hive.server2.webui.host:hiveserver2 WebUI页面访问地址。
hive.server2.webui.port: hiveserver2 WebUI页面访问端口。

除此之外,Hive默认配置文件为hive-default.xml.template。若用户没有对相关配置参数进行修改,Hive将读取默认配置文件参数进行启动,其他重要配置信息如:

hive.metastore.warehouse.dir:HDFS上存储配置数据仓库的目录。

hive.exec.scratchdir:hive用来存储不同阶段的map/reduce的执行计划的目录,同时也存储中间输出结果。

需要在HDFS上新建Hive的数据仓库文件夹,并赋予读写权限。使用以下命令

hadoop fs -mkdir -p /user/hive/warehousehadoop fs -chmod g+w /user/hive/warehousemkdir /usr/local/src/hive/tmp

2.配置hive-env.xml

在此处设置Hive和Hadoop环境变量,这些变量可以使用控制Hive的执行。直接执行命令
在这里插入图片描述
在文件当中添加以下内容:

export JAVA_HOME=/usr/local/src/javaexport HADOOP_HOME=/usr/local/src/hadoopexport HIVE_CONF_DIR=/usr/local/src/hive/confexport HIVE_AUX_JARS_PATH=/usr/local/src/hive/lib

退出保存,数据库的初始化,保证此时MySQL为启动状态执行一下命令。注意的是,需要将Hive连接MySQL的驱动器文件上传至Hive的lib文件夹下。这里我们还需要上传一个jar数据库驱动包。上传之后把这个jar包复制到hive安装的目录下面。

在这里插入图片描述
在这都完成之后,我们对hive元数据进行初始化:使用命令schematool -initSchema -dbType mysql在这之前我们需要确定mysql是正在运行的状态,查看一下:
在这里插入图片描述
mysql服务启动之后进行元数据初始化:

注意:在这里可能会出现问题,在输入命令后弹出信息,出错后,可能是使用的不是mysql数据库,回去检查一下hive-site.xml文件

在这里插入图片描述

Hive与MySQL建立连接。启动完毕后查看MySQL下hive_db数据库,发现多出许多个新表(55个)。
在这里插入图片描述
3.启动Hive数据库。
启动Hadoop集群,MySQL后,命令框输入hive。
在这里插入图片描述
启动之后输入几条命令进行简单的测试:

在这里插入图片描述

到这里hive就安装完成

转载地址:http://jzqzi.baihongyu.com/

你可能感兴趣的文章
一口一口吃掉Struts(六)——动态ActionForm
查看>>
一口一口吃掉struts(七)——ActionForward知多少
查看>>
浅析Hibernate映射(二)——关系映射(3)
查看>>
浅析Hibernate映射(四)——组件映射(component)
查看>>
Hibernate性能优化
查看>>
Spring核心ioc
查看>>
SSH框架总结(框架分析+环境搭建+实例源码下载)
查看>>
Struts2+Spring3+Mybatis3开发环境搭建
查看>>
mongoDB入门必读(概念与实战并重)
查看>>
通俗易懂解剖jbpm4
查看>>
云盘 同步盘介绍 同步工具介绍
查看>>
rsync
查看>>
win7 英文版电脑 不睡眠,不休眠
查看>>
Bash中如何判断一个命令是否存在 查看当前目录下文件的个数
查看>>
makefile
查看>>
linux 文件权限
查看>>
部分简化字感觉不如繁体字有深意
查看>>
cgo 崩溃 64位地址截断引发的挂死问题
查看>>
drbd
查看>>
网络 IP
查看>>