关于Hive的(远程)连接配置
Hive 远程连接Hive远程模式的元数据信息被存储在MySQL数据库中MySQL数据库与Hive不在同一台物理机器上
Hive 远程连接
前提
本地模式参考
本文的远程连接将参照上文中linux01本地模式连接配置,在linux02与linux03中进行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
至此完成远程模式配置
更多推荐


所有评论(0)