Hive学习目录
- Hive官网
- Hive概述
- Hive安装部署
- Hive的命令行操作
Hive官网
- Hive官网文档可以全方位,多角度的诠释一门技术,就是有点费时间,还是建议先看视频入门,然后再看书,或者文档.
Hive概述
- Apache Hive ™是一款建立在Hadoop之上的开源数据仓库,可以将存储在Hadoop文件中的结构化、半结构化数据文件映射为一张数据库表,基于表提供了一种类似SQL的查询模型,称为Hive查询语言(HQL),用于访问和分析存储在Hadoop文件中的大型数据集.
- HQL可以把sql转换为map-reduce执行,爽的一批.
大数据姊妹篇之HiveHive官网Hive概述Hive安装部署Hive的命令行操作
Hive安装部署
- 服务器基础环境
- hadoop集群环境
- mysql安装
- Hive安装包下载, 这里以3.1.2为例,下载到/opt/software目录,解压到/opt/module目录,并重命名为hive-3.1.2
- 配置环境变量:
, 编辑完成后vi /etc/profile
使环境变量生效source/etc/profile
# Hive Home export HIVE_HOME=/opt/module/hive-3.1.2 export PATH=$HIVE_HOME/bin:$HIVE_HOME/sbin:$PATH
- 进入到conf目录下:
cd /opt/module/hive-3.1.2/conf
- 脚本重命名并添加内容,
1. cp hive-env.sh.template hive-env.sh 2. vi hive-env.sh
export HADOOP_HOME=/opt/module/hadoop-3.2.2/ export HIVE_CONF_DIR=/opt/module/hive-3.1.2/conf/ export HIVE_AUX_JARS_PATH=/opt/module/hive-3.1.2/lib
- 解决jar包冲突问题
cd /opt/module/hive-3.1.2 rm -rf lib/guava-19.0.jar cp /opt/module/hadoop-3.2.2/share/hadoop/common/lib/guava-27.0-jre.jar ./lib/
- 解决hdfs的访问权限配置信息,
然后重新启动dfs,yarn (具体参考hadoop集群搭建)vi /opt/module/hadoop-3.2.2/etc/hadoop/core-site.xml
<property> <name>dfs.permissions.enabled</name> <value>false</value> </property> <property> <name>hadoop.proxyuser.root.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.root.groups</name> <value>*</value> </property>
- 拷贝mysql驱动包到hive的lib目录下
- 在本目录下创建配置文件,
内容如下:vi hive-site.xml
<configuration> <!-- 记录HIve中的元数据信息 记录在mysql中 --> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://server1:3306/hive?createDatabaseIfNotExist=true&useSSL=false</value> </property> <!-- jdbc mysql驱动 --> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <!-- mysql的用户名和密码 --> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>Dd123=123</value> </property> <!-- 设置metastore的节点信息 --> <property> <name>hive.metastore.uris</name> <value>thrift://server1:9083</value> </property> <!-- H2S运行绑定host --> <property> <name>hive.server2.thrift.bind.host</name> <value>server1</value> </property> <!-- 关闭元数据存储授权 --> <property> <name>hive.metastore.event.db.notification.api.auth</name> <value>false</value> </property> <!-- 关闭元数据存储版本的验证 --> <property> <name>hive.metastore.schema.verification</name> <value>false</value> </property> </configuration>
- 初始化hive, 在hive的bin目录下执行
./schematool -initSchema -dbType mysql
- 启动成功
大数据姊妹篇之HiveHive官网Hive概述Hive安装部署Hive的命令行操作
Hive的命令行操作
- 进入到hive的bin目录, 启动metastore服务并且设置后台启动
nohup hive --service metastore &
- 接着执行
hive
- show databases;
大数据姊妹篇之HiveHive官网Hive概述Hive安装部署Hive的命令行操作
- show databases;