伪分布式部署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;

查看是否报错

相关推荐
郭涤生2 小时前
Chapter 10: Batch Processing_《Designing Data-Intensive Application》
笔记·分布式
郭涤生4 小时前
微服务系统记录
笔记·分布式·微服务·架构
马达加斯加D4 小时前
MessageQueue --- RabbitMQ可靠传输
分布式·rabbitmq·ruby
西岭千秋雪_6 小时前
Sentinel核心源码分析(上)
spring boot·分布式·后端·spring cloud·微服务·sentinel
dengjiayue9 小时前
消息队列(kafka 与 rocketMQ)
分布式·kafka·rocketmq
东阳马生架构10 小时前
zk基础—4.zk实现分布式功能二
分布式
ChinaRainbowSea11 小时前
8. RabbitMQ 消息队列 + 结合配合 Spring Boot 框架实现 “发布确认” 的功能
java·spring boot·分布式·后端·rabbitmq·java-rabbitmq
XF鸭11 小时前
在Hive中,将数据从一个表查询并插入到另一个表
数据仓库·hive·hadoop
IT成长日记11 小时前
【Kafka基础】Kafka高可用集群:2.8以下版本超详细部署指南,运维必看!
分布式·zookeeper·kafka·集群部署
码界筑梦坊12 小时前
基于Spark的酒店数据分析系统
大数据·分布式·python·信息可视化·spark·毕业设计·个性化推荐