1 服务安装

下面使用 NDHManager 平台来说明 Hive 服务安装部署的操作流程。

1. 点击顶部服务标签,进入服务管理页面。在左侧的组件导航栏选择 Hive 服务后,在服务实例列表栏右端,点击添加服务实例。在弹出的服务安装向导窗口中,输入新安装的服务实例名称和选择服务实例所属的集群名称(服务分组) 4.2.png

2. 下一步选择服务安装的服务器列表 4.3.png 3. 下一步选择服务安装的服务器列表 4.4.png 可以从主机列表上看到当前服务器的基本配置和已经安装的组件数量,并据此来选择新服务部署的节点。

4. 下一步设置服务拓扑 4.5.png Hive 服务的依赖服务较多,其中可选择依赖 mysql 或 ntesmysqlpaas,两者都选择的情况下,默认依赖ntesmysqlpaas。 Hive 服务有 metastore,client,hiveserver 三个组件,各个组件安装节点都需要安装 yarn client。 在主机列表选择每个组件中待加入的节点。

5. 下一步进入服务配置界面 4.6.png

默认情况下,平台会为服务生成一个配置组;但用户也可以通过新建配置组来自己生成服务的配置。点击默认的配置组名称,可以进入配置编辑页面。配置组配置支持版本回溯,通过选择不同的版本号即可应用,也可以选择该服务已存在的配置组和版本,将其应用到新部署的节点。

在默认的配置组中,Hive 配置提供12个配置分组,对应 Hive 配置文件中的相关配置。其中:

  • • env 配置组主要覆盖 Hive 服务的环境变量相关配置
  • • log4j 配置组主要覆盖 log4j.properties日志输出策略相关配置
  • • metahub 配置组主要覆盖 Hive 服务相关血缘插件配置
  • • hive 配置组主要覆盖 Hive 服务相关配置
  • • hive-site.xml 配置组主要覆盖 Hive metastore 所需 mysql 服务相关配置
  • • hive-site-client.xml 配置组主要覆盖 Hive Client服务相关配置
  • • metastore 配置组主要覆盖 Hive metastore 相关配置
  • • hiveserver 配置组主要覆盖 Hive hiveserver 相关配置
  • • zookeeper 配置组主要覆盖 Hive 服务所依赖的 zookeeper 服务配置
  • • ranger 配置组主要覆盖 Hive 服务所依赖的 ranger 服务配置
  • • ranger-hive-security 配置组主要覆盖 Hive 服务所依赖的 ranger 服务的ranger-hive-security配置文件
  • • ranger-hive-audit 配置组主要覆盖 Hive 服务所依赖的 ranger 服务的 ranger-hive-audit 配置文件 4.7.png 6. 各类服务地址按照实际部署的节点填写即可。配置组修改完毕应用后,执行下一步就开始服务安装 4.8.png

7. 服务安装完毕后,在服务实例详情页面的组件标题栏的 QuickUrls 下拉菜单栏处访问 Hive 的 hiveserver web 界面 4.9.png

安装注意事项 hive-metastore安装失败时,需要清除数据库,由配置项 db_name 指定的数据库名,(默认名是 metastore)。重新安装hive时,需要注意ranger中如果已经存在同名的 ranger_repo_name 会导致安装失败, 需要跟换名字或者删除原有的 ranger_repo_name

1.1 启动参数预估

服务内存-Xms和-Xmx相同,根据机器实际情况给到48G-64G之间。

2 服务启动\停止

为了保证服务的可用性,重启服务时需要按照以下顺序:

  • 1滚动重启Metastore节点
  • 2滚动重启Hiveserver节点
  • 3滚动重启Client节点

3 服务扩容

Hive 服务的 metastore,hiveserver以及client组件都可以进行扩容,扩容操作流程基本一致。下面以 metastore组件的扩容为例进行说明:

1. 进入相应组件的组件实例列表,点击组件扩容。

2. 在弹出的主机列表中,选择待扩容的节点,执行下一步。平台默认会使用之前的配置组来安装服务。

3. 扩容时,也可以使用不同的配置组。请参考配置组的操作。

4 服务升级

Hive支持小版本平滑升级,直接通过easyops界面操作完成。 升级时按照metastore -> hiveserver -> client顺序进行操作,每个组件升级后会自动重启,通过以下3点可基本确认,升级正确完成:

1. 组件instance_home/current_dir/lib下面包已更新

2. 对应组件进程在运行

3. 对应组件日志无ERROR等异常

5 服务卸载

下面以client缩容为例,Metastore和Hiveserver操作流程类似:

进入组件实例列表 client界面

选定要删除(缩容)的节点,执行删除操作即可 4.10.png