CentOS7搭建Hive服务器
发布日期:2021-06-28 19:43:27 浏览次数:2 分类:技术文章

本文共 3797 字,大约阅读时间需要 12 分钟。

Hive服务器需要Hadoop,我使用的是Hadoop3.3.0,这个提前已经搭建好了。MySql5.7.34也已经准备好。

一、下载软件

下载软件的地址是:

我选择的是Hive3.1.2.

cd /var/appwget https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz

二、解压

tar -zxvf apache-hive-3.1.2-bin.tar.gz

三、创建配置文件

1. hive-log4j2.properties

cd apache-hive-3.1.2-bin/confcp hive-log4j2.properties.template hive-log4j2.propertiesvi hive-log4j2.properties

2. hive-env.sh

cp hive-env.sh.template hive-env.shvi hive-env.sh

在最后添加

export HADOOP_HOME=/var/app/hadoop-3.3.0export HIVE_CONF_DIR=/var/app/apache-hive-3.1.2-bin/conf

3. hive-site.xml

vi hive-site.xml

添加内容

javax.jdo.option.ConnectionURL
jdbc:mysql://192.168.0.50:3306/hive?createDatabaseIfNotExist=true&useSSL=false
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
javax.jdo.option.ConnectionUserName
root
javax.jdo.option.ConnectionPassword
root
hive.metastore.warehouse.dir
/user/hive/warehouse
hive.exec.scratchdir
/user/hive/tmp
hive.querylog.location
/user/hive/log
hive.server2.thrift.port
10000
hive.server2.thrift.bind.host
0.0.0.0
hive.server2.webui.host
0.0.0.0
hive.server2.webui.port
10002
hive.server2.long.polling.timeout
5000
hive.server2.enable.doAs
true
datanucleus.autoCreateSchema
false
datanucleus.fixedDatastore
true
hive.execution.engine
mr

主要修改前四项有关MySql数据库的配置,其他部分没有会有什么影响还不知道。补充一下,MySql中需要先创建一个数据库hive,如果重换版本,建议删掉这个数据库再重新创建一下。

create database if not exists hive default character set utf8mb4 collate utf8mb4_general_ci;

四、准备MySql连接的驱动

cd /var/softwares wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.47/mysql-connector-java-5.1.47.jar

把这个驱动复制到hive的lib目录下面。

cp /var/softwares/mysql-connector-java-5.1.47.jar /var/app/apache-hive-3.1.2-bin/lib

五、guava版本一致性处理

Hadoop和Hive都要使用guava,要求版本一致。建议查看两个包的版本,保留最大的。

ll /var/app/hadoop-3.3.0/share/hadoop/common/lib/gua*ll /var/app/apache-hive-3.1.2-bin/lib/gua*mv /var/app/apache-hive-3.1.2-bin/lib/guava-19.0.jar /var/sharecp /var/app/hadoop-3.3.0/share/hadoop/common/lib/guava-27.0-jre.jar /var/app/apache-hive-3.1.2-bin/lib/

六、初始化

/var/app/apache-hive-3.1.2-bin/bin/schematool -dbType mysql -initSchema

实际上就是在MySql创建各种管理需要的表。

看到

Initialization script completedschemaTool completed

这就是初始化成功了。

七、启动Hive

/var/app/apache-hive-3.1.2-bin/bin/hive

看到输入提示have>就是启动成功了。

八、测试

在MySql是可以看到hive中创建了很多表。hdfs下面也有hive专用的路径。

1. 输入命令创建一张表。

create table student(id int, name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';

hdfs有了这张表。

2. 尝试插入数据

insert into table student(id,name) values(1,'chris');

看看发生了什么?

没错,是执行了MapReduce运算。这就是Hive存在的意义,用类似sql的语法来代替MR计算。不过,这速度,真是惊天地泣鬼神。

3. 直接从数据文件导入。

我们创建数据表的方法就是利于用tab分割数据进行导入的。

创建一个文本文件stu_01.txt,输入多行数据,用tab分割。

2	zhangsanfeng3	liergou4	murongfu

在hdfs上传至student下。

查询数据,查看结果。

select * from student;

 

转载地址:https://blog.csdn.net/xxkalychen/article/details/117390098 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Docker搭建Yearning服务器
下一篇:CentOS7搭建HBase单节点集群

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月26日 01时21分45秒