新增 Router 节点
登录 EMR 控制台,在集群列表中选择对应的集群单击 ID/名称进入集群详情页,在集群详情页中选择集群资源 > 资源管理,进入资源管理页面,单击扩容进入集群扩容页面。
在集群扩容页面中,选择扩容节点类型为 Router,扩容服务为 Hive,其他选项可根据需要自行选择。
迁移 HiveServer2 与 MetaStore
参数 | 值 | 说明 |
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