Hive元数据库迁移过程记录

迁移起因:

       基于Hadoop的离线处理平台上线一段时间,发现hiveserver2非常不稳定,平时分析人员都是使用hue通过beeswax的方式连接到hiveserver2,可是一旦session到期,未做操作,hue的hive编辑器就会出现卡死的现象,排查了各种原因,调整了各种hiveserver2 session参数,如:

《Hive元数据库迁移过程记录》

       但效果不明显。依然会出现卡死现象,也调整了hiveserver2的内存到16G。依然会出现session异常问题,每次重启hiveserver2后才能用。困惑了几天,Hive也开启DEBUG模式观察了几天日志。调整各种参数依然无效,从日志的观察中发现了metastore链接mysql时候会出现超时的情况,只有回过头从当时部署时着手。

《Hive元数据库迁移过程记录》

       注意到其中的元数据库部署在虚机上,用的是政务云的机器,不免产生怀疑,是不是元数据库所在虚机的网络问题导致的。监控虚机网络,确实发现网络延时确实比较大。从杜绝隐患的考虑,决定将hive元数据库迁移到物理机,为了进一步升级,同时采用hiveserver HA和增加metastore的数量,达到负载均衡。

《Hive元数据库迁移过程记录》

迁移过程

1. 新建数据库

在新的物理机上安装相关数据库,推荐使用mysql,这里使用的是采用mysql的一个发型版本percona server(mysql 5.6.24)

2. 初始化配置

在新建的数据库上新建数据库和建立相关用户

《Hive元数据库迁移过程记录》

3. 停止Hive服务准备迁移hive元数据库

采用的是HDP的版本,集群利用Ambari进行管理,可以直接进行服务的起停

《Hive元数据库迁移过程记录》

4. 导出数据库

在原来数据库中hive元数据存放的库为hive,利用mysql命令将其导出为一个sql文件,命名为db_hive.sql

《Hive元数据库迁移过程记录》

5. 导入数据库

将导出的文件传到要新迁移的服务器上,并将其导入到新的数据库

《Hive元数据库迁移过程记录》

6. 修改hive配置

将新的数据库信息填入Hive配置文件,注意端口

《Hive元数据库迁移过程记录》

注:更改了端口请在配置文件中写明。

7. 启动hive 服务

更新同步配置文件,并启动hive服务

《Hive元数据库迁移过程记录》

8. 测试是否可用

利用beeline连接hiveserver2确定是否迁移完成

注意这里链接的时候由于做了hiveserver2 ha所以采用的jdbc的连接方式:

《Hive元数据库迁移过程记录》

迁移效果

由于增加了hiveserver2和metastore的数量,迁移完成后观察日志可以看到多个hiveserver2实例和多个metastore实例都已经生效

《Hive元数据库迁移过程记录》

看来确实是歪打正着,目前观察了几天,一切运行正常,暂时未出现之前遇到的hiveserver2卡死现象了。

    原文作者:胡小糊涂
    原文地址: https://www.jianshu.com/p/40bab790804e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞