Hadoop环境搭建学习之Hive(4)

42 篇文章 0 订阅
33 篇文章 0 订阅

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

Hive高可用部署 HiveServer2高可用(HA)Metastore高可用(HA)基于Apache hive 3.1.2


提示:以下是本篇文章正文内容,下面案例可供参考

一、Hive是什么?

Hive是一个基于Hadoop的数据仓库工具,可以将结构化的数据文件映射成一张数据表,并可以使用类似SQL的方式来对数据文件进行读写以及管理。这套Hive SQL 简称HQL。Hive的执行引擎可以是MR、Spark、Tez。具体网络上查看
在这里插入图片描述

二、使用步骤

1.环境准备

操作系统:Windows 10
虚拟机:VMware 15.5
集群系统:Centos 7 64位
Zookeeper版本:zookeeper-3.4.10
Hadoop版本:hadoop-3.3.1
HBase版本:Hbase2.4.4
Hive版本:Hive3.1.2

2.集群规划

IPHostNameSoftwareProcess
192.168.74.88hadoop01hadoop,zookeeper,hbase,hive,mysqlDataNode,NodeManager,QuorumPeerMain,JournalNode,NameNode,DFSZKFailoverController,ResourceManager,HMaster,HRegionServer,RunJar,RunJar
192.168.74.89hadoop02hadoop,zookeeperDataNode,NodeManager,QuorumPeerMain,JournalNode,NameNode,DFSZKFailoverController,HRegionServer
192.168.74.90hadoop03hadoop,zookeeper,hbase,hvieDataNode,NodeManager,QuorumPeerMain,JournalNode,ResourceManager,HMaster,HRegionServer,RunJar

Hive metastore (HA)

节点hadoop01hadoop02hadoop03
metastore
hiveserver2
client

2.Hive远程模式安装

安装配置(示例):

# 创建一个新目录root
mkdir -p /data/hive
chown hadoop:hadoop /data/hive
su hadoop

cd /data/hive
tar -zxvf apache-hive-3.1.2-bin.tar.gz
# 重命名一下文件夹
mv apache-hive-3.1.2-bin app

cd /data/hive/app/conf/

# 将hive-env.sh.template拷贝一份命名hive-env.sh
scp hive-env.sh.template hive-env.sh
# 系统环境变量
vim ~/.bashrc
gedit ~/.bashrc

export HIVE_HOME=/data/hive/app
export PATH=$HIVE_HOME/bin:$PATH

source ~/.bashrc

# 编辑配置文件 hive-site.xml
# Hive 默认是没有带 Mysql 驱动程序的,安装Mysql
Hive 将元数据存储在 RDBMS 中,一般常用 MySQL 和 Derby。默认情况下,Hive 元数据 保存在内嵌的 Derby 数据库中,只能允许一个会话连接,只适合简单的测试。实际生产环境中不适用, 为了支持多用户会话,则需要一个独立的元数据库,使用 MySQL 作为元数据库,Hive 内部对 MySQL 提供了很好的支持
内置的derby主要问题是并发性能很差,可以理解为单线程操作。

# 初始化 MySql 数据库
使用 Hive schematool 初始化当前 Hive 版本的 Metastore 架构。该工具尝试从 Metastore 中找到当前架构(如果它在那里可用)。
  schematool 确定初始化或升级架构所需的SQL脚本,然后针对后端数据库执行这些脚本。从 Hive 配置中提取 Metastore 数据库连接信息,例如 JDBC URL,JDBC driver 和数据库凭据。

schematool -dbType mysql -initSchema

# 创建测试数据,以及在hadoop上创建数据仓库目录
vim /data/hive/app/testdata001.dat
12306,mname,yname
10086,my.mshk.top,you.mshk.top

# 在 Hadoop 上创建数据仓库目录
hadoop fs -mkdir -p /hive/warehouse

# 用 Shell 测试连接 Hive
nohup hive
hive> set hive.server2.logging.operation.level=NONE
hive> show databases;
hive> create database testmshk;
hive> show databases;
hive> use testmshk;
hive> create external table testtable(uid int,myname string,youname string) row format delimited fields terminated by ',' location '/hive/warehouse/testtable';
hive> LOAD DATA LOCAL INPATH '/data/hive/app/testdata001.dat' OVERWRITE INTO TABLE testtable;
hive> select * from testtable;
hive> quit;

# 拷贝hive到其他机器
scp -r /data/hive/app hadoop@hadoop02:/data/hive
scp -r /data/hive/app hadoop@hadoop03:/data/hive

# 在hadoop01、hadoop03上分别启动 metastore 服务
# 启动 metastore 服务
nohup hive --service metastore &
 
# 查询9083端口(metastore服务占用的端口)
lsof -i:9083
 

# 启动hadoop01上的 HiveServer2 服务
nohup hive --service hiveserver2 &

# 检查 hiveserver2 端口
lsof -i:10000

hadoop01:jps
在这里插入图片描述
hadoop03:jps
在这里插入图片描述
HiveServer2提供了WebUI:
在这里插入图片描述

2.使用DBeaver图形化界面工具

输入hiveserver2的地址与用户,第一次没有设置密码,默认为空,点击完成
在这里插入图片描述
在DBeaver界面工具上执行SQL语句
在这里插入图片描述
搭建完毕


总结

记录点点滴滴:
Hive高可用部署有 HiveServer2高可用(HA)和Metastore高可用(HA),下次配置下HiveServer2高可用(HA)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

panda_225400

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值