概述
title: Ubuntu16安装HIVE全程记录
date: 2019-09-04 20:57:00
categories:
- 技术
tags: - Hive
为了方便的使用hdfs,我安装个hive,记录如下。
什么是 Hive
- Hive 由 Facebook 实现并开源,是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据映射为一张数据库表,并提供 HQL(Hive SQL)查询功能,底层数据是存储在 HDFS 上。
- Hive 本质: 将 SQL 语句转换为 MapReduce 任务运行,使不熟悉 MapReduce 的用户很方便地利用 HQL 处理和计算 HDFS 上的结构化的数据,是一款基于 HDFS 的 MapReduce 计算框架
- 主要用途:用来做离线数据分析,比直接用 MapReduce 开发效率更高。但是运行还是一样的慢~
安装-数据获取
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz
然后解压
tar -zxvf apache-hive-3.1.2-bin.tar.gz
安装-配置
-
hive conf 配置
进入到 解压后的hive目录 找到 conf目录, 修改配置文件
cp hive-env.sh.template hive-env.sh vi hive-env.sh
在hive-env.sh中指定hadoop的路径
HADOOP_HOME=/home/parallels/app/hadoop-3.1.2
在系统环境变量里添加(我的是在 ~/.bashrc) 并 source该文件,使其生效。
export HIVE_HOME=/home/hadoop/app/hive-1.1.0-cdh5.7.0 export PATH=$HIVE_HOME/bin:$PATH
-
数据库参数配置
-
配置日志(不管有没有问题,先把日志配上,不然后面不好定位问题)
$ cp hive-log4j2.properties.template hive-log4j2.properties $ vi hive-log4j2.properties 配置property.hive.log.dir property.hive.log.dir =/opt/hive/apache-hive-3.1.1/logs ##注意:logs需要自己创建,在hive目录下mkdir logs)
-
配置hive-site.xml
配置与mysql的连接。包括 MySql用户、密码、连接地址、驱动。
其中驱动需要下载、解压jar至hive目录的lib下。
下载驱动。解压后放入lib目录下。
wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/Connector-J/mysql-connector-java-5.1.48.tar.gz
下面配置连接信息。
cp hive-default.xml.template hive-site.xml
找到以下节点并修改
<property> <name>javax.jdo.option.ConnectionUserName</name> <value>hive</value><!-- 指定mysql用户名 --> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>hive</value><!-- 指定mysql密码 --> </property> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://127.0.0.1:3306/hive</value> </property><!-- 指定mysql数据库地址 --> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value><!-- 指定mysql驱动 --> </property>
在最前面添加以下2个节点,其中system:java.io.tmpdir对应的value值是你自己建立目录的路径。
<property> <name>system:java.io.tmpdir</name> <value>你自己建立的目录</value> </property> <property> <name>system:user.name</name> <value>${user.name}</value> </property>
hive.metastore.schema.verification value值改为false
-
-
mySql中的Hive需要初始化
该操作是初始化hive数据库中的与元数据相关的表。不要忘记!
schematool -dbType mysql -initSchema
启动
首先,执行hive --service metastore 启动Thrift服务端
hive --service metastore
然后执行hive命令
hive
如果没有得到你想要的结果,请在你配置的property.hive.log.dir路径下查看日志,比上网查找原因有用多了,因为配置项比较多,每个人的原因不尽相同。
比如我,进入hive后,在show databases; 总是提示:Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient,后面经过排查是没有初始化mysql的元数据信息。同时,网上因版本问题,配置的方法可能并不适用,自己多看日志多思考。
其他
ubuntu16.04中开启和关闭防火墙
-
开启防火墙
ufw enable
-
关闭防火墙
ufw disable
参考&致谢
https://blog.csdn.net/weixin_44105991/article/details/97780778
https://blog.csdn.net/zhangvalue/article/details/84282827
最后
以上就是坚定板凳为你收集整理的Ubuntu16安装HIVE全程记录的全部内容,希望文章能够帮你解决Ubuntu16安装HIVE全程记录所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复