一、迁移 HiveServer2 与 MetaStore
进入 EMR 控制台,通过集群服务使用 Hive 服务的配置管理功能 ,修改 Router 节点hive-site.xml配置文件以下参数:
| 参数 | 值 | 说明 |
| hive.metastore.uris | thrift://${router-ip}:7004 | 修改 hive metastore 的地址信息,将 hive 元数据存储的服务地址指向新增的 Router 节点。其中 ${router-ip} 为 MetaStore 所在 Router 节点的内网 IP。 |
配置下发并保存后,在集群服务中选择 Hive 组件的操作 > 角色管理,将 Master 节点上的所有 hive 进程暂停,重启 Router 节点上的 hive 进程。
在 router 上测试 hiveserver2。如果能正确连接并查询到已有的表,则说明迁移成功。
beeline -u jdbc:hive2://${router-ip}:7001 -n hadoop -p hadoopshow tables
二、修改 Knox 代理地址
HiveServer2 迁移后,需要进入 Master 节点 修改 Knox 配置文件,将 Hive 及 HiveUI 代理到 Router 节点的 Hive 组件。
vim /usr/local/service/knox/conf/topologies/emr.xml //修改 HIVE 和 HIVEUI。<service> <role>HIVE</role> <url>http://Router-ip:7003</url> <param> <name>replayBufferSize</name> <value>8</value> </param></service><service> <role>HIVEUI</role> <url>http://Router-ip:7003</url></service>
命令行执行重启 Knox。
/usr/local/service/knox/bin/gateway.sh stop ; /usr/local/service/knox/bin/gateway.sh start