Hive 远程连接

前提
本地模式参考
本文的远程连接将参照上文中linux01本地模式连接配置,在linux02linux03中进行hive的远程连接配置。

所需文件工具
具备hadoop配置的linux02与linux03
apache-hive-2.3.6-bin.tar.gz
mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar
mysql-connector-java-8.0.18.zip
xshell xftp navicat等

相关文件工具上文参考中均有路径

本地远程两者区别

本地

这种方式是一个多用户的模式,运行多个用户client连接到一个数据库中。这种方式一般作为公司内部同时使用Hive。这里有一个前提,每一个用户必须要有对MySQL的访问权利,即每一个客户端使用者需要知道MySQL的用户名和密码才行。

远程

这种模式需要使用hive安装目录下提供的beeline+hiveserver2配合使用才可以。其原理就是将metadata作为一个单独的服务进行启动。各种客户端通过beeline来连接,连接之前无需知道数据库的密码。

配置
先将linux02上安装配置hivelinux03上安装配置mysql
安装配置hive(不需配置hive-site.xml修改数据库相关内容)与mysql
本地模式参考
1,linux02中验证hive
在这里插入图片描述
2,linux03中验证mysql
在这里插入图片描述
3,配置hive中hive-site.xml的数据库相关内容(与本地模式大致相同)
找到javax.jdo.option.ConnectionURL,将该name对应的value修改为MySQL的地址
在这里插入图片描述

jdbc:mysql://192.168.1.113:3306/myhive?createDatabaseIfNotExist=true

ip地址为linux03的,因为mysql在其中
找到javax.jdo.option.ConnectionDriverName,将该name对应的value修改为MySQL驱动类路径
在这里插入图片描述

com.mysql.jdbc.Driver

找到javax.jdo.option.ConnectionUserName,将对应的value修改为MySQL数据库登录名
在这里插入图片描述
找到javax.jdo.option.ConnectionPassword,将对应的value修改为MySQL数据库的登录密码
在这里插入图片描述
找到hive.metastore.schema.verification,将对应的value修改为false
在这里插入图片描述
找到hive.metastore.uris指定hive元数据访问路径thrift://hive服务端ip:9083
在这里插入图片描述

配置完成

4,在hive的bin目录下对数据库进行初始化

schematool -initSchema -dbType mysql

在这里插入图片描述
之后便会在navicat的linux03的mysql中出现linux02的myhive
在这里插入图片描述
5,在linux02

hive --service metastore

在这里插入图片描述

hiveserver2 start

在这里插入图片描述
启动后会一直保持上图中状态,可以另起命令端,也可以退出即可

6,检查相关端口号是否正常

netstat -anop|grep 10000

在这里插入图片描述
7,进入beeline并且输入(IP为上述hive元数据访问路径

!connect jdbc:hive2://192.168.1.112:10000
第一次输入mysql用户
第二次输入mysql密码

在这里插入图片描述
8,查看并创建

show tables;
create table teacher(id int, name string);

在这里插入图片描述
9,使用navicat查询库中数据信息

SELECT * FROM myhive.TBLS
在这里插入图片描述
10,在浏览器中查看
:10002
在这里插入图片描述
至此完成远程模式配置

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐