Hive数据库:嵌入、本地、远程全攻略(下)

先介绍一下本地模式和远程模式:

当使用本地模式时,Hive将其元数据存储在本地数据库(例如MySQL)中,使其成为一个独立的数据处理系统。在本地模式中,Hive的配置文件(hive-site.xml)中的连接URL指向本地数据库,而不是嵌入式模式中使用的Derby数据库。此模式适用于小规模的数据处理需求,通常在单个节点上运行。

在远程模式下,Hive被配置为通过Thrift服务与远程的Hive服务器进行通信。这允许将Hive设置为分布式系统,其中Hive客户端和Hive服务器可以分布在不同的节点上。在这种情况下,Hive客户端通过Thrift协议与Hive服务器通信,执行查询和操作。远程模式适用于需要处理大规模数据集的场景,可以充分利用分布式计算资源。

1.本地模式的安装与配置:
该模式需将hive-site.xml中的ConnectionURL指向mysql,并配置好驱动名、数据库连接账号,在slave1下
(1)、Hive的配置:
1.配置hive-site.xml:
vi  hive-site.xml

<property><name>hive.metastore.warehouse.dir</name>  <value>/warehousedir/home</value>  
</property> 
<property><name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://192.168.222.174: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>
<property><name>hive.metastore.schema.verification</name><value>false</value>
</property>


(前提:要启动hadoop:cd/usr/hadoop/hadoop-2.7.3 接着sbin/start-all.sh)
2.启动hive:

bin/hive  --service 

3.远程模式的安装与配置:
(slave2安装mysql,hive做本地模式;slave1作为hive server;slave2作为客户端)
(1)slave2中安装mysql
1. (安装MySQL的引导包)
(1). yum install -y wget   
(2). wget -I -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm  
(3). ls查看,若没有则重新安装一次) 


2. 安装文件:rpm -ivh mysql57-community-release-el7-8.noarch.rpm


3. 安装MySQL服务器:yum -y install mysql-community-server


4. 安装补丁:rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022)


5. 重载被MySQL安装修改了的文件:systemctl daemon-reload


6. 首次启动MySQL:systemctl start  mysqld.service


查看MySQL的运行状态:systemctl status  mysqld.service


7. 修改数据库密码及密码规则:
(1). 查密码:grep "password" /var/log/mysqld.log (查看的是临时密码)
(2). 登录MySQL:mysql -uroot –p  (-p后面加临时密码,临时密码与
p之间没有间隔)
(3). 修改密码规则:set global validate_password_policy=0;
                set global validate_password_mixed_case_count=0;
                set global validate_password_number_count=3;
                set global validate_password_special_char_count=0;
                set global validate_password_length=1;


(4). 修改密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
(5). quit 或\q退出后重新登录;
8. 让别的服务器远程访问mysql:


(1).提高权限:create user ‘root'@‘%' identified by'123456';
                     GRANT ALL PRIVILEGES ON *.* TO ‘root'@‘%'WITH GRANT OPTION;


(2).刷新权限:flush privileges;


(3).修改mysql数据库中的user表:update user set host = '%' where user = 'root’; (若已经改好则会出错,用Ctrl+c退出即可)
(4).验证是否修改好:use mysql;
                         select host, user from user;

(2)将hive2.1.1传到master:/opt/soft
mkdir  /usr/hive
tar  -zxvf   /opt/soft/hive-2.1.1-bin.tar.gz  -C   /usr/hive
(4)配置环境变量:
vi /etc/profile:
#hive
export HIVE_HOME=/usr/hive/apache-hive-2.1.1-bin
export PATH=$PATH:$HIVE_HOME/bin
(5) 解决jar包依赖和版本冲突
(在master)cp /usr/hive/apache-hive-2.1.1-bin/lib/jline-2.12.jar /usr/hadoop/hadoop-2.7.3/share/hadoop/yarn/lib/
上传mysql-connector-java-5.1.7-bin.jar包至/usr/hive/apache-hive-2.1.1-bin/lib
(5)分发给其他三台
scp  –r  /usr/hive master:/usr
(6)配置hive-env.sh:
cd $HIVE_HOME/conf
cp  hive-env.sh.template   hive-env.sh
vi  hive-env.sh
HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
(7)配置hive-site.xml:
vi  hive-site.xml
(1).slave1 作为服务端(处理元数据):
hive-site.xml配置如下:

<configuration>
<property><name>hive.metastore.warehouse.dir</name><value>/warehousedir/home</value>
</property>
<property><name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://slave2:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false</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>
<property><name>hive.metastore.schema.verification</name><value>false</value>
</property>
<property><name>datanucleus.schema.autoCreateAll</name><value>true</value>
</property>
<property><name>hive.exec.scratchdir</name><value>/tmp/hive</value>
</property>
<property><name>hive.exec.local.scratchdir</name><value>/tmp/hive/local</value>
</property>
<property><name>hive.downloaded.resources.dir</name>
<value>/tmp/hive/resources</value>
</property>
</configuration>

(2)slave2 作为客户端配置hive   

<configuration>
<property><name>hive.metastore.warehouse.dir</name> <value>/warehousedir/home</value> 
</property>
<property><name>hive.metastore.local</name> <value>false</value> 
</property>
<property><name>hive.metastore.uris</name> <value>thrift://slave1:9083</value> 
</property>
<property><name>hive.exec.scratchdir</name><value>/tmp/hive</value></property><property><name>hive.exec.local.scratchdir</name><value>/tmp/hive/local</value></property><property><name>hive.downloaded.resources.dir</name><value>/tmp/hive/resources</value></property>
</configuration>


(8)初始化数据库(或不需要)
schematool -dbType mysql -initSchema
(9)启动hive
(slave1)bin/hive --service metastore
(slave2)bin/hive
在slave2中打开hive,此时通过slave1 远程调用mysql,slave1处于元数据服务挂起状态

至此,本地部署和远程部署已全部完成

xml文件也已全部打包好,放在文章顶部,需要者自取

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

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

相关文章

浏览器缓存引发的odoo前端报错

前两天&#xff0c;跑了一个odoo16项目&#xff0c;莫名其妙的前端报错&#xff0c; moment.js 报的错&#xff0c; 这是一个时间库&#xff0c;不是我自己写的代码&#xff0c;我也没做过任何修改&#xff0c;搞不清楚为什么报错。以为是odoo的bug&#xff0c;所以从gitee下载…

DevEco Studio for Mac:zsh: command not found: ohpm

一、检查是否配置有ohpm环境 1、新打开一个终端输入export&#xff0c;查看是否有 ohpm路径&#xff1a; 二、如果没有找到ohpm路径&#xff0c;开始配置环境 。 1、查找本机ohpm路径&#xff0c;并记录ohpm解释器的路径&#xff1a; 2、打开终端工具&#xff0c;执行命令 ech…

[力扣 Hot100]Day3 最长连续序列

题目描述 给定一个未排序的整数数组 nums &#xff0c;找出数字连续的最长序列&#xff08;不要求序列元素在原数组中连续&#xff09;的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 出处 思路 此题可用带排序的哈希表&#xff0c;先构建哈希表&#xff0…

现代操作系统复习笔记【核心考点知识+重点复习题】

文章目录 一、核心考点基础知识第一章 概述1、操作系统的基本概念、基本功能2、分时系统、批处理系统、实时系统的主要特征3、用户接口、系统调用过程4、单到与多道程序技术5、操作系统虚拟机体系结构6、CPU工作模式&#xff1b;7、部分课后习题 第二章 进程与线程1、进程的基本…

谷粒学院项目redirect_uri 参数错误微信二维码登录

谷粒学院项目redirect_uri 参数错误_redirect_uri": "http%3a%2f%2fguli.shop%2fapi%2fuce-CSDN博客 修改本地配置 # &#xfffd;&#xfffd;&#xfffd;&#xfffd;˿&#xfffd; server.port8160 # &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#x…

内存分区模型---C++

目录 内存分区模型1.1 程序运行前1.2 程序运行后1.2.1 new操作符 内存分区模型 C程序在执行时&#xff0c;将内存大方向划分为4个区域 代码区&#xff1a;存放函数体的二进制代码&#xff0c;由操作系统进行管理的&#xff1b;全局区&#xff1a;存放全局变量和静态变量以及常…

内存溢出会导致模块测试正常,植入系统失败

前些天&#xff0c;遇到了一个问题&#xff1a;需要在系统中添加一个小功能&#xff0c;单独测试&#xff0c;然后植入系统。 代码使用了从网上下载的函数&#xff0c;模块单独运行&#xff0c;没有问题&#xff0c;但是放在系统中运行就会出问题。 不得已的情况下&#xff0c…

STL标准库与泛型编程(侯捷)笔记5

STL标准库与泛型编程&#xff08;侯捷&#xff09; 本文是学习笔记&#xff0c;仅供个人学习使用。如有侵权&#xff0c;请联系删除。 参考链接 Youbute: 侯捷-STL标准库与泛型编程 B站: 侯捷 - STL Github:STL源码剖析中源码 https://github.com/SilverMaple/STLSourceCo…

花为缘积萨伯爵奢侈品牌顺应趋势创新发展,重新定义行业新风向

随着中国高线市场进入第四消费时代&#xff0c;“可以买贵的&#xff0c;不能买贵了”成为消费者购物的指导方针。麦肯锡在《2023年麦肯锡中国消费者报告》中表示&#xff0c;当前消费者保守审慎的态度是追求性价比&#xff0c;试图掌握消费自主权&#xff0c;从而选择更明智的…

Jenkins-Pipeline语法总结大全

这里写目录标题 pipeline的组成1、pipeline最简单结构1.1、pipeline1.2、stages1.3、stage1.4、steps1.5、agent 2、post3、pipeline支持的命令3.1、environment3.2、tools3.3、input3.4、options3.5、parameters3.6、parallel3.7、triggers3.8、when pipeline的组成 1、pipel…

org.springframework.web.servlet.HandlerInterceptor

过期 1 配置黑名单 2 启动注册拦截 3 浏览器访问拦截

【EasyExcel】导出excel冻结表头和冻结指定列并支持筛选器

需求背景&#xff1a; 导出excel的同时冻结表头和前两列基础信息&#xff0c;方便导出后用户查看信息。 一、技术选型&#xff1a; easyExcel的自定义写策略处理&#xff1a;SheetWriteHandler 二、方案设计&#xff1a;&#xff08;基于实现 SheetWriteHandler 接口&#xf…

【2023回顾】2024,放马过来吧

&#x1f440;樊梓慕&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》 &#x1f31d;每一个不曾起舞的日子&#xff0c;都是对生命的辜负 &#x1f438;哈哈虽然不是技术文&#x…

CAN201 计网概念收集

Lecture 1 the theoretical basis for networking Network edge and core 地理覆盖范围&#xff1a;广WAN&#xff0c;城MAN&#xff0c;局LAN&#xff0c;个PAN 交换方式&#xff0c;电路&#xff0c;报文&#xff0c;分组 电路交换vs报文vs分组 Network performance pr…

Redis面试题8

在 Redis 中实现发布/订阅功能很简单&#xff0c;可以通过以下步骤来实现&#xff1a; 使用 PUBLISH 命令向指定的频道发送消息&#xff1b; 使用 SUBSCRIBE 命令订阅指定的频道&#xff0c;从而接收到该频道上的消息&#xff1b; 可以使用 PSUBSCRIBE 命令进行模式订阅&#x…

springboot程序启动慢解决

记springboot程序启动慢解决。 今天将程序发给别人后&#xff0c;别人立马说你这个启动很慢。 查看程序启动耗时分布 <!--启动耗时监测--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator…

Golang 交叉编译之一文详解

博客原文 文章目录 Golang 中的交叉编译不同操作系统间的编译Linux 下编译windowsmacos windows 下编译Linuxmacos macos 下编译Linuxwindows 不同架构下的编译amd64x86 参考 Golang 中的交叉编译 在 Golang 中&#xff0c;交叉编译指的是在同一台机器上生成针对不同操作系统或…

CVE-2023-49070:Apache Ofbiz XML-RPC远程命令执行漏洞复现[附POC]

文章目录 Apache Ofbiz XML-RPC 远程命令执行漏洞复现(CVE-2023-49070) [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现0x06 修复建议参考链接Apache Ofbiz XML-RPC 远程命令执行漏洞复现(CVE-2023-49070) [附POC] …

vue3+ts笔记

创建项目&#xff1a; npm create vuelatest npm install 页面渲染原理&#xff1a; vite项目中&#xff0c;index.html是项目的入口文件&#xff0c;在项目最外层。加载index.html后&#xff0c;vite解析 <script type"module" src"xxx"> 指向j…

003-10-02【Spark官网思维笔记】香积寺旁老松树边马大爷家女儿大红用GPT学习Spark入门知识

003-10-02【Spark官网思维笔记】香积寺旁老松树边马大爷家女儿大红用GPT学习Spark入门知识. Spark 快速入门快速开始使用 Spark Shell 进行交互式分析&#xff1a;独立的应用程序其他 1, 使用 Spark Shell 进行交互式分析1.1 基本1.2 有关Dataset操作的更多信息1.3 缓存 2&…