CentOS7 Hive2.3.8安装

CentOS7 Hive2.3.8 安装

建议从头用我的博客,如果用外教的文件到 一、9)步骤了,就用他的弄完,数据库不一样,在9步骤前还能继续看我的

一、 安装MySQL

0.0)查询mariadb,有就去0.1),没有就不管直接去1)
bash 复制代码
rpm -qa | grep mariadb
0.1)卸载mariadb
bash 复制代码
rpm -e --nodeps [查询出来的内容]
1) 下载mysql:
bash 复制代码
sudo yum localinstall https://repo.mysql.com//mysql80-community-release-el7-5.noarch.rpm
2) 安装Mysql:
bash 复制代码
sudo yum install mysql-community-server
3) 开启Mysql服务:
bash 复制代码
systemctl start mysqld.service
A. 可能遇到的问题1:

输这个解决:

bash 复制代码
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
B. 可能遇到的问题2:

输这个解决:

bash 复制代码
sudo yum install mysql-server --nogpgcheck
4) 检查Mysql服务运行状态
bash 复制代码
service mysqld status
5) 查询Mysql临时密码以进入Mysql里面
bash 复制代码
grep "A temporary password" /var/log/mysqld.log

图片临时码为f0155f&dA4Ne

6) 输入以下命令,后面输密码的时候输入你屏幕里出来的临时密码

输密码用手敲不要复制粘贴

bash 复制代码
mysql --u root -p

然后会弹出下面这个内容在:后面手敲密码就好,输密码的时候看不见

'

Enter password:f0155f&dA4Ne

7)更改Mysql密码,最好和我一样,涉及到后面Hive配置
bash 复制代码
ALTER user 'root'@'localhost' IDENTIFIED BY 'Root123!';

现在进入Mysql密码是 Root123!

8)将表的所有操作权限赋予root用户,并让root用户授权其他用户。
bash 复制代码
GRANT all ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
9) Mysql数据库配置

a. 创建一个hivedb数据库:

bash 复制代码
create database hivedb;

b. 使用数据库mysql:

bash 复制代码
use mysql;

c. 输入命令看配置

bash 复制代码
select host, user, authentication_string, plugin from user;

我们需要一个 hiveuser 对应 % 的用户,所以加一个

bash 复制代码
CREATE USER 'hiveuser'@'%' IDENTIFIED BY 'Root123!';

加好了,查看一下,就有% hiveuser 的用户了

bash 复制代码
select host, user, authentication_string, plugin from user;

要是太长了串行了可以省略点查看

bash 复制代码
select host, user from user;

f. 给hiveuser授权一下

bash 复制代码
GRANT ALL ON *.* TO 'hiveuser'@'%';

g. 手动更新配置:

bash 复制代码
 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)解压文件
bash 复制代码
tar -zvxf /tools/apache-hive-2.3.8-bin.tar.gz -C /training/
3)进入 /training 文件夹
bash 复制代码
cd /training

重命名移动文件夹为hive

bash 复制代码
mv apache-hive-2.3.8-bin hive
4) 设置环境变量
bash 复制代码
vi ~/.bash_profile	

加进去

bash 复制代码
export HIVE_HOME=/training/hive
export PATH=$PATH:$HIVE_HOME/bin

:wq 保存退出后,更新环境变量文件

bash 复制代码
source ~/.bash_profile

======================================================================

5) Hive配置文件更改

进入配置文件夹

bash 复制代码
cd training/hive/conf

复制备份hive-env.sh.template并命名为hive-env.sh

bash 复制代码
cp hive-env.sh.template hive-env.sh 

复制备份hive-default.xml.template并命名为hive-site.xml

bash 复制代码
cp hive-default.xml.template hive-site.xml
6) 配置 hive-site.xml,这个文件内容特别多,所以一次性删光了再往里面加东西

进入文件

bash 复制代码
vi hive-site.xml

直接键盘敲6000dd,此命令意思是删除6000行,不要复制

bash 复制代码
6000 dd	

如果还没删空,就多来几次6000dd

删空后加入以下内容,注意复制进去的时候不要少了>符号之类的小错误,此文件涉及到之前设置的密码Root123!,如果你不一样,记得改

bash 复制代码
#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

进入文件

bash 复制代码
vi hive-env.sh

在文件最底下加,注意hadoop版本和java版本以及路径是否和我一样,不一样记得换

bash 复制代码
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
bash 复制代码
start-all.sh
12) 复制一个窗口进入这个路径
bash 复制代码
cd /training/hive/scripts/metastore/upgrade/mysql/

输入命令后输密码Root123!进入mysql

bash 复制代码
mysql -u root --p

输命令创建数据库metastore

bash 复制代码
create database metastore;

使用之前创建好的hivedb

bash 复制代码
use hivedb;

执行下面的代码

bash 复制代码
source hive-schema-2.3.0.mysql.sql
12) 回到前面那个窗口初始化mysql
bash 复制代码
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命令行

bash 复制代码
hive

创建库

bash 复制代码
Create database hive1;

显示库,可以看到hive1

bash 复制代码
Show databases;

退出

bash 复制代码
exit;
14)用hdfs看看刚刚的hive1
bash 复制代码
hdfs dfs -ls /user/hive/warehouse

关掉hadoop

bash 复制代码
stop-all.sh
相关推荐
逸Y 仙X2 小时前
Git常见命令--助力开发
java·大数据·git·java-ee·github·idea
caihuayuan43 小时前
PHP建立MySQL持久化连接(长连接)及mysql与mysqli扩展的区别
java·大数据·sql·spring
B站计算机毕业设计超人3 小时前
计算机毕业设计Hadoop+Spark+DeepSeek-R1大模型民宿推荐系统 hive民宿可视化 民宿爬虫 大数据毕业设计(源码+LW文档+PPT+讲解)
大数据·hadoop·爬虫·机器学习·课程设计·数据可视化·推荐算法
(; ̄ェ ̄)。4 小时前
在nodejs中使用ElasticSearch(二)核心概念,应用
大数据·elasticsearch·搜索引擎
一个儒雅随和的男子4 小时前
Elasticsearch除了用作查找以外,还能可以做什么?
大数据·elasticsearch·搜索引擎
Sui_Network5 小时前
Sui 如何支持各种类型的 Web3 游戏
大数据·数据库·人工智能·游戏·web3·区块链
ZKNOW甄知科技5 小时前
IT服务运营管理体系的常用方法论与实践指南(上)
大数据·数据库·人工智能
车到山前必有“陆”6 小时前
智能硬件解决方案
大数据·人工智能·经验分享·科技·产品运营·智能硬件
车到山前必有“陆”6 小时前
智能硬件-01智能停车场
大数据·人工智能·经验分享·科技·产品运营·智能硬件
跳跳的向阳花6 小时前
06、ElasticStack系列,第六章:elasticsearch设置密码
大数据·elasticsearch·jenkins