写点什么

大数据 -12-Hive 基本介绍 下载安装配置 MariaDB 安装 3 台云服务 Hadoop 集群 架构图 对比 SQL HQL

作者:武子康
  • 2025-06-14
    山东
  • 本文字数:2055 字

    阅读完需:约 7 分钟

大数据-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL

点一下关注吧!!!非常感谢!!持续更新!!!

🚀 AI 篇持续更新中!(长期更新)

目前 2025 年 06 月 13 日更新到:AI 炼丹日志-28 - Audiblez 将你的电子书 epub 转换为音频 mp3 做有声书,持续打造实用 AI 工具指南!📐🤖

💻 Java 篇正式开启!(300 篇)

目前 2025 年 06 月 11 日更新到:Java-44 深入浅出 Nginx - 底层进程机制 Master Worker 机制原理 常用指令 MyBatis 已完结,Spring 已完结,深入浅出助你打牢基础!

📊 大数据板块已完成多项干货更新(300 篇):

包括 Hadoop、Hive、Kafka、Flink、ClickHouse、Elasticsearch 等二十余项核心组件,覆盖离线+实时数仓全栈!目前 2025 年 06 月 13 日更新到:大数据-278 Spark MLib - 基础介绍 机器学习算法 梯度提升树 GBDT 案例 详解

章节内容

上一节我们完成了:


  • Reduce JOIN 的介绍

  • Reduce JOIN 的具体实现

  • Driver

  • Mapper

  • Reducer

  • 运行测试

背景介绍

这里是三台公网云服务器,每台 2C4G,搭建一个 Hadoop 的学习环境,供我学习。之前已经在 VM 虚拟机上搭建过一次,但是没留下笔记,这次趁着前几天薅羊毛的 3 台机器,赶紧尝试在公网上搭建体验一下。


  • 2C4G 编号 h121

  • 2C4G 编号 h122

  • 2C2G 编号 h123


Hive 简介

Hive 是基于 Hadoop 的一个数据仓库,可以将结构化的数据文件映射为一张表,类似于 RDBMS 中的表,并提供 SQL 查询的功能,Hive 是由 FaceBook 开源,用于解决海量结构化日志的数据统计。


  • Hive 本质:将 SQL 转换为 MapReduce 任务进行执行

  • 底层是由 HDFS 来提供支持的

  • Hive 对数据更新不友好,主要是读多写少的


Hive 优点

  • 学习成本低,类似于 SQL 语言

  • 可处理海量数据,底层有 MapReduce 支持

  • 可水平扩展,基于 Hadoop

  • 支持自定义函数

  • 良好的容错性,某个节点错误后,HQL 仍然可以正常运行

  • 统一的元数据管理:表、字段、类型 等等

Hive 缺点

  • HQL 表达能力有限

  • 迭代计算无法表达

  • Hive 执行效率不高

  • 自动生成的 MR 程序 有些不够智能

  • Hive 调优困难

Hive 架构

安装配置

前置要求

  • 三台 Hadoop 集群

  • Hive 下载安装

  • MySQL 或者 MariaDB

下载 Hive

https://archive.apache.org/dist/hive/hive-2.3.9/


当前我计划,把 Hive 安装到 h122 节点上。122 空闲比较多。


cd /opt/software
复制代码


使用 wget 下载


wget -O apache-hive-2.3.9-bin.tar.gz https://archive.apache.org/dist/hive/hive-2.3.9/apache-hive-2.3.9-bin.tar.gz
复制代码


解压移动

cd /opt/softwaretar zxvf apache-hive-2.3.9-bin.tar.gz -C ../servers/cd ../serversls
复制代码


环境变量

vim /etc/profile
复制代码


在环境变量中,加入如下内容


# hiveexport HIVE_HOME=/opt/servers/apache-hive-2.3.9-binexport PATH=$PATH:$HIVE_HOME/bin
复制代码


填写内容如下:



刷新环境变量


source /etc/profile
复制代码

修改配置

cd $HIVE_HOME/conf
复制代码



修改 hive-site.xml


vim hive-site.xml
复制代码


注意如下配置,应该按照实际情况,修改成你的。


<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!-- hive元数据的存储位置 --><property>        <name>javax.jdo.option.ConnectionURL</name>        <value>jdbc:mysql://h122.wzk.icu:3306/hivemetadata?createDatabaseIfNotExist=true&amp;useSSL=false</value>        <description>JDBC connect string for a JDBC metastore</description></property><!-- 指定驱动程序 --><property>        <name>javax.jdo.option.ConnectionDriverName</name>        <value>com.mysql.jdbc.Driver</value>        <description>Driver class name for a JDBC metastore</description></property><!-- 连接数据库的用户名 --><property>        <name>javax.jdo.option.ConnectionUserName</name>        <value>hive</value>        <description>username to use against metastore database</description></property><!-- 连接数据库的口令 --><property>        <name>javax.jdo.option.ConnectionPassword</name>        <value>hive@wzk.icu</value>        <description>password to use against metastore database</description></property></configuration>
复制代码


填写的结果如下图:


MariaDB

直接安装

当前我是 Ubuntu 的机器,可以直接安装:


sudo apt install mariadb-server
复制代码


启动服务

sudo systemctl start mariadb
复制代码

安全配置

sudo mysql_secure_installation
复制代码


建立用户

进入数据库,执行如下的指令。


CREATE USER 'hive'@'%' IDENTIFIED BY '你的密码';GRANT ALL ON *.* TO 'hive'@'%';FLUSH PRIVILEGES;
复制代码


查询执行的结果


远程访问

vim /etc/mysql/mariadb.conf.d/50-server.cnf
复制代码


修改 bind-address



创建 ROOT 用户,开启远程访问。


CREATE USER '你的用户'@'%' IDENTIFIED BY '你的密码';
复制代码


查看当前的表信息


SELECT Host, User FROM mysql.user;
复制代码


刷新权限

FLUSH PRIVILEGES;
复制代码

初始化

我们需要给 Hive 一个链接的 Jar 包,平常我们写 JDBC 的时候,也会用到:


把mysql-connector-java-8.0.19.jar拷贝到 $HIVE_HOME/lib
复制代码


在 Hive 节点上,运行如下指令:


schematool -dbType mysql -initSchema
复制代码


查看结果

连接我们的数据库,可以看到如下的情况:



发布于: 刚刚阅读数: 4
用户头像

武子康

关注

永远好奇 无限进步 2019-04-14 加入

Hi, I'm Zikang,好奇心驱动的探索者 | INTJ / INFJ 我热爱探索一切值得深究的事物。对技术、成长、效率、认知、人生有着持续的好奇心和行动力。 坚信「飞轮效应」,相信每一次微小的积累,终将带来深远的改变。

评论

发布
暂无评论
大数据-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL_大数据_武子康_InfoQ写作社区