基于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博客

相关推荐
成都蜀味缘餐饮技术培训学校23 分钟前
手撕烤兔技术培训实战指南,秘制腌料配方比例与调制手法
大数据·经验分享·笔记·其他·微信公众平台
roman_日积跬步-终至千里40 分钟前
AI 能让一个人成为团队吗?从数据中台到 OPC,重新理解软件工程能力
大数据·人工智能·软件工程
讯捷蓝达1 小时前
戴尔R720xd服务器卡死在 “Configuring Memory...Done“,换了内存还是卡?问题根本不在内存
运维·服务器
且从容.2 小时前
ubuntu安装flink
linux·ubuntu·flink
演艺大赏2 小时前
NiFi 数据流实战:FTP→HDFS 与 CSV→Parquet,附坏数据、漏文件与双写
大数据
数字新视界3 小时前
动环监控信创适配在智能机房管理中的应用价值与未来展望
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
爱和冰阔落3 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
程序员沉梦听雨3 小时前
WSL2的安装与使用
linux·wsl
微小的鱼4 小时前
Linux的渲染与显示系统链路
android·java·linux
lisanmengmeng4 小时前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器