linux下hive远程数据库模式安装

news2024/9/23 13:28:08

文章目录

  • 前言
  • 1.安装mysql
    • 1)使用yum安装
    • 2) 安装好启动服务
    • 3) 开启开机自动启动
    • 4) 修改权限
    • 4) 登录
  • 2.Hive安装 Local/Embedded Metastore Database (Derby)
    • 1) 下载稳定版本解压即可
    • 2)配置环境变量
    • 3) 配置远程连接mysql数据库
    • 4)需要将mysql驱动添加到lib下
    • 5) 初始化元数据
    • 6)登录mysql进行查看
  • 3.远程服务安装 Remote Metastore Database
    • 1 )服务端的hive-site.xml配置
    • 2) 客户端需要配置连接服务端
    • 3)在服务端初始化元数据
    • 4) 服务端启动服务
    • 5)客户端连接

前言

Apache Hive是一个分布式、容错的数据仓库系统,能够支持大规模的分析。Hive元数据仓库(HMS)提供了一个中央的元数据存储库,可轻松分析数据以做出明智的数据驱动决策,因此它是许多数据湖架构的关键组件。Hive建立在Apache Hadoop之上,支持在S3、adls、gs等存储上通过HDFS访问。Hive允许用户使用SQL读取、写入和管理PB级别的数据。

1.安装mysql

1)使用yum安装

yum install mysql-server -y

2) 安装好启动服务

service mysqld start

3) 开启开机自动启动

chkconfig mysqld on

4) 修改权限

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option

4) 登录

mysql -uroot -p 

2.Hive安装 Local/Embedded Metastore Database (Derby)

Installing Hive from a Stable Release 可以参考官网文档详细的安装步骤

1) 下载稳定版本解压即可

此处安装的是hive-2.3.9

# 解压
tar -xf apache-hive-2.3.9-bin.tar.gz
# 修改名字
mv apache-hive-2.3.9-bin hive-2.3.9

2)配置环境变量

Set the environment variable HIVE_HOME to point to the installation directory:

vi /etc/profile
#添加
export HIVE_HOME=/opt/bigdata/hive-2.3.9
export PATH=$HIVE_HOME/bin:$PATH

3) 配置远程连接mysql数据库

需要在hive安装路径下conf

cd /opt/bigdata/hive-2.3.9/conf
mv hive-default.xml.template hive-site.xml
vi hive-site.xml
# 需要配置configuration标签之外的配置
<property>
	<name>hive.metastore.warehouse.dir</name>
	<value>/user/hive/warehouse</value>
</property>
<property>
	<name>javax.jdo.option.ConnectionURL</name>
	<value>jdbc:mysql://node01: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>

4)需要将mysql驱动添加到lib下

mysql-connector-java-5.1.32-bin.jar

/opt/bigdata/hive-2.3.9/lib

5) 初始化元数据

# `schematool -dbType mysql -initSchema`
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/bigdata/hive-2.3.9/lib/log4j-slf4j-impl-2.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/bigdata/hadoop-2.6.5/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Metastore connection URL:	 jdbc:mysql://node01:3306/hive?createDatabaseIfNotExist=true
Metastore Connection Driver :	 com.mysql.jdbc.Driver
Metastore connection User:	 root
Starting metastore schema initialization to 2.3.0
Initialization script hive-schema-2.3.0.mysql.sql
Initialization script completed
schemaTool completed

6)登录mysql进行查看

查询

3.远程服务安装 Remote Metastore Database

选择一个两个节点,一个hive作为客户端[【node01】,一个hive作为服务端【node02】连接mysql ,
环境变量HIVE_HOME配置不在赘述。

1 )服务端的hive-site.xml配置

<property>
		<name>hive.metastore.warehouse.dir</name>
		<value>/user/hive_remote/warehouse</value>
	</property>
	<property>
		<name>javax.jdo.option.ConnectionURL</name>
		<value>jdbc:mysql://node01:3306/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>root</value>
	</property>
	<property>
		<name>javax.jdo.option.ConnectionPassword</name>
		<value>123</value>
	</property>

2) 客户端需要配置连接服务端

Metastore server and client communicate using Thrift Protocol
客户端配置

hive.metastore.local = false Metastore is remote.  Note: This is no longer needed as of Hive 0.10.  
hive.metastore.uris = thrift://<host_name>:<port>host and port for the Thrift metastore server.
hive.metastore.warehouse.dir=<base hdfs path>

客户端hive-site.xml的配置

<property>
		<name>hive.metastore.warehouse.dir</name>
		<value>/user/hive_remote/warehouse</value>
	</property>
	<property>
		<name>hive.metastore.uris</name>
		<value>thrift://node02:9083</value>
	</property>

3)在服务端初始化元数据

schematool -dbType mysql -initSchema

4) 服务端启动服务

hive --service metastore

5)客户端连接

hive

连接成功
下篇继续讲解hive中一些常规的操作。

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

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

相关文章

Flink时间属性

1.概述 Flink支持三种与流数据处理相关的时间概念&#xff1a;Processing Time、Event Time和Ingestion Time。具体如下图所示&#xff1a; 当前Flink仅支持Processing Time和Event Time EventTime&#xff1a;您提供的事件时间&#xff08;通常是数据的最原始的创建时间&…

MongoDB 之 updateMany

MongoDB 之 updateMany 使用 https://www.mongodb.com/docs/v6.0/reference/operator/update/#update-operators db.collection.updateMany(<filter>,<update>,{upsert: <boolean>,writeConcern: <document>,collation: <document>,arrayFilters…

NIFI从MySql中离线读取数据再导入到MySql中_03_来吧用NIFI实现_数据分页获取功能---大数据之Nifi工作笔记0038

之前使用querydatabasetable处理器来获取mysql中的数据,我们只能写死一个sql的查询语句,但是 实际引用环境中,我们的一张mysql的表,可能有上千万的数据,那么,不可能,我们把sql查询语句写死,这样一次性如果获取所有数据,那么压力太大了,我们怎么弄呢?找了很久没有找到相关教程…

基于卷积神经网络的分类算法

基于卷积神经网络的分类算法 基于卷积神经网络的分类算法运行环境Python环境PyTorch环境Django环境数据预处理 基于卷积神经网络的分类算法 应用机器学习模型采用卷积神经网络&#xff0c;部署在Web环境中&#xff0c;通过Fashion-MNIST数据集进行模型训练和改进&#xff0c;实…

Scrum敏捷研发和项目管理

Scrum是全球运用最广泛的敏捷管理框架&#xff0c;Leangoo基于Scrum框架提供了一系列的流程和模板&#xff0c;可以帮助敏捷团队快速启动Scrum敏捷开发。 Leangoo完美支持Scrum敏捷框架&#xff0c;它提供了灵活的敏捷模板和极致的协作体验&#xff0c;可以让团队快速上手&am…

勒索病毒-特洛伊木马变种

​一、病毒简介 文件名称&#xff1a; 457d9e4773f45954449ee5913d068fdbb3d8e5689019688e7bce901467e5473a 文件类型(Magic)&#xff1a; PE32 executable (GUI) Intel 80386, for MS Windows, UPX compressed 文件大小&#xff1a; 410.00KB SHA256&#xff1a; 457d9e4773f…

从界面设计谈系统的贯穿性

系统的贯穿性&#xff1f; 在日常的开发中。单个模块之间的编码和设计起来相对比较简单。但是作为“软件工程”中的一个环节&#xff0c;系统的贯穿性往往被忽视。 现在系统关于贯穿性存在的问题 开发过程往往按照模块划分&#xff0c;分为不同的人开发。针对开发的者来说&…

【UE】将存档的值显示在控件蓝图上

上一篇博客&#xff08;【UE】保存游戏的demo&#xff09;已经实现了存档功能&#xff0c;本篇博客介绍的是如何将存档的值显示在控件蓝图上。 效果 可以看到我们存档的值显示在文本控件上 步骤 1. 新建一个蓝图类&#xff0c;父类为“HUD” 命名为“NewHudClassBP” 2. 在世…

Linux设备驱动开发 - 虚拟时钟Clock驱动示例

By: fulinux E-mail: fulinuxsina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅&#xff01; 你的喜欢就是我写作的动力&#xff01; 目录 1. 概述2. virtual clock设计3. 虚拟时钟驱动3.1. provider驱动3.1.1. provider platform device部分3.1.2. prov…

645. 错误的集合|||697. 数组的度|||448. 找到所有数组中消失的数字

645. 错误的集合 题目 集合 s 包含从 1 到 n 的整数。不幸的是&#xff0c;因为数据错误&#xff0c;导致集合里面某一个数字复制了成了集合里面的另外一个数字的值&#xff0c;导致集合 丢失了一个数字 并且 有一个数字重复 。 给定一个数组 nums 代表了集合 S 发生错误后的…

JVM系列(七) JVM 垃圾收集器

我们知道JVM会回收垃圾,但是每种垃圾收集器的收集机制和收集的方法都不一样,今天我们讨论下几种垃圾回收机制 1.按照垃圾区域划分垃圾收集器 我们可以按照垃圾存在的区域来划分垃圾收集器,垃圾在堆内的区域分为 新生代垃圾老年代垃圾新生代老年代混合垃圾 按照这三种区域类…

一个Linux驱动工程师必知的内核模块知识

最简单的驱动 #include <linux/init.h> #include <linux/kernel.h> #include <linux/module.h>static int __init my_init(void) {printk("my_init\n");return 0; }static void __exit my_exit(void) {printk("my_exit\n"); }module_in…

数据结构总结——Java

1 链表(Linked List) 1.1 单项链表(Singly Linked List) 1.1.1 图例 1.1.2 Java实现 public class ListNode {// 保存值int val;// 保存指针ListNode next;// 构造函数们public ListNode() {}public ListNode(int val) {this.val val;}public ListNode(int val, ListNode n…

Linux基础命令-scp远程复制文件

Linux基础命令-seq打印数字序列 前言 有时候不可避免的需要将文件复制到另外一台服务器上&#xff0c;那么这时就可以使用scp命令远程拷贝文件&#xff0c;scp命令是基于SSH协议&#xff0c;在复制的过程中数据都是加密过的&#xff0c;会比明文传输更为安全。 一.命令介绍 …

Vue ElementUI Axios 前后端案例(day02) 之 ElementUI

ElementUI Element&#xff0c;一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库 组件 1.Layout 布局 通过基础的 24 分栏&#xff0c;迅速简便地创建布局。 就是这样分了24个格子 基础布局 使用单一分栏创建基础的栅格布局。 通过 row 和 col 组件&…

keepalived+nginx安装

欢迎使用ShowDoc&#xff01; 1、安装基础包&#xff1a; yum -y install libnl libnl-devel 2、上传包&#xff1a; tar -zxvf keepalived-2.0.20.tar.gz -C /data/imas/base_soft mkdir -p /data/imas/base_soft/keepalived cd /data/imas/base_soft/keepalived-2.0.20 .…

基于Netty开发IM即时通讯之群聊功能

本篇涉及的群聊核心功能&#xff0c;大致如下所示&#xff1a; 1&#xff09;登录&#xff1a;每个客户端连接服务端的时候&#xff0c;都需要输入自己的账号信息&#xff0c;以便和连接通道进行绑定&#xff1b;2&#xff09;创建群组&#xff1a;输入群组 ID 和群组名称进行…

【云原生进阶之容器】第六章容器网络6.5.2--Calico网络架构详述

《云原生进阶之容器》专题索引: 第一章Docker核心技术1.1节——Docker综述第一章Docker核心技术1.2节——Linux容器LXC第一章Docker核心技术1.3节——命名空间Namespace第一章Docker核心技术1.4节——chroot技术第一章Docker核心技术1.5.1节——cgroup综述

从 Dev 和 Ops 视角出发,聊聊 DevSecOps 的 What / Why / How

近日&#xff0c;极小狐和 TA 的朋友们相聚上海&#xff0c;开展了一场技术 Meetup&#xff0c;从 DevSecOps 的 What、Why、How 出发&#xff0c;通过分享真实应用案例&#xff0c;与参会者交流 DevSecOps 的实践过程和落地经验。 本文整理自极狐(GitLab) 资深云原生架构师郭旭…

爬虫日常-selenium登录12306,绕过验证

文章目录 前言代码设计 前言 hello兄弟们&#xff0c;这里是无聊的网友。愉快的周末过去了&#xff0c;欢迎回到学习频道。书接上文&#xff0c;我们说到了再用selenium登录12306时遇到了滑块验证的问题。当前的网站几乎每家都会在登录模块添加一个认证&#xff0c;来规避各种…