hive-3.1.2分布式搭建与hive的三种交互方式

hive-3.1.2分布式搭建:

一、上传解压配置环境变量

在官网或者镜像站下载驱动包

华为云镜像站地址:

hive: Index of apache-local/hive/hive-3.1.2

mysql驱动包: Index of mysql-local/Downloads/Connector-J

1、解压

tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /usr/local/soft/

2、重名名

mv apache-hive-3.1.2-bin hive-3.1.2

3、配置环境变量

vim /etc/profile

4、在最后增加配置

export HIVE_HOME=/usr/local/soft/hive-3.1.2

export PATH=PATH:HIVE_HOME/bin

5、使环境变量生效

source /etc/profile

二、修改配置文件

1、进入hive配置文件所在目录

cd /usr/local/soft/hive-3.1.2/conf

2.创建hive-site.xml配置文件

cp hive-default.xml.template hive-site.xml

vim hive-site.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>

<property>

<name>javax.jdo.option.ConnectionDriverName</name>

<value>com.mysql.cj.jdbc.Driver</value>

</property>

<property>

<name>javax.jdo.option.ConnectionURL</name>

<value>jdbc:mysql://master:3306/hive?useSSL=false&amp;createDatabaseIfNotExist=true&amp;characterEncoding=utf8&amp;useUnicode=true</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.uris</name>

<value>thrift://master:9083</value>

</property>

<property>

<name>hive.server2.enable.doAs</name>

<value>false</value>

</property>

<property>

<name>hive.querylog.location</name>

<value/>

</property>

(同上)

<property>

<name>hive.exec.local.scratchdir</name>

<value/>

</property>

(同上)

<property>

<name>hive.downloaded.resources.dir</name>

<value/>

</property>

</configuration>

<property>

<name>hive.txn.xlock.iow</name>

<value>true</value>

</property>

3.创建log4j.properties配置文件

vim log4j.properties

将日志级别改成WARN,避免执行sql出现很多日志

log4j.rootLogger=WARN,CA

log4j.appender.CA=org.apache.log4j.ConsoleAppender

log4j.appender.CA.layout=org.apache.log4j.PatternLayout

log4j.appender.CA.layout.ConversionPattern=%-4r %t %-5p %c %x - %m%n%

三、上传mysql驱动

将mysql驱动包上传到hive的lib目录下
mysql-connector-java-8.0.29.jar

四、将hadoop的jline-0.9.94.jar的jar替换成hive的版本

cp /usr/local/soft/hive-3.1.2/lib/jline-2.12.jar /usr/local/soft/hadoop-3.1.1/share/hadoop/yarn/lib/

五、初始化hive元数据库

初始化hive的元数据(表结构)到mysql中:
schematool -dbType mysql -initSchema

**六、**启动hive元数据服务

后台启动元数据服务

nohup hive --service metastore &

Hive的三种交互方式:

1)第一种交互方式

shell交互Hive,用命令hive启动一个hive的shell命令行,在命令行中输入sql或者命令来和Hive交互

1.服务端启动metastore服务(后台启动):nohup hive --service metastore >/dev/null &

或nohup hive --service metastore &

2.进入命令:hive

3.退出命令行:quit; 或 ctrl+c

2)第二种交互方式

Hive启动为一个服务器,对外提供服务,其他机器可以通过客户端通过协议连接到服务器,来完成访问操作,这是生产环境用法最多的

1.服务端启动元数据服务:

nohup hive --service metastore &

2.服务端启动hiveserver2服务:

nohup hive --service metastore >/dev/null &

或 nohup hiveserver2 &

3.需要稍等一下,启动服务需要时间:可以监控nohup.out文件查看是否启动完成

4.在客户端beeline

1)先执行: beeline ,再执行: !connect jdbc:hive2://master:10000

2)或者直接执行: beeline -u jdbc:hive2://master:10000 -n root

退出命令行:!exit 或ctrl+c

3)第三种交互方式

不进入hive中,直接在linux中使用 --e 参数来直接执行hql的语句

举例1bin/hive -e "show databases;"

使用 --f 参数通过指定文本文件来执行hql的语句(编写sql脚本执行)

hive -f hive.sql

sql文本文件:

vim hive.sql

create database bigdata29;

use bigdata29;

create table test1

(

id bigint,

name string

)

ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

show tables;

举例2:hive -f hive.sql

相关推荐
fastjson_21 小时前
Spark 安装和使用
大数据·分布式·spark
spter。21 小时前
从一次关注到最终一致:Canal、Outbox 与 Kafka 如何解决关系链双写问题
分布式·kafka
计算机源码社21 小时前
分享一个基于大数据的跨平台内容生态画像与互动等级分析系统,基于Hadoop+Spark的社交媒体互动数据可视化大屏分析
大数据·hadoop·python·机器学习·数据挖掘·spark·毕业设计
MC丶科21 小时前
软考架构师90天冲刺|DAY38·第二阶段综合测试-分布式与云原生
分布式·云原生·架构·serverless·service_mesh·软考架构师
hm宋21 小时前
ZooKeeper 容灾切换免重启实践:域名化配置与客户端自动迁移
分布式·zookeeper·云原生
BYSJMG1 天前
计算机毕设选题做什么好?基于大数据的用户健身行为数据分析与可视化系统,Hadoop+Spark处理
大数据·人工智能·hadoop·数据分析·spark·课程设计
kruptos1 天前
分布式系统怎么“选主“?Raft 共识一次讲清
开发语言·分布式·php·共识算法
小智老师PMP1 天前
2026深度解析|PMP第八版与NPDP核心侧重点本质区别(管理类证书怎么选)
开发语言·分布式·算法·职场和发展·产品经理
会周易的程序员1 天前
5Draft(五帝)测试报告
服务器·c++·分布式·raft·共识算法·共识·算力服务器
ha_lydms1 天前
HDFS 简介
大数据·hadoop·hdfs·yarn·调度·aliyun·计算