CDP 多Namenode配置

配置Cloudera CDPPrivateCloudBase的多NameNode支持:指南与注意事项
本文详细介绍了如何在CDPPrivateCloudBase中启用HDFS的多NameNode功能,包括先决条件、配置步骤、已知问题及解决方案。重点讲解了在ClouderaManager中启用支持,添加新NameNode的过程和遇到的问题处理方法。

此功能为 CDP Private Cloud Base 提供了使用多个备用名称节点的能力。

先决条件

  • Cloudera Manager 版本必须为 7.7.1 或更高版本

  • CDP 包裹版本必须为 7.1.8 或更高版本

  • HDFS 应该启用高可用性

  • HDFS的最新升级必须完成

  • 根据 Cloudera Manager,集群必须是健康的,并且没有任何陈旧的配置

此功能仅对 7.1.8 集群启用。这需要启用高可用性功能。在为集群配置额外的 NameNode 后,您无法回滚 Cloudera Manager 升级或 CDP 包升级。在升级到 718 完成后,您必须添加一个额外的名称节点。

多个 Namenodes 配置

Cloudera Manager 中默认不启用此功能。您必须首先在 Cloudera Manager 配置中启用此功能。然后,您可以使用多个备用 NameNode 配置 HDFS 服务。

在 Cloudera Manager 中启用多个名称节点支持功能

  1. 导航到/etc/default/cloudera-scm-server 文件。

  2. 在cloudera-scm-server文件的末尾 添加 export CMF_FF_HDFS_MULTIPLE_SNN=true 。

图片

  1. 重新启动 Cloudera Manager服务。
systemctl restart cloudera-scm-server

图片

已知问题及其解决方法

在继续进一步配置其他名称节点之前,您必须了解以下已知问题。

已知问题描述

如果最近在集群上重新启动了JournalNodes,如果在重新启动 JournalNodes 后没有创建新的fsImage ,则 HDFS 服务的添加新 NameNode向导可能无法引导新的 NameNode 。但是,在重新启动 JournalNodes 时,编辑日志会在系统中滚动。

已知问题解决方法

如果在Add new NameNode向导期间引导失败,您必须执行以下步骤:

  1. 删除新添加的NameNode和FailoverController

  2. 将活动的 HDFS NameNode 移动到安全模式

  3. 在活动的 HDFS NameNode 上执行 Save Namespace 操作

  4. 在活动的 HDFS NameNode 上离开安全模式

  5. 尝试再次添加新的 NameNode

笔记

进入安全模式会禁用对 HDFS 的写入操作并导致服务中断。如果无法进入安全模式,只需删除HDFS服务中新添加的NameNode和FailoverController即可。您必须等到 HDFS 自动创建新的 fsImage 并尝试使用向导再次添加新的 NameNode。

使用 HDFS 服务添加多个名称节点

您必须确保 Cloudera Manager 处于干净状态,没有任何健康问题并且集群上没有陈旧的配置。如果存在任何运行状况问题或过时的配置,那么您必须与命令分开重新启动集群,而不是在命令中。为此,您必须清除Rolling Restart HDFS 和所有相关服务以激活步骤 10b 中的更改选项。此外,如果有任何健康问题或无法从集群中清除的陈旧配置,您必须单独重新启动集群。

可以使用 Cloudera Manager 中的 HDFS 服务添加多个名称节点。

  1. Hdfs服务已经启用高可用

图片

  1. 导航到集群,选择HDFS服务,然后转到实例,单击联邦和高可用性按钮

图片

  1. 单击操作,单击添加其他名称节点。添加 其他 NameNode向导打开。

图片

  1. 在“分配角色”页面中,选择未分配给任何名称节点的主机。

图片

  1. 单击继续。

  2. 在Review Changes页面中,您可以指定 namenode 数据目录。

  3. 如果要删除已提供的名称节点数据目录中存在的数据,则必须选择清除备用名称节点名称目录中存在的任何现有数据选项。请记住备份名称节点数据目录。

  4. 如果要重启 HDFS 服务及其依赖项,则必须选择Rolling Restart HDFS and alldependent services 以激活更改选项。请记住,如果您没有启用高可用性功能,滚动重启可能会导致集群停机。注意:如果您未选择 Rolling Restart 选项,则可以单击 Continue 稍后重新启动集群。

图片

  1. 单击继续。这将运行所需的命令并添加额外的名称节点。

图片

  1. 单击完成。

图片

图片

可以看到已经有三个NameNode, 其中一个是活动的,两个是备用的。

图片

在将Hive数据或元数据从MRS(MapReduce Service)环境迁移到CDP(Cloudera Data Platform)环境中时,需要考虑个关键步骤,包括元数据迁移、数据迁移以及必要的配置调整。以下是一个完整的迁移流程和建议: ### ### Hive元数据迁移 Hive的元数据通常存储在关系型数据库中(如MySQL、PostgreSQL等),因此迁移元数据的核心是导出源环境中的元数据库,并将其导入目标CDP环境。 1. **备份MRS环境中的Hive元数据库** 在MRS环境中,找到Hive所使用的元数据库(例如MySQL),执行数据库导出命令: ```bash mysqldump -u <username> -p <password> hive_metastore > hive_metastore_backup.sql ``` 该操作将生成一个SQL文件,包含所有表结构和数据[^1]。 2. **在CDP环境中准备目标元数据库** 在CDP集群中配置一个新的数据库实例,并创建与MRS中相同的Hive元数据库结构。确保使用兼容的版本以避免元数据格式不一致的问题。 3. **导入元数据到CDP环境** 将之前导出的SQL文件导入到CDP环境中的新元数据库中: ```bash mysql -u <username> -p <password> hive_metastore_cdp < hive_metastore_backup.sql ``` 4. **更新Hive配置指向新的元数据库** 修改CDP中Hive的配置文件`hive-site.xml`,将`javax.jdo.option.ConnectionURL`参数设置为新数据库的JDBC连接字符串。 ### ### Hive数据迁移 Hive的数据通常存储在HDFS或对象存储系统中。迁移数据时可以使用种工具实现高效传输。 1. **使用DistCp进行HDFS数据迁移** DistCp是Hadoop生态系统中用于跨集群复制数据的标准工具。可以在MRS集群上运行以下命令将Hive数据复制到CDP集群: ```bash hadoop distcp hdfs://<mrs-namenode>:<port>/user/hive/warehouse hdfs://<cdp-namenode>:<port>/user/hive/warehouse ``` 这种方式支持断点续传和并行复制,适用于大规模数据集[^1]。 2. **使用对象存储作为中间媒介(可选)** 如果MRS和CDP分别部署在不同云平台或网络隔离环境中,可以先将Hive数据导出至S3、OBS等对象存储服务,再从对象存储导入到CDP环境中。 3. **验证数据完整性** 使用HiveQL查询部分表内容,确认数据是否完整迁移,并检查HDFS路径下的文件权限和目录结构是否正确。 ### ### 其他注意事项 - **版本兼容性**:确保MRS和CDP之间的Hive版本兼容,尤其是元数据结构是否存在差异。 - **权限管理**:在CDP环境中重新配置Ranger或Sentry策略,确保用户对Hive表具有适当权限。 - **测试环境验证**:在正式迁移前,建议在一个小规模测试环境中先行验证整个流程,包括元数据导入、数据访问、查询性能等。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值