前期准备:因为hive是构建在hadoop集群之上的,所以要先进行hadoop集群的搭建
一、内嵌模式:使用hive内置的关系型数据库(derby)来存储元数据
1.下载并上传到虚拟机上,我是在/opt目录下
2.解压并且重命名
3.配置hive环境,个人习惯把配置文件放在my_enc.sh中
4. 初始化元数据库(derby)
5.启动hive
二、Linux mysql数据库的安装
1.下载并上传至虚拟机中,我还是在/opt目录下
2.查看系统中是否已经安装MySQL和mariadb
3.安装MySQL
4.初始化MySQL数据库
5.启动MySQL
6.查看MySQL临时密码
7.使用临时密码登录MySQL并修改密码
8.修改MySQL数据库下的user表的root权限,让root可通过任意ip连接
三、将Hive的元数据配置到mysql
1.在hive中导入MySQL依赖的jar包
2.配置hive连接mysql的信息
1)在hive conf目录下新建一个hive-site.xml文件
2)在配置文件中添加自定义的参数信息
3)在MySQL新建数据库hive
4)初始化hive的元数据库
5)启动并使用hive
四、配置hive能够远程访问
1.使用元数据服务方式访问hive
1)在服务端slave1的配置文件hive-site.xml文件添加如下的配置信息
2)启动元数据
2.使用JDBC方式访问hive
1)在hadoop集群中配置允许root通过代理方式访问hadoop集群
2)将修改后的配置文件core-site.xml分发到集群中的其他节点
3)重启hadoop集群,metastore,hiveserver2先停止
4) 服务端slave1
5)使用后台进程启动(hiveserver2 –metastore- mysql)
6)客户端(第二代客户端beeline)安全机制
hadoop集群搭建推荐文章
Apache官网下载
我提供的网盘下载
提取码: nbp7
让配置文件生效
会出现拒绝连接,因为hive是构建在hadoop上的,所以需要启动hadoop集群先
启动hadoop
重新启动hive
启动成功, 但derby一次只能连接一个客户端,也就是只能在slave1中才可以启动hive,所以需要进行MySQL数据库的安装
mysql官网下载
我提供的网盘下载
提取码: 2jqv
临时密码只能用来登录,若要进行其他操作,则需要修改密码
重新登录
这样就可以使用一些SQL语句啦
使用Navicat会发现连接不上,root只允许本机登录,客户端连不了
怎么办:修改用户权限
重启生效或者flush
这样使用Navicat连接就可以连接成功了
我提供的网盘下载jar包
提取码: sb4x
元数据本来在derby数据库转为MySQL的hive数据库
在xshell中登录MySQL创建或在客户端Navicat创建
配置到现在还是只能一台客户端访问,因为还没有配置对外的接口
第一种方式:将hive元数据作为前台进程启动,即关闭程序窗口,服务随之停止(不推荐使用)
第二种方式:将hive元数据作为后台进程启动,即关闭程序窗口,服务依然正常运行
要让其他客户端slave2也能够访问,需要在slave2配置hive,步骤与前面一致,不多加赘述
在客户端slave2启动hive,就能和服务端slave1一样进行SQL语句的操作了
在配置文件core-site.xml文件中添加上:
在conf目录下的配置文件hive-site.xml添加配置信息
这样配置完成后,客户端slave3只需要解压hive文件后,通过get就能够直接访问
hive的安装部署所有内容就结束到这里啦!!!