前言

说明安装hive之前,系统已经安装好了 java,hadoop,mysql。

版本说明
java jdk1.8
haoop 3.2.2
hive 3.1.2

目前hive官网是支持hadoop3.x 版本的,hive 版本要3.x。不然安装没法使用。

hive的安装模式有2种,一种是使用自带的derby数据库,另一种是使用mysql作为元数据库。derby方式一般没人用,因为它是单用户模式。
我这里主要讲解mysql方式。

hive仅仅是一个客户端工具,不存在集群概念,因此安装的时候无需每台机器安装,哪个节点需要使用,就安装在哪个节点上。多个节点安装的时候mysql的元数据库一定要相同(即要在同一个mysql同一个库上),否则各个客户端获取的数据不一致

1.hive安装

1.下载hive

下载链接:https://downloads.apache.org/hive/hive-3.1.2/

wget https://downloads.apache.org/hive/hive-3.1.2/

解压

tar -zxvf apache-hive-3.1.2-bin.tar.gz
2.修改配置文件

1.修改环境变量,添加Hive环境变量

vi /etc/profile#hive安装目录export HIVE_HOME=/usr/local/work/hive/apache-hive-3.1.2-bin
export PATH=$PATH:$HIVE_HOME/binsource /etc/profile   //应用变量更改
3.配置hive

1、在目录 /usr/local/work/apache-hive-3.1.2-bin 下创建目录 tmp 来存放hive运行过程中生成的临时文件

2、启动hadoop

start-all.sh

3、在 HDFS 上创建2个文件夹

hdfs dfs -mkdir -p /usr/local/work/hive/data
#存储数据
hdfs dfs -mkdir -p /usr/local/work/hive/warehouse

给文件增加读写权限报错:

chmod: changing permissions of '/usr/local/work/hive/flwarehouse': Cannot set permission for /usr/local/work/hive/flwarehouse. Name node is in safe mode.


解决办法:

hadoop dfsadmin -safemode leave

4、进入目录 /soft/apache-hive-2.3.6-bin/conf 创建 文件 hive-site.xml
(该目录下默认没有 hive-site.xml 文件 ,该文件可以通过复制 hive 自带的文件 hive-default.xml.template 来创建)

cd cd /usr/local/work/hive/apache-hive-3.1.2-bin/conf
cp hive-default.xml.template hive-site.xml

5、进入目录 /soft/apache-hive-2.3.6-bin/conf 创建 文件 hive-env.sh
(该目录下默认没有 hive-env.sh 文件 ,该文件可以通过复制 hive 自带的文件 hive-env.sh.template 来创建)

cd /usr/local/work/hive/apache-hive-3.1.2-bin/conf
cp hive-env.sh.template hive-env.sh

6、将 mysql-connector-java-8.0.26.jar 传输到 apache-hive-3.1.2-bin/lib 目录下

7、在mysql下,登录root用户,更改远程权限,并创建 名称 为 hive 的 数据库

 #建立数据库
create database fl_hive if not exists fl_hive;#设置远程登录的权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;#刷新配置
FLUSH PRIVILEGES;
5、修改Hive 配置文件

在 /usr/local/work/hive/apache-hive-3.1.2-bin/conf 下
修改 hive-site.xml 文件,通过搜索对应配置替换你的数据。

#MySQL 连接属性
javax.jdo.option.ConnectionURL
javax.jdo.option.ConnectionDriverName
javax.jdo.option.ConnectionUsername
javax.jdo.option.ConnectionPassword

编辑这个最好吧文件拉取出来,用编辑器打开查找替换。

<property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://xxx.xxx.48.130:3306/hive?useUnicode=true&amp;serverTimezone=UTC&amp;useUnicode=true&amp;characterEncoding=utf8&amp;useSSL=false</value>##此处IP地址为MySQL数据库的地址,文中是用的虚拟机乙的IP地址##因为 MySQL 8.0的要求,所以此处已经添加时区;如果你是MySQL5.0等版本,可以只填写  jdbc:mysql://192.168.48.130:3306/hive
</property><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.cj.jdbc.Driver</value>##MySQL8.0版本驱动名称为 com.mysql.cj.jdbc.Driver ;如果你是MySQL5.0等版本,驱动名称为com.mysql.jdbc.Driver
</property><property>
## 配置用户名<name>javax.jdo.option.ConnectionUserName</name><value>root</value>
</property><property><name>javax.jdo.option.ConnectionPassword</name><value>123456</value>##此处密码因人而异
</property>

#Hive 在 HDFS 上工作路径
hive.exec.scratchdir
#Hive 在存储数据时在 HDFS 中的路径
hive.metastore.warehouse.dir

<property><name>hive.exec.scratchdir</name><value>/usr/local/work/date/soft/apache-hive-3.1.2-bin</value>
</property><property><name>hive.metastore.warehouse.dir</name><value>/usr/local/work/hive/warehouse</value>
</property>

#HIve 临时目录路径
hive.exec.local.scratchdir
hive.downloaded.resources.dir
hive.server2.logging.operation.log.location

# 没有的文件,自己手动创建 比如 在 /usr/local/work/date/soft 创建 tmp<property><name>hive.exec.local.scratchdir</name><value>/usr/local/work/date/soft/apache-hive-3.1.2-bin/tmp/${user.name}</value>
</property><property><name>hive.downloaded.resources.dir</name><value>/usr/local/work/date/soft/apache-hive-3.1.2-bin/tmp/${hive.session.id}_resources</value>
</property><property><name>hive.server2.logging.operation.log.location</name><value>/usr/local/work/date/soft/apache-hive-3.1.2-bin/tmp/log/operation_logs</value>
</property>
6、初始化
cd /usr/local/work/hive/apache-hive-3.1.2-bin/binschematool -dbType mysql -initSchema

编译完成

查看数据库会有这么写表

7 运行hive
cd /usr/local/work/hive/apache-hive-3.1.2-bin/bin./hive

2、安装途中遇到的问题

1.guava 在 hadoop 和hive 的版本不一致。

java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument


解决办法:
保持都为高版本的。

删除hive的lib下面的guava-19.0.jar,然后拷贝hadoop下面的guava-27.0.jar即可。

2、java.lang.RuntimeException: com.ctc.wstx.exc.WstxParsingException: Illegal character entity: expansion character (code 0x8

解决办法:
这是配置文件的bug.
行的注释掉 或者删除描述。

3.通过 显示启动 可以看到具体的启动信息,用来排错。

 hive --service metastore &

访问hive的web ui 界面。

需要执行命令

./hive --service hiveserver2

http://ip:10002/

Hive安装和使用 centos7相关推荐

  1. centos7 hadoop+hive 安装

    准备四台虚拟机 虚拟机安装 1.创建新虚拟机 2.点击典型安装(推荐) 3.选择中文,点击自己分区 # 分区配置(JD使用) /boot 200M swap 512M # 本机内存不够用了,用swap ...

  2. 学习笔记Hive(二)—— Hive安装配置

    一.环境介绍 环境 描述 4个Linux操作系统虚拟机 使用centos7镜像配置 安装java 1.8以上版本 安装Hadoop 2.6.5以上版本 安装MySQL 5.1以上版本 二.安装MySQ ...

  3. Hive安装和配置(利用SecureCRT)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Hive安装和配置 前提 一.开启Hadoop集群 1.配置hadoop 2.启动hadoop 3.验证启动 二.安装和配置hive ...

  4. hadoop生态下hive安装过程

    Hive的安装部署 1.首先在Linux本地,新建/data/hive1目录,用于存放所需文件 (1)mkdir -p /data/hive1 (2)切换目录到/data/hive1下,上传apach ...

  5. Hadoop学习之第七章节:Hive安装配置

    环境要求: mysql hadoop hive版本为:apache-hive-1.2.1-bin.tar 1.设置hive用户 进入mysql命令行,创建hive用户并赋予所有权限: mysql -u ...

  6. Hive安装问题简述

      本文简要介绍Hive安装过程中的常见问题:版本下载地址.版本依赖.依赖jar包.重要的是,记录Hive的元数据库手动初始化时报错的解决方案并对其进行反思 Hive的元数据库手动初始化 当使用hiv ...

  7. Hive安装及常用交互命令

    Hive基本概念及常用交互命令 目录 Hive安装地址 Hive安装部署 将本地文件导入Hive案例 MySQL安装 Hive元数据配置到MySQL Hive常用交互命令 Hive其他命令操作 Hiv ...

  8. hive安装测试及Hive 元数据的三种存储方式

    一  hive安装测试 1.下载解压 tar -xf hive-x.y.z.tar.gz(本次安装为hive-0.8.1.tar.gz) 将解压后的hive-0.8.1文件放在系统的/home/had ...

  9. 进阶4:hive 安装

    安装包: apache-hive-2.1.1-bin.tar.gz 安装步骤: 1.上传   apache-hive-2.1.1-bin.tar.gz 到linux; 2.解压文件: tar zxvf ...

最新文章

  1. 【Java代码实现】递归两大经典问题-----“汉诺塔问题” 与 “青蛙跳台阶问题” 讲解
  2. 什么是数据库范式(NF)?从一范式到五范式分别是什么?
  3. 不讲武德,拿到户口后立马辞职...
  4. linux修改path路径
  5. OCM备考 一、Server config 之管理表空间
  6. 日志管理(一):slf4j原理简单介绍
  7. ie6 z-index bug
  8. 学了这么多年的人工智能居然还不了解它?
  9. 如何根据configure.ac和Makefile.am为开源代码产生当前平台的Makefile
  10. php 获取文件名 行号,PHP – 找到文件中的字符串,然后显示它的行号
  11. 数百Windows XP系统文件一一诠释(转)
  12. 华为手表广告营销案例和广告策划案例PPT模板
  13. C语言学习方法、学习平台及项目推荐
  14. JAVA基础知识之BufferedWriter流
  15. 我的ubuntu论坛账号
  16. 修正米勒编码matlab,修正米勒编码信源解码电路及其解码方法和节能控制方法
  17. bsearch()快搜函数
  18. 电脑上可以连接网线可以上网,但是WiFi没有了
  19. PowerBI实用技巧:案例一(动态切换坐标轴列值,例如交叉表头、列,图表坐标轴等)
  20. WPS插件 - 保存Unicode编码的CSV文件

热门文章

  1. OpenCV翻译总结
  2. python财务预算分析_财码Python管理会计小实验—弹性预算vs固定预算
  3. Raft算法国际论文全翻译
  4. android ar物体识别_拍照救命稻草 AR物体识别崛起_手机生活新闻-中关村在线
  5. 用户体验设计、交互设计、产品设计的联系和区别
  6. 从AX2012系统批量生成CSV格式数据
  7. 【北京】字节跳动50W(20-40K*15薪)测试开发工程师岗内推,这个岗位超适合你。
  8. C语言实现几种基本的进制转换
  9. jdk api 1.8
  10. 安装rtx时报错因计算机中丢失lo,RTX登录时提示“please install msxml5 or later”问题怎么解决...