Hive安装教程-Hadoop集成Hive

文章目录

  • 前言
  • 一、安装准备
    • 1. 安装条件
    • 2. 安装jdk
    • 3. 安装MySQL
    • 4. 安装Hadoop
  • 二、安装Hive
    • 1. 下载并解压Hive
    • 2. 设置环境变量
    • 3. 修改配置文件
    • 3. 创建hive数据库
    • 4. 下载MySQL驱动
    • 5. 初始化hive数据库
    • 6. 进入Hive命令行界面
    • 7. 设置允许远程访问
  • 总结


前言

本文将介绍安装和配置Hive的步骤。在开始之前,我们需要满足一些安装条件,包括安装JDK、MySQL和Hadoop。我们将逐步指导您完成这些准备工作,并详细说明如何下载、解压和设置Hive。接下来,我们将修改Hive的配置文件,并创建Hive的元数据数据库。最后,我们将演示如何初始化Hive数据库并进入Hive命令行界面,以及如何设置允许远程访问。


一、安装准备

1. 安装条件

  • jdk版本:1.8+
  • MySQL版本:5.7+
  • Hadoop版本:2.2.0+
  • Hive版本:2.3.1

2. 安装jdk

下载地址:https://www.oracle.com/java/technologies/downloads/#java8

下载后上传到/tmp目录下。

然后执行下面命令,用于创建目录、解压,并设置系统级环境变量。

mkdir -p /opt/module
tar -zxvf /tmp/jdk-8u391-linux-x64.tar.gz -C /opt/module/
echo >> /etc/profile
echo '#JAVA_HOME' >> /etc/profile
echo "export JAVA_HOME=/opt/module/jdk1.8.0_391" >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
source /etc/profile

3. 安装MySQL

  • mysql5.7.44自动化安装教程
  • mysql5.7.37自动化安装教程

4. 安装Hadoop

  • hadoop集群部署教程
  • hadoop伪集群部署教程

二、安装Hive

1. 下载并解压Hive

wget --no-check-certificate https://archive.apache.org/dist/hive/hive-2.3.1/apache-hive-2.3.1-bin.tar.gz -P /tmp
mkdir -p /opt/soft/hive
tar -zxvf /tmp/apache-hive-2.3.1-bin.tar.gz -C /opt/soft/hive

2. 设置环境变量

设置Hive系统级环境变量,并加载环境变量。

echo >> /etc/profile
echo '#HIVE_HOME' >> /etc/profile
echo "export HIVE_HOME=/opt/soft/hive/apache-hive-2.3.1-bin" >> /etc/profile
echo 'export PATH=$PATH:$HIVE_HOME/bin' >> /etc/profile
source /etc/profile

3. 修改配置文件

默认配置文件 hive-default.xml 不可修改。

cd /opt/soft/hive/apache-hive-2.3.1-bin
cp conf/hive-default.xml.template conf/hive-default.xml

创建 hive-site.xml 文件。

cd /opt/soft/hive/apache-hive-2.3.1-bin
touch ./conf/hive-site.xml

并添加如下内容,把其中的相关主机名、MySQL账号和密码等修改为自己的。

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!-- 设置MySQL的URL --><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://hadoop103:3306/hive?useSSL=false</value>"</property><!-- 设置MySQL的Driver--><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.cj.jdbc.Driver</value></property><!-- 设置MySQL用户名 --><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value>"</property><!-- 设置MySQL密码 --><property><name>javax.jdo.option.ConnectionPassword</name><value>root</value>"</property><!-- 创建hdfs的hive仓库 --><property><name>hive.metastore.warehouse.dir</name><value>/user/hive/warehouse</value></property><!-- 指定hiveserver2连接的host --><property><name>hive.server2.thrift.bind.host</name><value>hadoop103</value>"</property><!-- 允许HiveServer2执行模拟用户操作 --><property><name>hive.server2.enable.doAs</name><value>true</value>"</property><!-- 指定hiveserver2连接的端口号 --><property><name>hive.server2.thrift.port</name><value>10000</value></property><!--控制在Hive CLI中查询结果是否打印列名的头部信息--><property><name>hive.cli.print.header</name><value>true</value></property><!--控制在Hive CLI中是否打印当前数据库的信息--><property><name>hive.cli.print.current.db</name><value>true</value></property><!--控制是否启用HiveServer2的主/备高可用性(Active/Passive HA)功能,当Hive交互式会话被启用时。启用此功能还需要将hive.server2.support.dynamic.service.discovery设置为启用。--><property><name>hive.server2.active.passive.ha.enable</name><value>true</value><description>Whether HiveServer2 Active/Passive High Availability be enabled when Hive Interactive sessions areenabled.This will also require hive.server2.support.dynamic.service.discovery to be enable.</description></property>
</configuration>

3. 创建hive数据库

连接到MySQL并创建hive数据库。

mysql -phadoop103 -P 3306 -uroot -proot -e "create database if not exists hive;"

4. 下载MySQL驱动

wget --no-check-certificate https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.16/mysql-connector-java-8.0.16.jar -P /tmp
cp /tmp/mysql-connector-java-8.0.16.jar $HIVE_HOME/lib

5. 初始化hive数据库

$HIVE_HOME/bin/schematool -dbType mysql -initSchema

初始化完成如下图所示。

在这里插入图片描述

6. 进入Hive命令行界面

$HIVE_HOME/bin/hive

如下图所示,如果可以成功进入Hive命令行界面,则安装成功。

在这里插入图片描述

7. 设置允许远程访问

设置允许远程访问。

nohup hive --service hiveserver2 &

测试远程访问是否开启成功。

beeline -u jdbc:hive2://hadoop103:10000 -n root

成功如下图所示。
在这里插入图片描述


总结

本文详细介绍了安装和配置Hive的步骤。您学习了如何下载、解压和设置Hive,并修改了配置文件以适应您的环境。我们还创建了Hive的元数据数据库,并初始化了Hive数据库。最后,我们演示了如何进入Hive命令行界面和设置允许远程访问。通过本文的指导,您应该能够成功安装和配置Hive,并开始使用它进行数据处理和分析。

希望本教程对您有所帮助!如有任何疑问或问题,请随时在评论区留言。感谢阅读!

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring web开发(入门)

1、我们在执行程序时&#xff0c;运行的需要是这个界面 2、简单的web接口&#xff08;127.0.0.1表示本机IP&#xff09; package com.example.demo;import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestCont…

【sgExcelGrid】自定义组件:简单模拟Excel表格拖拽、选中单元格、横行、纵列、拖拽圈选等操作

特性&#xff1a; 可以自定义拖拽过表格可以点击某个表格&#xff0c;拖拽右下角小正方形进行任意方向选取单元格支持选中某一行、列支持监听selectedGrids、selectedDatas事件获取选中项的DOM对象和数据数组支持props自定义显示label字段别名 sgExcelGrid源码 <template&g…

SQLite3中的callback回调函数注意的细节

调用 sqlite3_exec(sqlite3*, const char *sql, sqlite_callback, void *data, char **errmsg)该例程提供了一个执行 SQL 命令的快捷方式&#xff0c; SQL 命令由 sql 参数提供&#xff0c;可以由多个 SQL 命令组成。 在这里&#xff0c; 第一个参数 sqlite3 是打开的数据库对…

HarmonyOS NEXT应用开发案例——列表编辑实现

介绍 本示例介绍用过使用ListItem组件属性swipeAction实现列表左滑编辑效果的功能。 该场景多用于待办事项管理、文件管理、备忘录的记录管理等。 效果图预览 使用说明&#xff1a; 点击添加按钮&#xff0c;选择需要添加的待办事项。长按待办事项&#xff0c;点击删除后&am…

C++——string模拟实现

前言&#xff1a;上篇文章我们对string类及其常用的接口方法的使用进行了分享&#xff0c;这篇文章将着重进行对这些常用的接口方法的内部细节进行分享和模拟实现。 目录 一.基础框架 二.遍历字符串 1.[]运算符重载 2.迭代器 3.范围for 三.常用方法 1.增加 2.删除 3.调…

HTML 学习笔记(八)表格

一、表格 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title></head><…

Excel 快速填充/输入内容

目录 一. Ctrl D/R 向下/右填充二. 批量输入内容 一. Ctrl D/R 向下/右填充 ⏹如下图所示&#xff0c;通过快捷键向下和向右填充数据 &#x1f914;当选中第一个单元格之后&#xff0c;可以按住Shift后&#xff0c;再选中最后一个单元格&#xff0c;可以选中第一个单元格和最…

【深度学习笔记】6_5 RNN的pytorch实现

注&#xff1a;本文为《动手学深度学习》开源内容&#xff0c;部分标注了个人理解&#xff0c;仅为个人学习记录&#xff0c;无抄袭搬运意图 6.5 循环神经网络的简洁实现 本节将使用PyTorch来更简洁地实现基于循环神经网络的语言模型。首先&#xff0c;我们读取周杰伦专辑歌词…

SQL中常见的DDL操作及示例,数据库操作及表操作

目录 一、数据库操作 1、创建数据库 2、查看所有数据库 3、使用数据库 4、删除数据库 二、表操作&#xff1a; 1、创建表 2、查看表结构 3、修改表结构 3.1 添加列 3.2 修改列数据类型 3.3 修改列名 3.4 删除列 3.5 修改表名 3.6 删除表 注意&#xff1a; 在数…

倒计时35天

dp预备(来源&#xff1a;b站acm刘春英老师) 1. 2. 3. 4. 5. 6. 7.

去除PDF论文行号的完美解决方案

去除PDF论文行号的完美解决方案 1. 遇到的问题 我想去除论文的行号&#xff0c;但是使用网上的Adobe Acrobat裁剪保存后 如何去掉pdf的行编号&#xff1f; - 知乎 (zhihu.com) 翻译时依然会出现行号&#xff0c;或者是转成word&#xff0c;这样就大大损失了格式&#xff0c;…

flask-sqlalchemy库

彩笔激流勇退。 1. 简介 ORM&#xff0c;对象关系映射。简单来说&#xff0c;ORM将数据库中的表与面向对象中的类建立了一种对应关系。这样&#xff0c;我们要操作数据库&#xff0c;表&#xff0c;记录就可以直接通过操作类或者类实例来完成。 SQLAlchemy 是目前python中最…