伪分布式部署Hive

文章目录

  • [1 Hadoop 伪分布式安装](#1 Hadoop 伪分布式安装)
  • [1 Hive下载](#1 Hive下载)
  • [2 Hive配置](#2 Hive配置)
  • [3 安装MySQL JDBC连接器](#3 安装MySQL JDBC连接器)
  • [4 连接Hive CLI](#4 连接Hive CLI)
    • [4.1 初始化数据库](#4.1 初始化数据库)
    • [4.2 连接Hive](#4.2 连接Hive)

1 Hadoop 伪分布式安装

假设我们已经安装好hadoop伪分布式

1 Hive下载

Hive下载地址

2 Hive配置

Hive伪分布式需要在conf文件夹下修改两个文件,hive-env.sh用于指定hive找到hadoop,hive-site.xml用于指定megastore所连接的数据库

hive-env.sh

shell 复制代码
# Set HADOOP_HOME to point to a specific hadoop install directory
export HADOOP_HOME=/Users/collinsliu/hadoop-3.3.6/

# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/Users/collinsliu/hive-3.1.3/conf

hive-site.xml

shell 复制代码
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>

<!-- jdbc 连接的 URL -->
<property>
	<name>javax.jdo.option.ConnectionURL</name>
	<value>jdbc:mysql://localhost:3306/metastore?useSSL=false</value>
</property>

<!-- jdbc 连接的 Driver-->
<property>
	<name>javax.jdo.option.ConnectionDriverName</name>
	<value>com.mysql.jdbc.Driver</value>
</property>

<!-- jdbc 连接的 username-->
<property>
	<name>javax.jdo.option.ConnectionUserName</name>
	<value>YOUR_MYSQL_USERNAME</value>
</property>

<!-- jdbc 连接的 password -->
<property>
	<name>javax.jdo.option.ConnectionPassword</name>
	<value>YOUR_MUSQL_PASSWORD</value>
</property>

<!-- Hive 元数据存储版本的验证 -->
<property>
	<name>hive.metastore.schema.verification</name>
	<value>false</value>
</property>

<!--元数据存储授权-->
<property>
	<name>hive.metastore.event.db.notification.api.auth</name>
	<value>false</value>
</property>

<!-- Hive 默认在 HDFS 的工作目录 -->
<property>	
	<name>hive.metastore.warehouse.dir</name>
	<value>/user/hive/warehouse</value>
</property>

<!-- 指定 hiveserver2 连接的 host -->
<property>
	<name>hive.server2.thrift.bind.host</name>4
	<value>localhost</value>
</property>

<!-- 指定 hiveserver2 连接的端口号 -->
<property>
	<name>hive.server2.thrift.port</name>
	<value>10000</value>
</property>

<!-- 指定本地模式执行任务,提高性能 -->
<property>
	<name>hive.exec.mode.local.auto</name>
	<value>true</value>
</property>
</configuration>

3 安装MySQL JDBC连接器

Hive metadata需要保存在外置数据库中,建议保存在MySQL数据库中。首先需要手动安装MYSQL,并且下载相应版本的JDBC Connector,下载地址在这里.,

JDBC Connector需要复制到lib文件夹中

4 连接Hive CLI

4.1 初始化数据库

首先需要建立数据库。进入mysql客户端,建立metadata数据库

shell 复制代码
> mysql -u USER_NAME -p

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 176
Server version: 8.0.27 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


> create database metastore;

接下来,为Hive初始化数据库。

相应的操作在bin文件夹中:

shell 复制代码
> ./hive -initSchema -dbtype mysql --verbose

4.2 连接Hive

连接Hive的指令操作在bin文件夹中

shell 复制代码
> ./hive --service cli

测试Hive

shell 复制代码
> create database;

查看是否报错

相关推荐
WX187021128738 小时前
在分布式光伏电站如何进行电能质量的治理?
分布式
不能再留遗憾了11 小时前
RabbitMQ 高级特性——消息分发
分布式·rabbitmq·ruby
茶馆大橘11 小时前
微服务系列六:分布式事务与seata
分布式·docker·微服务·nacos·seata·springcloud
材料苦逼不会梦到计算机白富美14 小时前
golang分布式缓存项目 Day 1
分布式·缓存·golang
想进大厂的小王14 小时前
项目架构介绍以及Spring cloud、redis、mq 等组件的基本认识
redis·分布式·后端·spring cloud·微服务·架构
Java 第一深情14 小时前
高性能分布式缓存Redis-数据管理与性能提升之道
redis·分布式·缓存
ZHOU西口16 小时前
微服务实战系列之玩转Docker(十八)
分布式·docker·云原生·架构·数据安全·etcd·rbac
zmd-zk16 小时前
kafka+zookeeper的搭建
大数据·分布式·zookeeper·中间件·kafka
时差95316 小时前
【面试题】Hive 查询:如何查找用户连续三天登录的记录
大数据·数据库·hive·sql·面试·database
苍老流年16 小时前
Hive中各种Join的实现
数据仓库·hive·hadoop