CentOS7 Hive2.3.8安装
CentOS7 Hive2.3.8 安装
建议从头用我的博客,如果用外教的文件到 一、9)步骤了,就用他的弄完,数据库不一样,在9步骤前还能继续看我的
一、 安装MySQL
0.0)查询mariadb,有就去0.1),没有就不管直接去1)
rpm -qa | grep mariadb
0.1)卸载mariadb
rpm -e --nodeps [查询出来的内容]
1) 下载mysql:
sudo yum localinstall https://repo.mysql.com//mysql80-community-release-el7-5.noarch.rpm
2) 安装Mysql:
sudo yum install mysql-community-server
3) 开启Mysql服务:
systemctl start mysqld.service
A. 可能遇到的问题1:

输这个解决:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
B. 可能遇到的问题2:

输这个解决:
sudo yum install mysql-server --nogpgcheck
4) 检查Mysql服务运行状态
service mysqld status

5) 查询Mysql临时密码以进入Mysql里面
grep "A temporary password" /var/log/mysqld.log
图片临时码为f0155f&dA4Ne
6) 输入以下命令,后面输密码的时候输入你屏幕里出来的临时密码
输密码用手敲不要复制粘贴
mysql –u root -p
然后会弹出下面这个内容在:后面手敲密码就好,输密码的时候看不见
‘
Enter password:f0155f&dA4Ne
7)更改Mysql密码,最好和我一样,涉及到后面Hive配置
ALTER user 'root'@'localhost' IDENTIFIED BY 'Root123!';
现在进入Mysql密码是 Root123!
8)将表的所有操作权限赋予root用户,并让root用户授权其他用户。
GRANT all ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
9) Mysql数据库配置
a. 创建一个hivedb数据库:
create database hivedb;
b. 使用数据库mysql:
use mysql;
c. 输入命令看配置
select host, user, authentication_string, plugin from user;

我们需要一个 hiveuser 对应 % 的用户,所以加一个
CREATE USER 'hiveuser'@'%' IDENTIFIED BY 'Root123!';
加好了,查看一下,就有% hiveuser 的用户了
select host, user, authentication_string, plugin from user;

要是太长了串行了可以省略点查看
select host, user from user;

f. 给hiveuser授权一下
GRANT ALL ON *.* TO 'hiveuser'@'%';
g. 手动更新配置:
flush privileges;
二、安装 Hive:
1)把apache-hive-2.3.8-bin.tar.gz 下载后 用mobaxterm放到 /tools文件夹
链接:https://pan.baidu.com/s/1NBplQ4GYGfsa25aSK7I8OQ?pwd=vzji
提取码:vzji
–来自百度网盘超级会员V6的分享
2)解压文件
tar -zvxf /tools/apache-hive-2.3.8-bin.tar.gz -C /training/
3)进入 /training 文件夹
cd /training
重命名移动文件夹为hive
mv apache-hive-2.3.8-bin hive
4) 设置环境变量
vi ~/.bash_profile
加进去
export HIVE_HOME=/training/hive
export PATH=$PATH:$HIVE_HOME/bin
:wq 保存退出后,更新环境变量文件
source ~/.bash_profile
======================================================================
5) Hive配置文件更改
进入配置文件夹
cd training/hive/conf
复制备份hive-env.sh.template并命名为hive-env.sh
cp hive-env.sh.template hive-env.sh
复制备份hive-default.xml.template并命名为hive-site.xml
cp hive-default.xml.template hive-site.xml
6) 配置 hive-site.xml,这个文件内容特别多,所以一次性删光了再往里面加东西
进入文件
vi hive-site.xml
直接键盘敲6000dd,此命令意思是删除6000行,不要复制
6000 dd
如果还没删空,就多来几次6000dd
删空后加入以下内容,注意复制进去的时候不要少了>符号之类的小错误,此文件涉及到之前设置的密码Root123!,如果你不一样,记得改
#Enter the insert mode by pressingi and then copy this code to the file and save and exit using- :wq.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- WARNING!!! This file is auto generated for documentation purposes ONLY! -->
<!-- WARNING!!! Any changes you make to this file will be ignored by Hive. -->
<!-- WARNING!!! You must make your changes in hive-site.xml instead. -->
<!-- Hive Execution Parameters -->
<property>
<name>hive.default.fileformat</name>
<value>TextFile</value>
</property>
<property>
<!--The port is changed to your own port. Here is the onhive database in the connection database. If not, create it later -->
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost/metastore</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<!--The latest version of the jar package to connect to MySQL All write com.mysql.cj.jdbc.Driver, if it is the old version with com.mysql.jdbc.Driver-->
<value>com.mysql.cj.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<!--Connect to MySQL username-->
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
<property>
<!--Connect MySQL password -->
<name>javax.jdo.option.ConnectionPassword</name>
<value>Root123!</value>
<description>password to use against metastore database</description>
</property>
</configuration>
7)配置 hive-env.sh
进入文件
vi hive-env.sh
在文件最底下加,注意hadoop版本和java版本以及路径是否和我一样,不一样记得换
export HADOOP_HOME=/training/hadoop-3.3.0
export HIVE_CONF_DIR=/training/hive/conf
export HIVE_AUX_JARS_PATH=/training/hive/lib
export JAVA_HOME=/training/jdk1.8.0_144
export HIVE_HOME=/training/hive
8)把 MySQL的 connected jar文件放到 hive/lib 文件夹下
链接:https://pan.baidu.com/s/1gD2M8Gr9IFOkOA4EghfWLg?pwd=32r8
提取码:32r8
–来自百度网盘超级会员V6的分享

9)进入 /training/hadoop-3.3.0/share/hadoop/hdfs/lib/
找到这个瓜娃27,把它下载到桌面上留着


10)进入 /training/hive/lib
把瓜娃27放进去,并且删除这个瓜娃14

11)启动Hadoop
start-all.sh
12) 复制一个窗口进入这个路径
cd /training/hive/scripts/metastore/upgrade/mysql/
输入命令后输密码Root123!进入mysql
mysql -u root –p
输命令创建数据库metastore
create database metastore;
使用之前创建好的hivedb
use hivedb;
执行下面的代码
source hive-schema-2.3.0.mysql.sql
12) 回到前面那个窗口初始化mysql
schematool -dbType mysql -initSchema
成功的话会有这个提示
Starting metastore schema initialization to 2.3.8 Initialization
script hive-schema-2.3.8.mysql.sql Initialization script completed
schemaTool completed
13)进入hive测试;
进hive命令行
hive
创建库
Create database hive1;
显示库,可以看到hive1
Show databases;
退出
exit;
14)用hdfs看看刚刚的hive1
hdfs dfs -ls /user/hive/warehouse

关掉hadoop
stop-all.sh
相关文章:
CentOS7 Hive2.3.8安装
CentOS7 Hive2.3.8 安装 建议从头用我的博客,如果用外教的文件到 一、9)步骤了,就用他的弄完,数据库不一样,在9步骤前还能继续看我的 一、 安装MySQL 0.0)查询mariadb,有就去0.1),没有就不管…...
代码随想录算法训练营第四十四天 完全背包 、零钱兑换 II 、组合总和 Ⅳ
代码随想录算法训练营第四十四天 | 完全背包 、零钱兑换 II 、组合总和 Ⅳ 完全背包 题目链接:题目页面 (kamacoder.com) 解释一、01背包 一维 :为什么要倒序遍历背包? 首先要明白二维数组的递推过程,然后才能看懂二维变一维的…...
【经验】vscode 鼠标拖曳不能选中整行文字,只能选中纵向矩形范围
1、问题描述 不知道昨天操作vscode设置界面时,误选择了啥,导致鼠标拖曳不能选中整行文字,只能选中纵向矩形范围,现象如下: 2、解决方法 1)打开设置界面 点击左下角按键,选择“设置” 2&…...
Redis--事务机制的详解及应用
Redis事务的概念: Redis事务就是将一系列命令包装成一个队列,在执行时候按照添加的顺序依次执行,中间不会被打断或者干扰,在执行事务中,其他客户端提交的命令不可以插入到执行事务的队列中,简单来说Redis事…...
路由器端口映射如何配置?
在网络通信中,路由器是一个重要的设备,它负责将数据包从一个网络传输到另一个网络。路由器的端口映射配置是一种重要的设置,可以使外部网络中的计算机通过访问路由器上的特定端口与内部网络中的计算机进行通信。本文将介绍什么是路由器端口映…...
力扣34. 在排序数组中查找元素的第一个和最后一个位置(二分查找)
Problem: 34. 在排序数组中查找元素的第一个和最后一个位置 文章目录 题目描述思路复杂度Code 题目描述 思路 Problem: 二分查找常用解题模板(带一道leetcode题目) 直接套用上述中的寻找左、右边界的二分查找模板即可 复杂度 时间复杂度: O ( l o g n )…...
【每日一题】3.2 求逆序对
题目描述 给定一个长度为 n的整数数列,请你计算数列中的逆序对的数量。 逆序对的定义如下:对于数列的第 i个和第 j个元素,如果满足 i<j 且 a[i]>a[j],则其为一个逆序对;否则不是。 输入格式 第一行包含整数 n…...
NTP时间源服务器(NTP网络时钟)助力智慧医院数字化
NTP时间源服务器(NTP网络时钟)助力智慧医院数字化 NTP时间源服务器(NTP网络时钟)助力智慧医院数字化 目前计算机网络中各主机和服务器等网络设备的时间基本处于无序的状态。 随着计算机网络应用的不断涌现,计算机的时…...
Benchmark学习笔记
小记一篇Benchmark的学习笔记 1.什么是benchmark 在维基百科中,是这样子讲的 “As computer architecture advanced, it became more difficult to compare the performance of various computer systems simply by looking at their specifications.Therefore, te…...
Linux中的动静态库
目录 一、静态库 (1)静态库的优缺点: (2)Linux下静态库的创建和执行 1.直接编译编辑 2.指定路径和库名 3.用LIBRARY_PATH环境变量来配置路径 二、动态库 (1)动态库的优缺点 ÿ…...
C/C++基础语法
C/C基础语法 文章目录 C/C基础语法头文件经典问题链表链表基础操作 秒数转换闰年斐波那契数列打印n阶菱形曼哈顿距离菱形图案的定义大数计算 输入输出格式化输入输出getline()函数解决cin只读入一个单词的问题fgets读入整行输出字符数组(两种方式puts和printf&#…...
Home Assistant:基于Python的智能家居开源系统详解
Home Assistant:基于Python的智能家居开源系统详解 在数字化和智能化的时代,智能家居系统成为了现代家庭的新宠。它们能够让我们更加方便地控制家中的各种设备,实现自动化和个性化的居住体验。其中,Home Assistant作为一款基于Pyt…...
使用vscode进行简单的多文件编译
安装好必要的插件后(如C/C,code runner等)默认生成task.json即可进行单文件运行 涉及到多文件情况可以修改task.json如下: {"version": "2.0.0","tasks": [{"type": "cppbuild&quo…...
Python实现PPT演示文稿中视频的添加、替换及提取
无论是在教室、会议室还是虚拟会议中,PowerPoint 演示文稿都已成为一种无处不在的工具,用于提供具有影响力的可视化内容。PowerPoint 提供了一系列增强演示的功能,在其中加入视频的功能可以大大提升整体体验。视频可以传达复杂的概念、演示产…...
Mysql学习之MVCC解决读写问题
多版本并发控制 什么是MVCC MVCC (Multiversion Concurrency Control)多版本并发控制。顾名思义,MVCC是通过数据行的多个版本管理来实现数据库的并发控制。这项技术使得在InnoDB的事务隔离级别下执行一致性读操作有了保证。换言之࿰…...
Linux下如何生成coredump文件
引言 在linux下执行程序,当出现coredump时,却发现没有生成core文件,或者生成了core文件却不知道在哪里,下面就讲述如何产出core文件,以及指定core文件的产出格式与路径。 打开core文件的大小限制 ulimit -c unlimit…...
eltable 合计行添加tooltip
eltable 合计行添加tooltip 问题描述: eltable 合计行单元格内容过长会换行,需求要求合计行数据超长显示 … ,鼠标 hover 时显示提示信息。 解决方案:eltable合计行没有对外的修改接口,想法是 自己实现一个tooltip&a…...
Secure Boot(安全启动)
Secure Boot(安全启动)的原理基于链式验证,这是一种确保计算机在启动过程中只加载和执行经过认证的软件的机制。这个过程涉及到硬件、固件和操作系统的多个层面。以下是Secure Boot的基本原理: 密钥和证书:Secure Boot…...
大厂面试经验:如何对加密后的数据进行模糊查询操作
加密后的数据对模糊查询不是很友好,本篇就针对加密数据模糊查询这个问题来展开讲一讲实现的思路。 为了数据安全我们在开发过程中经常会对重要的数据进行加密存储,常见的有:密码、手机号、电话号码、详细地址、银行卡号、信用卡验证码等信息…...
修改docker默认存储位置【高版本的docker】
一、修改docker默认存储位置 1、停服务 systemctl stop docker 2、修改/etc/docker/daemon.json添加新的dcoker路径 如"data-root": "/mnt/hdd1/docker" 3、保存后重启服务:systemctl restart docker 二、其他服务的命令 systemctl disab…...
云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
如何更改默认 Crontab 编辑器 ?
在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...
