Hive的三种搭建模式及远程方式详细搭建步骤

大数据之 Hive 快速搭建的详细步骤 总之,Hive Beeline 是一个功能强大的命令行工具,用于与 Hive 数据仓库进行交互,无论是进行日常查询、数据处理还是维护任务,都是 Hive 用户不可或缺的工具之一。,用于与 HiveServer2 或其他兼容 Hive JDBC 接口的服务(如 Apache Tez 或 Apache Spark)进行交互,执行 Hive SQL 查询和管理操作。连接成功后,即可在 Beeline 中执行 Hive SQL 查询和 DDL/DML 操作,如创建表、加载数据、查询数据等。 阅读详情

hive搭建

hive三种方式区别和搭建按照Hive中metastore(元数据存储)不同位置分为三种方式:

  • 内嵌Derby方式 :hive将源数据存储在HDFS中,而元数据默认存储在hive自带的数据库Derby中。但是Derby不支持多用户同时访问,所以这种模式仅供测试使用。
  • Local方式:使用mysql数据库替代Derby来存储元数据,以解决多用户并发访问问题
  • Remote方式:以本地模式为基础,mysql数据库所在的节点提供metastore service服务,其他节点可以连接该服务来获取元数据信息

1,安装Hive

	解压下载好的apache-hive-1.2.1-bin.tar.gz安装包到 /opt/apache-hive-1.2.1目录下
tar -zxvf apache-hive-1.2.1-bin.tar.gz /opt/apache-hive-1.2.1

2,配置环境变量


export HIVE_HOME=/opt/apache-hive-1.2.1
export PATH=$HIVE_HOME/bin:$PATH

3,三种方式的搭建(配置文件的不同)
①Derby方式
修改hive-site.xml
配置文件,修改如下

<property>  
  <name>javax.jdo.option.ConnectionURL</name>  
  <value>jdbc:derby:;databaseName=metastore_db;create=true</value>  
</property>  
<property>  
  <name>javax.jdo.option.ConnectionDriverName</name>  
  <value>org.apache.derby.jdbc.EmbeddedDriver</value>  
</property>  
<property>  
  <name>hive.metastore.local</name>  
  <value>true</value>  
</property>  
<property>  
  <name>hive.metastore.warehouse.dir</name>  
  <value>/user/hive/warehouse</value>  
</property>  

启动hive

./hive

注意:将hive/lib目录下的jline jar包拷贝到hadoop的yarn lib下

这种模式的弊端
使用derby存储方式时,运行hive会在当前目录生成一个derby文件和一个metastore_db目录。这种存储方式的弊端是在同一个目录下同时只能有一个hive客户端能使用数据库,否则会提示如下错误

[html] view plaincopyprint?
hive> show tables;  
FAILED: Error in metadata: javax.jdo.JDOFatalDataStoreException: Failed to start database 'metastore_db', see the next exception for details.  
NestedThrowables:  
java.sql.SQLException: Failed to start database 'metastore_db', see the next exception for details.  
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask  
hive> show tables;
FAILED: Error in metadata:
javax.jdo.JDOFatalDataStoreException: Failed to start database 'metastore_db',
see the next exception for details.
NestedThrowables:
java.sql.SQLException: Failed to start
database 'metastore_db', see the next exception for details.
FAILED: Execution Error, return code 1 from
org.apache.hadoop.hive.ql.exec.DDLTask

②Local(mysql)方式

这种存储方式需要在本地运行一个mysql服务器,并作如下配置(下面两种使用mysql的方式,需要将	mysql的jar包拷贝到$HIVE_HOME/lib目录下)。 即是hive和mysql都配置在客户端修改hive-site.xml,配置如下

<property>  
  <name>hive.metastore.warehouse.dir</name>  
  <value>/user/hive_remote/warehouse</value>  
</property>  
<property>  
  <name>hive.metastore.local</name>  
  <value>true</value>  
</property>  
<property>  
  <name>javax.jdo.option.ConnectionURL</name>  
  <value>jdbc:mysql://localhost/hive_remote?createDatabaseIfNotExist=true</value>  
</property>  
<property>  
  <name>javax.jdo.option.ConnectionDriverName</name>  
  <value>com.mysql.jdbc.Driver</value>  
</property>  
<property>  
  <name>javax.jdo.option.ConnectionUserName</name>  
  <value>hive</value>  
</property>  
<property>  
  <name>javax.jdo.option.ConnectionPassword</name>  
  <value>password</value>  
</property> 

注意一个坑:
权限,虽然hive用户对hive_meta数据库是由操作权限的,但是这个数据库如果不存在,hive用户也是没有权限创建这个数据库,所以需要提前创建好hive_remote数据库

③Remote(mysql)方式

  1. 配置server端hive-site.xml
<property>  
  <name>hive.metastore.warehouse.dir</name>  
  <value>/user/hive/warehouse</value>  
</property>  
<property>  
  <name>javax.jdo.option.ConnectionURL</name>  
  <value>jdbc:mysql://192.168.57.6:3306/hive?createDatabaseIfNotExist=true</value>  
</property>  
<property>  
  <name>javax.jdo.option.ConnectionDriverName</name>  
  <value>com.mysql.jdbc.Driver</value>  
</property>  
<property>  
  <name>javax.jdo.option.ConnectionUserName</name>  
  <value>root</value>  
</property>  
<property>  
  <name>javax.jdo.option.ConnectionPassword</name>  
  <value>123456</value>  
</property> 
  1. 配置客户端hive-site.xml
<property>  
  <name>hive.metastore.warehouse.dir</name>  
  <value>/user/hive/warehouse</value>  
</property>  
<property>  
  <name>hive.metastore.local</name>  
  <value>false</value>  
</property>  
<property>  
  <name>hive.metastore.uris</name>  
  <value>thrift://192.168.57.5:9083</value>  
</property>

启动hive服务端程序

hive --service metastore  

客户端启动

hive

Remote方式搭建详细步骤

1.安装mysql
  1. 检查是否已安装mysql
rpm ‐qa|grep mysql
  1. 如果已安装,卸载,然后使用上一步命令查看是否已卸载
rpm ‐e ‐‐nodeps mysql‐libs‐5.1.73‐5.el6_6.x86_64(后面是响应的版本名称)
  1. 在线安装mysql
yum install -y mysql-server
  1. 开启mysql服务
service mysqld start
  1. 设置mysql 服务自启动
chkconfig mysqld on
  1. 新安装的mysql没有密码输入以下命令即可进入,提示输入密码直接回车
mysql -uroot -p
  1. 进入mysql后,设定权限,修改密码
修改root权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
刷新:
flush privileges;
  1. 添加用户
添加用户:
CREATE USER 'hive'@'%' IDENTIFIED BY '123';
授权用户:这里给hive用户操作hive_meta数据库的权限
grant all privileges on hive_meta.* to hive@"%" identified by '123';
刷新:
flush privileges;
  1. 为hive用户创建数据库 hive_mata,然后查看一下数据库
mysql> create database if not exists hive_mata;
Query OK, 1 row affected (0.04 sec)
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| hive_meta          |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
  1. 使用mysql数据库
mysql> use mysql;
  1. 查看表,里面有一个user表存储着数据库用户的信息,这里可能会出现权限冲突问题,所以我们将多余用户信息删除
mysql> show tables;
mysql> delete from user where Host != '%';
  1. 退出mysql,使用hive登录
mysql -uhive -p123
2. 安装hive
  1. 打开最开始解压后hive安装包进入conf目录下,
cp hive-default.xml.template hive-site.xml
  1. 修改hive-site.xml 将原有的所有配置文件全部删除,用以下内容替换
<property>
         <name>hive.metastore.warehouse.dir</name>  <!-- hive工作目录 -->
         <value>/user/hive_localmysql/warehouse</value>
 </property>
 <property>
         <name>hive.metastore.local</name> <!-- 是否是本地模式,即hive和mysql是否在同一节点 -->
         <value>true</value>
 </property>
 <property>
         <name>javax.jdo.option.ConnectionURL</name> <!-- 连接mysql的URL -->
         <value>jdbc:mysql://localhost/hive_meta?createDatabaseIfNotExist=true</value>
 </property>
 <property>
         <name>javax.jdo.option.ConnectionDriverName</name> <!-- 连接mysql的驱动 -->
         <value>com.mysql.jdbc.Driver</value>
  </property>
 <property>
         <name>javax.jdo.option.ConnectionUserName</name> <!-- 连接的用户名,使用上面创建的hive用户 -->
         <value>hive</value>
 </property>
 <property>
         <name>javax.jdo.option.ConnectionPassword</name> <!-- 连接的用户的密码 -->
         <value>123</value>
  </property>
  1. 环境变量配置
    vim /etc/profile
export HIVE_HOME=/opt/zgl/hive-1.2.1
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$PATH
  1. 将mysql的连接驱动包放到 hive 的 lib 目录下
  2. 将hive lib下的 jline 的jar包拷到 hadoop的 share/hadoop/yarn/lib 中(这里因为hadoop内的 jline 的jar包过时了,我们令其和 hive 中的版本保持一致)
  3. 服务端启动metastore服务(启动后台运行)
hive --service metastore >> /tmp/meta.log 2>&1 &
  1. 启动HDFS和YARN,在命令行输入hive即可进入hive shell,在这里便可以对hive进行操作。
客户端配置

配置步骤和以上服务端基本一致,可以直接用scp命令发送到客户端节点
唯一不同的地方修改hive-site.xml

<property>
        <name>hive.metastore.local</name> <!-- 是否是本地模式,即hive和mysql是否在同一节点 -->
        <value>false</value>
</property>
<property>
        <name>hive.metastore.uris</name> <!-- 连接的服务的 uri -->
        <value>thrift://node04:9083</value> <!-- 通过 thrift 协议连接,连接的服务端的 IP 和端口号 -->
</property>

然后,在客户端直接 hive 即可进入hive shell。这里的数据库存放的是源数据,默认只有一个default

到此就配置结束了 QAQ。

大数据Hive(二):Hive的三种安装模式和MySQL搭配使用 全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点。 目录 历史文章 前言 Hive的三种安装模式和MySQL搭配使用 一、Hive的安装方式 1、内嵌模式 2、本地模式 3、远程模式 二、Hive的安装 1、准备工作 2、安装mysql数据库 3、安装Hive 三、Hive的交互方式 第一种交互方式:bin/hive 第二种交互方式:使用sql语句或者sql脚本进行交互 第三种交互方式:Beeline Clien. 阅读详情

相关推荐

Android 音频源码分析——音量调节流程

源码分析基于android9.0 一、声音类型 对于大多数手机用户来说,操作手机音量按键可以看到,声音类型分为四种:媒体、铃声、闹钟、通话,但是其系统内部则分为十几种类型。 声⾳类型用来区分不同播放用途及播放设备,包含11中类型 定义在 frameworks/base/media/java/android/media/AudioSystem.java中 /** Used to identify the default audio stream volume */ public static final in

奋斗的菜鸟ing 3816

大数据---23.Hive安装之本地模式和远程模式

hive的安装方式---本地安装和远程模式的安装

u014579001的博客 1564

从零实现地震波场模拟:交错网格有限差分法核心代码精讲

本文详细介绍了从零实现地震波场模拟的核心技术,重点讲解了交错网格有限差分法的实现过程。通过速度-应力弹性波方程的离散化处理,结合代码实例演示了应力与速度更新的关键步骤,并分享了震源加载、稳定性条件等实用技巧,为计算地球物理学研究提供实践指导。

weixin_42556197的博客 410

Hive远程模式安装部署

Hive远程模式安装部署 简介 将hive中的相关进程比如hiveserver2或者metastore这样的进程单独开启,使用客户端工具或者命令行进行远程连接这样的服务,即远程模式。客户端可以在任何机器上,只要连接到这个server,就可以进行操作。客户端可以不需要密码。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CklQWtpO-1596014766859)(E:/Study/Hive/文档/Hive.assets/20191021015748.jpg)] 服务端的配置

weixin_42947670的博客 946

Docker 安装 CentOS7

本文主要介绍了docker 下安装centos7。访问 CentOS 镜像库地址:https://hub.docker.com/_/centos?tab=tags&page=1。可以通过 Sort by 查看其他版本的 CentOS 。默认是最新版本 centos:latest 。 使用以下命令来查看是否已安装了 centos7: 启动centos容器,并把docker上centos的22端口映射到本机60001端口(端口号可以自己指定) 3、进入到Centos容器 4.安装ssh服务和网络必须软件

折腾java的博客 1万+

基于Xilinx Artix7 的FPGA高级应用 (二):千兆以太网通信(实战篇)第一期

本项目是基于Xlinx Artix7 XC7A35T芯片 以太网芯片选用的是RTL8211EG PHY芯片 MAC 和PHY接口标准是GMII 开发工具是vivado 2018.3 我们先来复习一下以太网的基本通信原理: 当我们的计算机需要与局域网中另外的设备进行通信的时候,需要将数据传输到网卡进行编码,然后传输到线上,经过另一个设备的网卡解码成该设备能读取的数据。 关于以太网协议的知识在原理篇中已经讲过,不再重复,下面直接看接收代码: 首先注意我们的MAC和PHY通信选择的是GMII接口标准,发送数据一

工大技术底层人员的博客 4033

Hive远程模式安装

Hive是一个客户端工具,需要在哪台机器上运行就将其安装在哪台机器上,根据metastore的位置可以将hive的运行模式分为三种:内嵌模式、本地模式、远程模式。 远程模式的安装 1.        安装mysql [root@MyLinux~]# yum --enablerepo=remi install mysql-server 2.        创建用户、数据库,并进行授权 n 

一路风尘 2252

微信小程序 “net::ERR_CONNECTION_REFUSED” 报错大揭秘与破解之道

在微信小程序开发与运行过程中,“net::ERR_CONNECTION_REFUSED” 报错是开发者常遇难题。该错误意味着小程序与服务器连接建立失败,会导致功能无法使用、数据加载异常等问题,严重影响用户体验和业务运转。本文系统剖析此错误,从网络环境不佳、服务器异常、小程序配置有误等常见触发场景入手,提供网络、服务器、配置、代码等多维度排查步骤,给出针对性解决策略,如修复网络、处理服务器故障、修正配置与代码错误,还提出开发与运维阶段的预防措施,助力开发者高效解决该报错问题。

邓邓子的博客 6131

Ubuntu22.04安装Hive3.1.2 metastore远程模式部署MySQL8.0.34

Linux安装Hadoop Hive,使用MySQL8.0,解决了一些连接上的问题,包括权限不够与连接失败

weixin_66179422的博客 1690

[Dify实战] 品牌舆情速览:多渠道抓取、聚类情绪、生成日报-带绑定资源

摘要: 品牌舆情监测面临多渠道信息分散、手工处理效率低的痛点。Dify舆情速览助手通过自动化流程(数据抓取→情绪聚类→日报生成)帮助快速识别热点与风险。方案核心包括: 结构化处理:按情绪(正/中/负)聚类,分级标注风险事件; 日报输出:含热点摘要、趋势分析及处置建议(动作+团队+时间窗口); 质量控制:数据去噪、黑名单过滤,结合人工复核确保合规性。 落地需明确数据源分级(如权威媒体优先)、设置情绪阈值,并建立"发现-响应-复盘"闭环机制,提升舆情应对效率。 (字数:150)

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 297

C++笔记之emplace_back(),push_back()性能比较i++ 、 ++i

操作是否需要临时对象/拷贝性能需要(构造临时对象)较慢不需要(直接构造)较快i++需要(保存旧值)对于内置类型无影响,但对于自定义类型(如迭代器、大对象)会有拷贝开销++i不需要相对更快(尤其是自定义类型)都存在"是否需要额外的临时对象/拷贝"这一性能差异点和++i都是更高效的版本(避免临时对象/拷贝)和i++都可能产生额外的临时对象(前者构造临时对象,后者保存旧值)对于内置类型(如int),i++和++i性能几乎没有差异(编译器会优化);但对于自定义类型(尤其是迭代器等重量级对象),

小勇博客 95

Hadoop学习总结(Hive的安装)

hadoop学习总结——安装hive

2202_75688394的博客 821

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Hive学习(一)Hive的三种搭建方式

Hive三种搭建方式 一、Local本地(derby) 元数据库derby与工具都是在本地 只需将压缩包解压,在hive-site.xml做以下配置(将原信息删除) 注:需要将hive-site.xml.template更名为hive-site.xml mv hive-default.xml.template hive-site.xml &amp;amp;amp;lt;?xml version=&amp;amp;quot;1.0&amp;amp;quot;?&amp;amp;

滴水穿石的博客 1293

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Hive搭建

文章目录环境1. Hive三种搭建方式2. Hive下载3. 本地单用户模式(derby)4. 本地多用户模式(mysql)5. 多用户模式5.1 Remote一体5.2 Remote分离 环境 JDK1.8 + Hadoop2.6.5 HA + Hive 1.2.1 1. Hive三种搭建方式 Hive中metastore的三种方式: 内嵌Derby方式 使用内嵌的默认元数据数据库Derby,单进程访问 Local方式 使用其他的关系型数据库,该关系型数据库和hive在同一个节点 Remote方式 使用

sinat_35400668的博客 392

Hive的搭建

Hive三种搭建方式 1.Local本地(derby) 元数据库derby与工具都是在本地 只需将压缩包解压,在hive-site.xml做以下配置(将原信息删除) 注:需要将hive-site.xml.template更名为hive-site.xml mv hive-default.xml.template hive-site.xml &amp;amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;amp;gt;

qq_40262690的博客 214

Hive

Hive简介 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射成一张数据库表,并提供类SQL(HQL)查询功能,适用于离线的批量数据计算 Hive本身不存储和计算数据,它完全依赖于HDFS和MapReduce,它的表其实就是一个Hadoop的目录/文件(默认存放在Hive工作目录中) Hive设计目的是让SQL技能良好,但Java技能较弱的分析师可以查询海量数据 Hive本...

For_ZZHacker的博客 418

Hive简介

1.hive概念   hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。hive依赖于HDFS和MapReduce。 2.hive功能   ...

dmbds20的博客 527

Hive三种模式的简单介绍及具体搭建流程

理论基础 hive有三种运行模式: 内嵌模式、本地模式、远程模式。 内嵌模式: 元数据保村在内嵌的derby中,允许一个会话链接,尝试多个会话链接时会报错。 本地模式: 本地安装mysql 替代derby存储元数据。 由于元数据的获取需要访问mysql,所以这就要求每一个用户必须要有对MySQL的访问权利。 远程模式: 以本地模式为基础。 ...

曹利荣的博客 2336

Hive的三种安装方式(内嵌模式,本地模式远程模式)

一、安装模式介绍: Hive官网上介绍了Hive的3种安装方式,分别对应不同的应用场景。 1、内嵌模式(元数据保村在内嵌的derby种,允许一个会话链接,尝试多个会话链接时会报错) 2、本地模式(本地安装mysql 替代derby存储元数据) 3、远程模式(远程安装mysql 替代derby存储元数据) 二、安装环境以及前提说明: ...

1429

Hive元数据存储的三种模式,hive有哪些保存元数据的方式,各有什么特点。

1)、内嵌模式:将元数据保存在本地内嵌的derby数据库中,内嵌的derby数据库每次只能访问一个数据文件,也就意味着它不支持多会话连接。 2). 本地模式:将元数据保存在本地独立的数据库中(一般是mysql),这可以支持多会话连接。 3). 远程模式:把元数据保存在远程独立的mysql数据库中,避免每个客户端都去安装mysql数据库。 Hive Metastore有三种配...

Ahuuua的博客 1万+

1、apache-hive-3.1.2简介及部署(三种部署方式-内嵌模式、本地模式和远程模式)及验证详解

Apache Hive是一款建立在Hadoop之上的开源数据仓库系统,可以将存储在Hadoop文件中的结构化、半结构化数据文件映射为一张数据库表,基于表提供了一种类似SQL的查询模型,称为Hive查询语言(HQL),用于访问和分析存储在Hadoop文件中的大型数据集。Hive核心是将HQL转换为MapReduce程序,然后将程序提交到Hadoop群集执行。Hive由Facebook实现并开源。

alanchanchn的专栏 8万+

Hive安装的三种模式

前提 java1.7,最好是java1.8,hadoop2.x, mysql 下载Hive安装包: https://mirrors.tuna.tsinghua.edu.cn/apache/hive/stable-2/ 概念 Hive Metastore有三种配置方式,分别是: 1.Embedded Metastore Database (Derby) 内嵌模式 2.Local Metastore ...

没有合适的昵称 2259

hive远程模式

1、搭建的大致流程: 上传解压hive包 配置环境变量 修改配置文件 上传jar包替换jar包 安装mysql 启动Hive 验证hive远程模式搭建是否成功 2、简单介绍hive远程模式布局 节点名 服务名 hadoop01(主节点) mysql服务端 hadoop02 Hive服务端 Hadoop03 hive客户端 3、搭建步骤 在从节点上作如下操作 1.安装...

我是泛滥 2035
上一篇: Hive基本原理
下一篇: Spark学习(一)之Spark初识
thyyyyyyy
博客等级 码龄8年 16粉丝 15原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值