hive搭建完整教学

news2024/12/23 1:34:12

目录

  • 简介
  • 准备工作
  • 安装步骤
    • (一)、下载hive包并解压到指定目录下
    • (二)、设置环境变量
    • (三)、下载MySQL驱动包到hive的lib目录下
    • (四)、将hadoop的guava包拷贝到hive
    • (五)、在mysql中创建metastore数据库
    • (五)、修改配置
    • (六)、初始化元数据
    • (七)、启动hive
  • 总结

简介

Hive是一个建立在Hadoop上的数据仓库工具,它提供了一个类似于SQL的查询语言来分析大规模数据。

Hive具有以下几个主要特点:

1. 处理大规模数据高效
能够处理TB至PB级数据,并优化MapReduce任务以提高效率。

2.高可扩展性和容错性
利用Hadoop生态系统实现高效扩展,支持大规模并行计算。
3.数据管理与存储
提供表、分区等抽象,方便数据组织和管理。
4.灵活性和集成性
支持自定义数据类型、函数和脚本,实现复杂查询和数据转换。

5.类SQL查询语言
使用与SQL相似的HiveQL,使数据分析变得简单。

准备工作

在安装Hive之前,通常需要安装和配置以下几个组件:

Java开发工具包(JDK):Hive是基于Hadoop的,而Hadoop需要Java环境来运行,因此必须安装JDK。

Hadoop:Hive是一个基于Hadoop的数据仓库,所以必须先安装Hadoop集群,并确保其健康可用。特别是在启动Hive之前,需要确保Hadoop集群已经启动,并且HDFS的安全模式已经关闭。

MySQL:Hive为了操作HDFS上的数据集,需要知道数据的切分格式、行列分隔符、存储类型、是否压缩以及数据的存储地址等信息。这些信息会被存储到一张表中(元数据),而这张表通常会被存储到MySQL中。

除了上述组件外,还需要确保服务器的基础环境配置正确,包括集群时间同步、防火墙关闭、主机Host映射、免密登录等。

安装步骤

搭建Hive环境并不复杂,下面是一个保姆级的教程来帮助你搭建Hive环境。

(一)、下载hive包并解压到指定目录下

解压命令:tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /usr/local/src/
重命名:mv apache-hive-3.1.2-bin hive

(二)、设置环境变量

vim /root/.bash_profile  --> 环境变量只对root用户生效

在文件的最后,添加如下两句:
export  HIVE_HOME=/usr/local/src/hive -->根据自己的目录进行更改
export  PATH=$HIVE_HOME/bin:$PATH

然后执行:
source /root/.bash_profile --> 使环境变量立即生效

(三)、下载MySQL驱动包到hive的lib目录下

mysql-connector-java-8.0.23.jar

(四)、将hadoop的guava包拷贝到hive

删除hive自带的guava包:rm -rf guava-19.0.jar
拷贝:cp guava-27.0-jre.jar /usr/local/src/hive/lib -->去到hadoop的common/lib下再拷贝

(五)、在mysql中创建metastore数据库

登录:mysql -p123456  --->我的密码是123456
创建库:CREATE DATABASE IF NOT EXISTS metastore;
查看库:show databases;

(五)、修改配置

位置:/hive/conf
创建 hive-site.xml

<?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://ip地址:3306/metastore?useSSL=false</value>
       </property>
       <!-- jdbc 连接的 Driver-->
       <property>
           <name>javax.jdo.option.ConnectionDriverName</name>
           <value>com.mysql.cj.jdbc.Driver</value>
       </property>
       <!-- jdbc 连接的 username-->
       <property>
           <name>javax.jdo.option.ConnectionUserName</name>
           <value>root</value>
       </property> 
       <!-- jdbc 连接的 password -->
       <property>
           <name>javax.jdo.option.ConnectionPassword</name>
           <value>123456</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>/usr/local/src/hive/warehouse</value>
       </property>
       <!-- 显示表头 -->
       <property>
           <name>hive.cli.print.header</name>
           <value>true</value>
       </property>
       <!-- 显示当前库 -->
       <property>
           <name>hive.cli.print.current.db</name>
           <value>true</value>
       </property>
       <!-- 配置元数据远程连接地址 -->
       <property>  
           <name>hive.metastore.uris</name>
           <value>thrift://master:9083</value>  
       </property>  
   </configuration>

注意:把配置文件中的ip地址修改为自己的ip地址

(六)、初始化元数据

初始化 Hive 元数据库(要先启动Hadoop)
./bin/schematool -initSchema -dbType mysql -verbose

在这里插入图片描述

(七)、启动hive

前台启动 Hive 元数据服务 :hive --service metastore 
进入 Hive: hive --service cli 
创建任意库,检测是否正常: create database if not exists test;

在这里插入图片描述
在这里插入图片描述

总结

通过本次教学,希望读者能够掌握Hive的搭建方法,利用Hive来处理和分析大规模数据,为企业带来更大的价值。以上就是搭建Hive环境的基本步骤。当然,在实际搭建过程中还有很多细节需要注意,例如配置Hadoop和Hive的版本兼容性、调整Hive的配置参数以优化性能等。希望这篇文章能帮助你搭建Hive环境。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1625140.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

揭露 FileSystem 引起的线上 JVM 内存溢出问题

作者&#xff1a;来自 vivo 互联网大数据团队-Ye Jidong 本文主要介绍了由FileSystem类引起的一次线上内存泄漏导致内存溢出的问题分析解决全过程。 内存泄漏定义&#xff08;memory leak&#xff09;&#xff1a;一个不再被程序使用的对象或变量还在内存中占有存储空间&#x…

区块链基础——区块链应用架构概览

目录 区块链应用架构概览&#xff1a; 1、区块链技术回顾 1.1、以太坊结点结构 1.2、多种应用场景 2、区块链应用架构概览 2.1、传统的Web2 应用程序架构 2.2、Web3 应用程序架构——最简架构 2.3、Web3 应用程序架构——前端web3.js ether.js 2.4、Web3 应用程序架构—…

无人零售与传统便利店的竞争优势

无人零售与传统便利店的竞争优势 成本控制 • 无人零售 显著降低了人力成本&#xff0c;无需支付店员薪资和相关福利&#xff0c;且通过智能化管理减少能源消耗与维护费用&#xff0c;尤其在高租金和高人流区域效益突出。 • 传统便利店 则承担较高的人员开支&#xff0c;…

如何申请免费SSL证书,把网站升级成HTTPS

HTTPS&#xff08;Hyper Text Transfer Protocol Secure&#xff09;是一种用于安全数据传输的网络协议&#xff0c;它可以有效地保护网站和用户之间的通信安全。然而&#xff0c;要使一个网站从HTTP升级到HTTPS&#xff0c;就需要一个SSL证书。那么&#xff0c;如何申请免费的…

java8 Stream流常用方法(持续更新中...)

java8 Stream流常用方法 1.过滤数据中年龄大于等于十八的学生2.获取对象中其中的一个字段并添加到集合(以学生姓名&#xff08;name&#xff09;为例)3.获取对象中其中的一个字段并转为其他数据类型最后添加到集合(以学生性别&#xff08;sex&#xff09;为例&#xff0c;将Str…

Django框架之Django安装与使用

一、Django框架下载 首先我们需要先确定好自己电脑上的python解释器环境&#xff0c;否则会导致后面项目所需要的库安装不了以及项目无法运行的问题。 要下载Django并开始使用它&#xff0c;你可以按照以下步骤进行&#xff1a; 1、安装Python 首先&#xff0c;确保你的计算…

Oracle 监控 SQL 精选 (一)

Oracle数据库的监控通常涉及性能、空间、会话、对象、备份、安全等多个层面。 有效的监控可以帮助 DBA 及时发现和解决问题&#xff0c;提高数据库的稳定性和性能&#xff0c;保障企业的数据安全和业务连续性。 常用的监控指标有&#xff1a; 性能指标&#xff1a; 查询响应时间…

vue+springboot项目的登录验证码(JAVA自带)

后台springboot CaptureController package com.example.controller;import com.example.common.Result; import com.example.service.AuthCodeService; import com.example.utils.CodeUtils; import lombok.SneakyThrows; import org.apache.ibatis.annotations.Param; impo…

ELF 1技术贴|CAN接口浅析:从原理到对测

引言 在当今智能化、网络化的时代&#xff0c;各种电子设备间的高效通信成为了技术发展的关键。而控制器局域网络&#xff08;Controller Area Network&#xff0c;简称CAN&#xff09;&#xff0c;作为嵌入式系统中不可或缺的通信协议&#xff0c;正扮演着链接桥梁的重要角色…

大厂常见算法50题-用两个栈实现队列

专栏持续更新50道算法题&#xff0c;都是大厂高频算法题&#xff0c;建议关注, 一起巧‘背’算法! 文章目录 题目解法总结 题目 解法 先搞清队列与栈的特点&#xff1a;队列先进先出&#xff0c;栈先进后出两个栈的分工&#xff1a;栈A入数据&#xff0c;栈B出数据需要保证取数…

COOIS 生产订单显示系统增强

需求说明&#xff1a;订单系统显示页面新增批量打印功能 增强点&#xff1a;CL_COIS_DISP_LIST_NAVIGATION -->TOOLBAR方法中新增隐式增强添加自定义打印按钮 增强点&#xff1a;BADI-->WORKORDER_INFOSYSTEM新增增强实施 实现位置&#xff1a;IF_EX_WORKORDER_INFOSYS…

【Leetcode】377. 组合总和 Ⅳ

文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 结果总结 题目 题目链接&#x1f517; 给你一个由 不同 整数组成的数组 n u m s nums nums&#xff0c;和一个目标整数 t a r g e t target target 。请你从 n u m s nums nums 中找出并返回总和为 t a r g e t targ…

【STM32+HAL+Proteus】系列学习教程---ADC(查询、中断、DMA模式下的电压采集)

实现目标 1、学会STM32CubeMX软件关于ADC的配置 2、掌握ADC三种模式&#xff08;查询、中断、DMA&#xff09;编程 3、具体目标&#xff1a;1、将开发板单片机采集到的电压值上传至上位机串口调试助手显示。 一、ADC 概述 1、什么是ADC? ADC&#xff08;Analog to Digit…

实验一: 设备密码配置与远程管理

1.实验环境 用路由器和交换机搭建实验环境 2.需求描述 实现管理员主机对交换机和路由器的远程管理 设备上配置的密码都要被加密 3.推荐步骤 对路由器配置的步骤如下&#xff1a; 实现路由器和PC的连通性配置VTY密码和特权模式密码在PC上Telnet 到路由器。 对交换机配置的…

智慧文旅:引领旅游产业智慧升级的创新模式

一、智慧文旅是什么&#xff1f; 智慧文旅是指以当地特色文化为核心&#xff0c;借助现代科技手段&#xff0c;实现旅游景区全面智慧升级的旅游模式。在智慧文旅中&#xff0c;新一代信息网络技术和装备得到充分运用&#xff0c;文化旅游基础设施得到新建和改善&#xff0c;特…

无源DWDM与有源DWDM:两种系统在5G时代的作用与挑战

随着互联网、大数据和云计算等技术的快速发展&#xff0c;光纤通信技术在现代通信领域扮演着越来越重要的角色。作为光纤通信的关键技术之一&#xff0c;波分复用&#xff08;DWDM&#xff09;技术在提高光纤传输容量、优化网络结构等方面具有重要意义。根据系统是否需要外部能…

Ubuntu关闭防火墙、关闭selinux、关闭swap

关闭防火墙 打开终端&#xff0c;然后输入如下命令&#xff0c;查看防火墙状态&#xff1a; sudo ufw status 开启防火墙命令如下&#xff1a; sudo ufw enable 关闭防火墙命令如下&#xff1a; sudo ufw disable 关闭selinux setenforce 0 && sed -i s/SELINUXe…

在windows上安装MySQL数据库全过程

1.首先在MySQL的官网找到其安装包 在下图中点击MySQL Community(gpl) 找到MySQL Community Server 选择版本进行安装包的下载 2.安装包&#xff08;Windows (x86, 64-bit), MSI Installer&#xff09;安装步骤 继续点击下一步 继续进行下一步&#xff0c;直到出现此界面&#…

ClickHouse 数据类型、表引擎与TTL

文章目录 数据类型注意事项 表引擎1.TinyLog 引擎2.MergeTree 引擎3.ReplacingMergeTree 引擎4.AggregatingMergeTree 引擎5.SummingMergeTree 引擎6.CollapsingMergeTree 引擎7.Distributed 引擎 TTL列级 TTL表级TTL 数据类型 ClickHouse 数据类型Java 数据类型数据范围UInt8…

陆游只爱前妻唐婉,深情大渣男太虐了

陆游和唐婉的感情太好了&#xff0c;经常写诗逗乐。陆游科举考不上&#xff0c;沉迷儿女情长&#xff0c;被母亲拆散。 秦侩当政&#xff0c;就是害死岳飞的那个秦桧。陆游第二次考进士&#xff0c;被秦侩批复“喜论恢复”&#xff0c;没考上。陆游的母亲生气&#xff0c;找个…