基于Linux安装Hive

Hive安装包下载地址

Index of /dist/hive

上传解压

复制代码
[root@master opt]# cd /usr/local/
[root@master local]# tar -zxvf /opt/apache-hive-3.1.2-bin.tar.gz

重命名及更改权限

复制代码
mv apache-hive-3.1.2-bin hive

chown -R hadoop:hadoop hive

配置环境变量

bash 复制代码
#编辑配置
vi /etc/profile
#配置hive环境变量
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
#source使其生效
source /etc/profile

添加Hive核心配置,选择远程MySQL模式

XML 复制代码
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://master:3306/hivedb?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8&amp;useSSL=false&amp;serverTimezone=GMT</value>
</property>

<property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.cj.jdbc.Driver</value>
</property>

<!-- 修改为自己的Mysql账号 -->
<property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
</property>

<!-- 修改为你自己的Mysql密码 -->
<property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>root</value>
</property>

<!-- 忽略HIVE 元数据库版本的校验,如果非要校验就得进入MYSQL升级版本 -->
<property>
        <name>hive.metastore.schema.verification</name>
        <value>false</value>
</property>

<property>
     <name>hive.cli.print.current.db</name>
     <value>true</value>
</property>

<property>
         <name>hive.cli.print.header</name>
         <value>true</value>
</property>

<!-- hiveserver2 -->
<property>
         <name>hive.server2.thrift.port</name>
         <value>10000</value>
</property>

<property>
        <name>hive.server2.thrift.bind.host</name>
        <value>master</value>
</property>
</configuration>

下载连接MySQL的驱动包到hive的lib目录下

bash 复制代码
cd /opt
# 下载MySQL驱动包
wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.17/mysql-connector-java-8.0.17.jar

cp mysql-connector-java-8.0.17.jar /usr/local/hive/lib/

mysql创建Hive的元数据存储库

bash 复制代码
登录mysql
mysql -u root -p
#创建hive元数据库
create databases hive
 #这个hive数据库与hive-site.xml中localhost:3306/hive的hive对应,两者名称必须一致,用来保存hive元数据

Hive初始化

bash 复制代码
cd /usr/local/hive/bin 

./schematool -initSchema -dbType mysql
#使用Hive自带的schematool工具升级元数据,也就是把最新的元数据重新写入MySQL数据库中。
可以在终端中执行如下命令(注意,不是在"mysql>"命令提示下执行):

成功会出现下面两行

注:如果初始化失败了,要将hivedb中的ctlgs表删掉再初始化---->

不然启动会报错

Error: Table 'ctlgs' already exists (state=42S01,code=1050) org.apache.hadoop.hive.metastore.HiveMetaException: Schema initialization FAILED! Metastore state would be inconsistent !! Underlying cause: java.io.IOException : Schema script failed, errorcode 2 Use --verbose for detailed stacktrace. *** schemaTool failed ***

启动Hive

我已配置环境变量,所以直接在任意目录下执行hive即可

bash 复制代码
#启动hadoop集群
cd /usr/local/hadoop #进入Hadoop安装目录
./sbin/start-all.sh
#启动hive
[root@master bin]# hive

#如果没配置环境变量,则要用下面的方式启动
cd /usr/local/hive
./bin/hive

一些简单测试Hive操作:

bash 复制代码
create database hive;


create table test1(id int,area string);
INSERT INTO test1 (id, area) VALUES (1, 'beijing');
select * from test1;

参考文章:

Hive安装超详细教程 - 掘金

Hive3.1.3安装和使用指南_厦大数据库实验室博客

Hadoop+Hive三节点集群环境搭建-CSDN博客

hive添加用户_mob64ca12dba5b0的技术博客_51CTO博客

相关推荐
大树885 小时前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠5 小时前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
大志哥1236 小时前
ES和Logstash日志链路系统上线后遭遇切片爆炸(解决)
大数据·elasticsearch
霸道流氓气质6 小时前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush46 小时前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5206 小时前
Linux 11 动态监控指令top
linux
Inhand陈工7 小时前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
果丁智能7 小时前
物联网智能锁赋能集中式住宿:身份核验与远程权限管控的全链路技术实践
大数据·人工智能·物联网·智能家居
酣大智7 小时前
ARP代理--工作原理
运维·网络·arp·arp代理
王小王-1237 小时前
基于 Hive 的网易云音乐数据分析及可视化系统
hive·hadoop·数据分析·音乐数据分析·网易云音乐分析·hive音乐分析·hadoop网易云