概述
CDH,全称Cloudera's Distribution, including Apache Hadoop。由美国的Cloudera公司推出的大数据产品,CDH是基于稳定版本的Apache Hadoop构建而成,也是目前市场上应用比较广泛的大数据产品。
CDH 是 Apache Hadoop 和相关项目的最完整、经过测试和流行的发行版。 CDH 提供 Hadoop 的核心元素——可扩展存储和分布式计算——以及基于 Web 的用户界面和重要的企业功能。 CDH 是 Apache 许可的开源软件,是提供统一批处理、交互式 SQL 和交互式搜索以及基于角色的访问控制的 Hadoop 解决方案。
一 CDH介绍
1.CDH简介
Cloudera Manager 是一个端到端用于管理CDH集群的程序。Cloudera Manager提供了CDH群集很多细节的可视化和控制,因此它为企业化部署提供了一个标准。它使得企业能够高效、合理地管理集群。使用Cloudera Manager,用户可以轻松部署和集中操作完整的CDH堆栈和其他托管服务。这个程序可以自动地安装相关服务,将部署时间大大缩短。它为您提供运行主机和服务的集群范围的实时视图; 提供单个中央控制台,以在整个群集中实施配置更改; 并集成了全套的报告和诊断工具,可帮助您优化性能和利用率
2.使用场景
主要用于大数据存储和分析,它的主要使用方向包括:
数据工程:
使用CDH提供的Apache Hadoop和Apache Spark等框架进行批处理和实时数据处理,如数据清洗、转换、聚合、分析等。
数据仓库
使用CDH提供的Apache Hive和Apache Impala等框架进行结构化和半结构化数据的存储和查询,如数据集成、建模、报表等。
机器学习和数据科学:
使用CDH提供的Apache Spark MLlib和Cloudera Data Science Workbench等框架进行数据挖掘、建模、预测和推荐等,如用户画像、风控、个性化推荐等。
文本搜索:
使用CDH提供的Cloudera Search(基于Apache Solr)进行全文检索和分析,如搜索引擎、日志分析等。
IoT数据摄取和流处理:
使用CDH提供的Apache Kafka等框架进行物联网设备数据的采集、传输和处理,如智能家居、车联网等
在百胜目前主要用于大数据存储和分析,它的主要使用场景如下:
大数据分析
CDH 提供了MapReduce,Yarn,HDFS,Hive,Pig等组件,可以高效处理PB级别以上的数据,用于大数据分析和挖掘,可以分析用户行为,市场营销效果,产品质量等,以发现数据隐藏的规律和价值。
ETL 离线处理
CDH 提供Sqoop,Flume等工具可以采集多种数据源的数据,比如关系型数据库,文件,日志等,然后使用MapReduce等进行清洗,转换,加载处理,实现批量ETL。
流式计算
CDH集成了Storm,Kafka等实时流计算组件,可以用于大规模数据的实时处理,比如实时监控,实时统计等场景
数据仓库
CDH提供的Hive可以建立PB级的数据仓库,用于数据分析和报表的统计分析,Hive可以将结构化和半结构化数据进行汇总,查询和分析
机器学习
CDH提供的Mahout组件提供了常用的机器学习算法,可以用于用户画像,商品推荐,文本分类等场景,也可以用户训练机器学习模型,实现AI能力
批处理
CDH提供的MapReduce,YARN等可以用户批量处理大量数据,比如爬虫数据处理,视频转码,ETL批处理等场景都可以使用CDH进行规模化的批处理
3.CDH基本功能
CDH相关特性
灵活性:能够存储各种类型的数据,并使用各种不同的计算框架进行操作,包括批处理、交互式sql、文本搜索、机器学习和统计计算。
集成性:能够快速集成和运行一个完整的Hadoop平台,适用于各种不同的硬件和软件。
安全性:处理和控制敏感数据。
扩展性:能够部署多种应用,并扩展和扩充它们以满足你的需求。
高可用性;可以放心地用于关键的商业任务。
兼容性:可以利用你现有的IT基础设施和资源。
4.CDH各组件功能概要介绍
分布式存储(HDFS)
HDFS提供了大规模的数据存储功能,实现了高吞吐,高容错的分布式存储方案,可以存储从TB到PB级别的数据
资源调度(YARN)
YARN提供了集群资源调度和作业管理功能力,可以运行MapReduce,Hive,Pig,Spark,Flink等各种Hadoop作业
批处理
CDH提供的MapReduce,YARN等可以用户批量处理大量数据,比如爬虫数据处理,视频转码,ETL批处理等场景都可以使用CDH进行规模化的批处理
数据分析(Hive)
Hive提供了类SQL查询语句,可以进行交互式数据分析和大数据数据汇总。可以将大数据进行总结,查询和分析。
数据流(Kafka)
Kafka,Flink等组件提供了实时数据流收集,处理的能力。可以实时处理大量数据流,实现实时监控分析等功能
数据采集(Flume,Sqoop)
Flume,Sqoop可以采集各种数据源的数据如日志数据,关系型数据库数据等,导入到Hadoop生态系统进行存储和处理
机器学习(Mahout)
CDH提供的Mahout组件提供了常用的机器学习算法,可以用于用户画像,商品推荐,文本分类等场景,也可以用户训练机器学习模型,实现AI能力
二 技术规范
1.版本规范
目前百胜运维团队支持对如下CDH运维工作
- cdh-6.1.x
- cdh-5.1.x
由于Hadoop版本过低 现不支持cdh5 版本的交付工作仅仅支持cdh6.1.x ,最高支持到cdh6.3.2。
由于CDH6.X的节点数量不允许超过100个,或者有需要老版本的特殊需求,请联系我们进行特别的审批。
2.版本说明与****兼容性
CDH5.X版本和6.X版本的相关组件版本对比,小版本的细微区别请以官网为准
| 组件 | CDH5.X | CDH6.X |
|---|---|---|
| Cloudera Manager | 5.16.1 | 6.1.1 |
| Flume-ng | 1.6.0 | 1.8.0 |
| Hadoop | 2.6.0 | 3.0.0 |
| HBase | 1.2.0 | 2.1.0 |
| Hive | 1.1.0 | 2.1.1 |
| Hue | 3.9.0 | 3.9.0 |
| Impala | 2.12.0 | 3.1.0 |
| Oozie | 4.1.0 | 5.0.0 |
| Pig | 0.12.0 | 0.17.0 |
| Sentry | 1.5.1 | 2.1.0 |
| Solr | 4.10.3 | 7.4.0 |
| Spark | 1.6.0/2.3.0 | 2.4.0 |
| Sqoop | 1.4.6 | 1.4.7 |
| Sqoop2 | 1.99.5 | 无 |
| Zookeeper | 3.4.5 | 3.4.5 |
| Kafka | 1.0.1 | 2.0.0 |
| Kudu | 1.7.0 | 1.8.0 |
CDH5.X版本和6.X版本的基础环境说明:
操作系统支持
| 操作系统 | CDH5.16.1 | CDH6.1.1 |
|---|---|---|
| RHEL/CentOS/OL with RHCK kernel | 7.9, 7.6, 7.5, 7.4, 7.3, 7.2, 7.1, 6.10, 6.9 , 6.8, 6.7, 6.6, 6.5, 6.4, 5.11, 5.10, 5.7 | 7.6, 7.5, 7.4, 7.3, 7.2, 6.10, 6.9 , 6.8 |
| Oracle Linux (OL) | 7.5, 7.4, 7.3, 7.2, 7.1 (UEK default), 6.9, 6.8 (UEK R2, R4), 6.7, 6.6, 6.5 (UEK R2, R3), 6.4 (UEK R2), 5.11, 5.10, 5.7 (UEK R2) | 7.4, 7.3, 7.2 (UEK default), 6.10 (UEK default) |
| SLES | 12 SP3, 12 SP2, 12 SP1, 11 SP4, 11 SP3 | 12 SP3, 12 SP2 |
| Ubuntu | 16.04 LTS (Xenial), 14.04 LTS (Trusty) | 16.04 LTS (Xenial) |
| Debian | 8.9, 8.4, 8.2 (Jessie), 7.8, 7.1, 7.0 (Wheezy) | 不支持 |
元数据库支持
| 数据库 | CDH5.X | CDH6.X |
|---|---|---|
| MySQL | 5.1, 5.5, 5.6, 5.7 | 5.7 |
| MariaDB | 5.5, 10.0 | 5.5, 10.0 |
| PostgreSQL | 8.1, 8.3, 8.4, 9.1, 9.2, 9.3, 9.4, 9.5, 9.6, 10 | 8.4, 9.2, 9.4, 9.5, 9.6, 10.x |
| Oracle | 11g R2, 12c R1, 12.2 | 12.2 |
JDK支持
| JDK | CDH5.X | CDH6.X |
|---|---|---|
| JDK7 | 1.7u55, 1.7u67, 1.7u75, 1.7u80 | 不支持 |
| JDK8 | 1.8u31, 1.8u74, 1.8u91, 1.8u102, 1.8u111, 1.8u121, 1.8u131, 1.8u144, 1.8u162, 1.8u181 | 1.8u31, 1.8u74, 1.8u91, 1.8u102, 1.8u111, 1.8u121, 1.8u131, 1.8u141, 1.8u162, 1.8u181 |
| OpenJDK | 1.8u181(CDH5.16之前的版本不支持OpenJDK) | 1.8u181 |
3.架构规范
CDH架构
Server 和其他一些组件共同工作:
Agent - 安装在每台主机上。Agent 负责进程的启动和停止,解压配置,触发安装以及监视主机。
Management Service - 由一组角色组成的服务,这些角色执行各种监视,警报和报告功能。
Database - 存储配置以及监控信息。通常情况下,多个逻辑数据库运行在一个或多个数据库服务器上。例如,Cloudera Manager Server 和 monitoring roles 使用不同的逻辑数据库。
Cloudera Repository - Cloudera Manager分发软件的存储库。
Clients - 与Server交互的接口
Admin Console - 管理员 web 界面版
API - 用于开发者创建 Cloudera Manager 程序
Server 和其他一些组件共同工作:
极简架构示例
CDH产品最主要的是管理平台,各组件的架构参考各组件使用手册。
最低要求至少有三个节点才能搭建集群,具体安装搭建要求及过程(安装环境)可参考CDH安装部署指导手册。
CDH提供的服务介绍
4.部署规范
- 集群规划:根据数据现状、业务需求、未来预估、硬件资源等因素,合理规划集群的架构模式(混合型或专用型)、硬件选择、节点角色划分等。
- 硬件配置:根据不同的服务和工作负载,选择合适的CPU、内存、磁盘、网卡等硬件配置,以及合理的磁盘格式化和挂载方式。
- 网络配置:确保集群内部和外部的网络通信畅通,使用双网卡和双电源,配置主机名和IP映射,设置防火墙和SELinux等。
- 软件安装:选择合适的CDH版本和安装方式(Cloudera Manager或者手动),下载并安装所需的软件包或者parcel文件,配置Cloudera Manager Server和Agent等。
- 服务部署:使用Cloudera Manager或者命令行工具,为集群添加所需的服务和角色,如HDFS, YARN, HBase, Hive, Impala, Spark等,配置服务的参数和依赖关系,启动并检查服务的状态和运行情况。
- 安全管理:为集群启用Kerberos认证,配置LDAP或者Sentry进行授权管理,使用SSL或者TLS进行加密通信,设置HDFS加密区域等。
三 资源规格
要评估集群的硬件和资源分配,您需要分析要在集群上运行的工作负载类型,以及将用于运行这些工作负载的 CDH 组件。您还应该考虑要存储和处理的数据的大小、工作负载的频率、需要运行的并发作业的数量以及您的应用程序所需的速度。
在此我们仅提供目前常规的几种集群套餐,供大家选择使用,细节的调整需要参考更为详尽的资源说明,一般情况下我们仅提供如下选择,且搭建集群是我们会根据与您的沟通进行一些微调,具体还请参考更为详尽的文档,链接如下:
| 服务名称 | 选择 | 备注 | ||||
|---|---|---|---|---|---|---|
| HDFS | 是 | 必装 | ||||
| YARN | 是 | 必装 | ||||
| ZOOKEEPER | 是 | 必装 | ||||
| FLUME | 否 | |||||
| HIVE | ||||||
| HBASE | ||||||
| HUE | ||||||
| IMPALA | ||||||
| KAFKA | ||||||
| FLINK | ||||||
| OOZIE | ||||||
| SQOOP | ||||||
| SENTRY | ||||||
| SOLR | ||||||
| 方案 | 说明 | 一般应用场景和选择的服务 | 主机 | 内存(G) | cpu(c) | 磁盘 |
| 基础方案一 | (CM+CN+DN)意思为:管理节点、控制节点和数据节点合并部署。 适合未来业务扩展可能性较低的集群。 | (CM+CN+DN) × N N>=3 | 主机1 | 128 | 48 | 8*7.3T |
| 主机2 | 128 | 48 | 8*7.3T | |||
| 主机3 | 128 | 48 | 8*7.3T | |||
| 基础方案二 | (CM+DN)意思为:管理节点和数据节点合并部署。 适合未来业务扩展可能性中等偏低的集群,预计节点100以上。 | CN +(CM+DN) × N N>=3 | 主机1 | 128 | 48 | 8*7.3T |
| 主机2 | 128 | 48 | 8*7.3T | |||
| 主机3 | 128 | 48 | 8*7.3T | |||
| 低配物理机Or正常主机 | ||||||
| 基础方案三 | (CM+CN)意思为:管理节点和控制节点合并部署。 适合未来业务扩展可能性中等偏高的集群。 预计节点300以上。 | (CM+CN)*n+DN × N n>=2 N>=3 | 主机1 | 256 | 56 | 12*7.3T |
| 主机2 | 256 | 56 | 12*7.3T | |||
| 主机3 | 256 | 56 | 12*7.3T | |||
| 主机4 | 128 | 48 | 8*7.3T | |||
| 主机5 | 128 | 48 | 8*7.3T | |||
| 基础方案四 | 适合未来业务扩展可能性高的集群。 预计节点1000以上。 | CM + CN × n + DN × N n>=2 N>=3 | 主机1 | 256 | 56 | 12*7.3T |
| 主机2 | 256 | 56 | 12*7.3T | |||
| 主机3 | 256 | 56 | 12*7.3T | |||
| 主机4 | 256 | 56 | 12*7.3T | |||
| 主机5 | 256 | 56 | 12*7.3T | |||
| 主机6 | 256 | 56 | 12*7.3T | |||
| 扩容选择 | ||||||
| 主机 | 内存 | cpu | 磁盘 | |||
| 主机1 | 128 | 48 | 8*7.3T | |||
| 主机2 | 256 | 56 | 12*7.3T | |||
| 服务名称 | 内存 | cpu | 主机 | |||
| mysql | 1G | 1C | 可单点,按需 | |||
| cloudera-scm-server | 1G | 1C | 单点 | |||
| host monitor | 1G | 1C | 单点 | |||
| server monitor | 1G | 1C | 单点 | |||
| envent server | 812M | 1C | 单点 | |||
| cloudera-scm-agent | 1G | 1C | 全部 | |||
| zookeeper | 2G | 1C | 全部 | |||
| HDFS-namenode | 10G | 1C | 高可用 | |||
| HDFS-datanode | 1G | 1C | 全部 | |||
| YARN-ResourceManager | 4G | 1C | 高可用 | |||
| HDFS-nodemanager | 1G(运行内存) | 1C(运行cpu) | 全部 | |||
| HIVE-Metastore | 9G | 1C | 高可用 | |||
| HIVE-HiveServer2 | 10G | 1C | 按需 | |||
| HBASE-Master | 4G | 1C | 高可用 | |||
| HBASE-RegionServer | 5G | 1C | 按需 | |||
| SENTRY | 2G | 1C | 可单点,按需 | |||
| KAFKA-broker | 4G | 1C | 按需 |
四 使用规范
1.高危操作列表
CDH是管理平台,涉及众多开源组件,每个开源组件都有相关的规范,请参考组件详细文档。
如下为绝对禁止的操作
| 类别 | 操作风险 |
|---|---|
| 严禁删除ZooKeeper相关数据目录 | HDFS/Yarn/HBase/Hive等很多组件都依赖于ZooKeeper,在ZooKeeper中保存元数据信息。删除ZooKeeper中相关数据目录将会影响相关组件的正常运行。 |
| 严禁删除MySQL数据库中的表 | 删除会导致集群不可用。 |
| 严禁删除Phoenix系统表或系统表数据(SYSTEM.CATALOG、SYSTEM.STATS、SYSTEM.SEQUENCE、SYSTEM. FUNCTION) | 删除系统表将导致无法正常进行业务操作。 |
| 严禁手动修改Hive元数据库的数据(hivemeta数据库) | 修改Hive元数据可能会导致Hive数据解析错误,Hive无法正常提供服务。 |
| 严禁修改Hive私有文件目录的权限 | 修改该目录权限可能会导致Hive服务不可用。 |
| 严禁修改Kafka配置文件中broker.id | 修改Kafka配置文件中broker.id将会导致该节点数据失效。 |
| 严禁修改节点主机名 | 主机名修改后会导致该主机上相关实例和上层组件无法正常提供服务,且无法修复。 |
| 分类 | 名称 | 描述 | 风险 | 措施 | 观察项目 |
| Cloudera Manager | 修改CDH依赖的数据库密码 | 该操作会影响集群的管理维护 | 中 | 修改前确认操作的必要性,修改时确保同一时间无其它管理维护操作 | 观察是否有未恢复的告警产生,观察集群的管理维护是否正常 |
| 数据库升级 | 该操作会重启Manager和整个集群,影响集群的管理维护和业务 | 中 | 修改时确保同一时间无其它管理维护操作 | 观察是否有未恢复的告警产生,观察集群的管理维护是否正常,业务是否正常 | |
| 修改IP | 该操作会重启Manager和整个集群,影响集群的管理维护和业务 | 中 | 修改时确保同一时间无其它管理维护操作,且修改的IP填写正确无误 | 观察是否有未恢复的告警产生,观察集群的管理维护是否正常,业务是否正常 | |
| 更换管理控制节点 | 更换节点会导致重启数据库各进程,影响集群的管理维护 | 中 | 更换前确认操作的必要性,更换时确保同一时间无其它管理维护操作 | 观察是否有未恢复的告警产生,观察集群的管理维护是否正常,业务是否正常 | |
| 重启服务时,如果勾选同时重启关联服务 | 该操作可能会导致业务中断,影响集群的管理维护和业务 | 中高 | 操作前确认操作的必要性,操作时确保同一时间无其它管理维护操作 | 观察是否有未恢复的告警产生,观察集群的管理维护是否正常,业务是否正常 | |
| 修改数据库端口 | 修改该参数时,可能会导致进程重启和会影响业务运行 | 高 | 操作前确认操作的必要性,操作时确保同一时间无其它管理维护操作 | 无 | |
| 重装主机 | 该操作会对指定主机上的软件进行重新安装,并可能因清理数据目录造成数据丢失 | 高 | 操作前请确认重新安装的必要性,并谨慎选择清理数据选项 | 观察是否有未恢复的告警产生,观察集群的管理维护是否正常,业务是否正常 | |
| 修改节点SSH默认端口 | 修改默认端口(22)将导致创建集群、添加服务/实例、添加主机、重装主机等功能无法正常使用。 | 中 | 执行相关操作前将SSH端口改回默认值 | 无 | |
| 系统下电、上电 | 非标准化下电、上电操作,会导致系统再次上电后,集群启动异常,如Ldap数据不同步 | 中高 | 请参考系统上下电进行标准的系统下电、上电操作 | 观察是否有未恢复的告警产生,观察集群的管理维护是否正常,业务是否正常 | |
| HBase | 修改加密的相关配置项hbase.regionserver.wal.encryptionhbase.crypto.keyprovider.parameters.urihbase.crypto.keyprovider.parameters.encryptedtext | 导致服务启动异常 | 中高 | 修改相关配置项时请严格按照提示描述,加密相关配置项是有关联的,确保修改后的值有效 | 观察服务能否正常启动 |
| 已使用加密的情况下关闭或者切换加密算法,关闭主要指修改hbase.regionserver.wal.encryption为false,切换主要指AES和SMS4的切换 | 导致服务启动失败,数据丢失 | 中高 | 加密HFile和WAL内容的时候,如果已经使用一种加密算法加密并且已经建表,请不要随意关闭或者切换加密算法未建加密表(ENCRYPTION=>AES/SMS4)的情况下可以切换,否则禁止操作 | 无 | |
| 使用OfflineMetaRepair工具 | 导致服务启动异常 | 高 | 必须在HBase下线的情况下才可以使用该命令,而且不能在数据迁移的场景中使用该命令 | 观察HBase服务是否可以正常启动。 | |
| Yarn | 删除或者修改数据目录yarn.nodemanager.local-dirs和yarn.nodemanager.log-dirs | 该操作将会导致业务信息丢失 | 高 | 请勿手动删除数据目录 | 观察数据目录是否正常 |
| Spark&Spark2x | 配置项的修改(spark.yarn.queue、spark.driver.extraJavaOptions) | 导致服务启动异常 | 中低 | 修改相关配置项时请严格按照提示描述,确保修改后的值有效 | 观察服务能否正常启动 |
| 配置项的修改(SPARK_DAEMON_JAVA) | 导致服务启动异常 | 中低 | 修改相关配置项时请严格按照提示描述,确保修改后的值有效 | 观察服务能否正常启动 | |
| 删除或修改HDFS上的/user/spark/lib/6.5.1/spark-assembly-1.5.1-hadoop3.1.1.zip | 导致JDBCServer启动异常及业务功能异常 | 中 | 删除/user/spark/lib/6.5.1/spark-assembly-1.5.1-hadoop3.1.1.zip,等待10-15分钟,zip包自动恢复 | 观察服务能否正常启动 | |
| ZooKeeper | 删除或者修改ZooKeeper的数据目录 | 该操作将会导致业务信息丢失 | 中 | 修改ZooKeeper目录时候,严格按照扩容指导操作 | 观察服务能否正常启动,关联组件能否正常启动 |
| 设置ZooKeeper中znode的ACL信息 | 修改ZooKeeper中znode的权限,可能会导致其他用户无权限访问该znode,导致系统功能异常 | 高 | 修改相关配置项时请严格按照《业务操作指南》的“ZooKeeper权限设置指南”章节操作,确保修改ACL信息,不会影响其他组件正常使用ZooKeeper | 观察项目观察其他依赖ZooKeeper的组件能否正常启动,并提供服务 | |
| HDFS | 修改HDFS的NameNode的数据存储目录dfs.namenode.name.dir、DataNode的数据配置目录dfs.datanode.data.dir | 导致服务启动异常 | 高 | 修改相关配置项时请严格按照提示描述,确保修改后的值有效 | 观察服务能否正常启动 |
| 执行hadoop distcp命令时,使用-delete参数 | Distcp拷贝时,源集群没有而目的集群存在的文件,会在目的集群删除。 | 高 | 在使用Distcp的时候,确保是否保留目的集群多余的文件,谨慎使用-delete参数。 | Distcp数据拷贝后,查看目的的数据是否按照参数配置保留或删除。 | |
| 修改HDFS实例的启动参数HADOOP_HEAPSIZE和GC_PROFILE | 导致服务启动异常 | 高 | 修改相关配置项时请严格按照提示描述,确保修改后的值有效,且GC_OPTS与HADOOP_HEAPSIZE参数值无冲突 | 观察服务能否正常启动 | |
| 修改HDFS的副本数目dfs.replication,将默认值由3改为1 | 导致:存储可靠性下降,磁盘故障时,会发生数据丢失NameNode重启失败,HDFS服务不可用 | 中高 | 修改相关配置项时,请仔细查看参数说明。保证数据存储的副本数不低于2 | 观察默认的副本值是否不为1,HDFS服务是否可以正常提供服务 | |
| 修改Hadoop中各模块的RPC通道的加密方式hadoop.rpc.protection | 导致服务故障及业务异常 | 高 | 修改相关配置项时请严格按照提示描述,确保修改后的值有效 | 观察HDFS及其他依赖HDFS的服务能否正常启动,并提供服务 | |
| Flume | 修改Flume实例的启动参数 | 导致服务启动异常 | 中 | 修改相关配置项时请严格按照提示描述,确保修改后的值有效 | 观察服务能否正常启动 |
| 修改HDFS的副本数目dfs.replication,将默认值由3改为1 | 导致:存储可靠性下降,磁盘故障时,会发生数据丢失NameNode重启失败,HDFS服务不可用 | 中高 | 修改相关配置项时,请仔细查看参数说明。保证数据存储的副本数不低于2 | 观察默认的副本值是否不为1,HDFS服务是否可以正常提供服务 | |
| Solr | 修改Solr实例的端口参数:SOLR_PORTSOLR_CONTROL_PORT | 操作不当会导致实例启动、停止异常 | 中低 | 修改相关配置项时请严格按照提示描述,确保修改后的值有效 | 观察服务实例能否正常启动、停止 |
| 修改Solr参数:INDEX_STORED_ON_HDFS | 若Collection对应配置集solrconfig.xml配置为:<directoryFactory name=""DirectoryFactory"" class=""${solr.directoryFactory:solr.NRTCachingDirectoryFactory}"">,当修改INDEX_STORED_ON_HDFS参数时,采用此配置的Collection索引存储位置发生变化,需要重新索引。原始的存储位置上的索引数据不会自动删除。若Collection对应配置集solrconfig.xml配置为:<directoryFactory name=""DirectoryFactory"" class=""solr.NRTCachingDirectoryFactory"">,采用此配置的Collection索引不受INDEX_STORED_ON_HDFS参数修改的影响。 | 高 | 修改该参数时,需要确认受影响的Collection。如果不想受该参数影响,则将Collection的solrconfig.xml中<directoryFactory name=""DirectoryFactory"" class=""${solr.directoryFactory:solr.NRTCachingDirectoryFactory}"">修改为<directoryFactory name=""DirectoryFactory"" class=""solr.NRTCachingDirectoryFactory"">。重新索引受影响的Collection。 | 无 | |
| Kafka | 删除Topic | 该操作将会删除已有的主题和数据 | 中 | 采用Kerberos认证,保证合法用户具有操作权限,并确保主题名称正确 | 观察主题是否正常处理 |
| 删除数据目录 | 该操作将会导致业务信息丢失 | 中 | 请勿手动删除数据目录 | 观察数据目录是否正常 | |
| 修改数据目录下内容(创建文件、文件夹) | 该操作将会导致该节点上的Broker实例故障 | 中 | 请勿手动在数据目录下创建或修改文件及文件夹 | 观察数据目录是否正常 | |
| 修改数据目录“log.dirs”配置 | 该配置不正确将会导致进程故障 | 中 | 确保所修改或者添加的数据目录为空目录,且权限正确 | 观察数据目录是否正常 | |
| 单独启停基础组件 | 该操作将会影响服务的一些基础功能导致业务失败 | 中 | 请勿单独启停ZooKeeper/Kerberos/LDAP等基础组件,启停基础组件请勾选关联服务 | 观察服务状态是否正常 | |
| 重启/停止服务 | 该操作将会导致业务中断 | 中低 | 确保在必要时重启/停止服务 | 观察服务是否运行正常 | |
| 修改配置参数 | 该操作将需要重启服务使得配置生效 | 中低 | 确保在必要时修改配置 | 观察服务是否运行正常 | |
| 删除/修改元数据 | 修改或者删除ZooKeeper上Kafka的元数据可能导致Topic或者Kafka服务不可用 | 中 | 请勿删除或者修改Kafka在ZooKeeper上保存的元数据信息 | 观察Topic或者Kafka服务是否可用 | |
| Hive | 修改Hive实例的启动参数GC | 修改该参数可能会导致Hive实例无法启动 | 中低 | 修改相关配置项时请严格按照提示描述,确保修改后的值有效 | 观察服务能否正常启动 |
| 删除MetaStore所有实例 | Hive元数据丢失,Hive无法提供服务 | 中 | 除非确定丢弃Hive所有表信息,否则不要执行该操作 | 观察服务能否正常启动 | |
| 使用HDFS文件系统接口或者HBase接口删除或修改Hive表对应的文件 | 该操作会导致Hive业务数据丢失或被篡改 | 中 | 除非确定丢弃这些数据,或者确保该修改操作符合业务需求,否则不要执行该操作 | 观察Hive数据是否完整 | |
| 使用HDFS文件系统接口或者HBase接口修改Hive表对应的文件或目录访问权限 | 该操作可能会导致相关业务场景不可用 | 中高 | 请勿执行该操作 | 观察相关业务操作是否正常 | |
| 导出表数据覆盖写入本地目录,例如将t1表中数据导出,覆盖到“/opt/dir”路径下 | 该操作会删除目标目录,如果设置错误,会导致软件或者操作系统无法启动 | 高 | 确认需要写入的路径下不要包含任何文件;或者不要使用overwrite关键字 | 观察目标路径是否有文件丢失 | |
| 将不同的数据库、表或分区文件指定至相同路径,例如默认仓库路径“/user/hive/warehouse”。 | 执行创建操作后数据可能会紊乱,如果删除其中一个数据库、表或分区,会导致其他对象数据丢失。 | 高 | 请勿执行该操作 | 观察目标路径是否有文件丢失 | |
| Flink | 修改日志级别 | 如果修改为DEBUG,会影响任务运行性能 | 中 | 修改前确认操作的必要性,并及时修改回默认设定 | 无 |
| 修改文件权限 | 该操作可能导致任务运行失败 | 中 | 修改前确认操作的必要性 | 观察相关业务操作是否正常 |
2.业务操作指南
短时间大批量删除会导致集群不稳定任务失败
应设置Quota来限制小文件数量,1TB 5000个文件。
Region server的Region数量应该受到限制,建议500。
暂时参考各组件手册,后续总结并更新
3.业务开发指南
暂时参考各组件手册,后续总结并更新
五 监控告警
1.监控维度
- 监控仍在不断完善中,我们将至少基于如下维度进行监控(非全部进行告警)
- 基于Cloudera Manager 本身的服务状态及其内部的角色状态(节点数等等)
- 基于CM上所安装组件的服务状态
- 基于对应组件的所有角色状态
- 监控HA 的角色状态(目前只包含 HDFS \ YARN \ HBase)
- 基于目录的资源监控(讨论中)
- 基于队列的状态监控(讨论中)
监控项会基于管理的持续改善不停完善。
基于系统层面,我们提供最基础的资源监控。
主机资源监控:CPU、内存、磁盘、网络
2.监控告警架构
VictoriaMetrics+PrometheusGrafana+夜莺 监控部署
VictoriaMetrics
VictoriaMetrics,是一个快速高效、经济并且可扩展的监控解决方案和时序数据库,是一个新兴的监控解决方案。它借助Prometheus强大的exporter生态、成熟的规范、服务发现等优点等,融入到Prometheus生态中。VictoriaMetrics官网很多兼容Prometheus参数解释都是直接跳转到Prometheus官网。
夜莺监控( Nightingale )
夜莺监控( Nightingale )是一款国产、开源云原生监控分析系统,采用 All-In-One 的设计,集数据采集、可视化、监控告警、数据分析于一体。从 v5 版本开始与 Prometheus、VictoriaMetrics、Grafana、Telegraf、Datadog 等生态紧密协同集成,提供开箱即用的企业级监控分析和告警能力。
Grafana
;Grafana 是一款用 GO 语言开发的开源数据可视化工具,可以做数据监控和数据统计,带有告警功能。
3.服务等级
服务时间7*16
| 告警级别 | 灾难级别(分钟) | 警告级别(分钟) |
|---|---|---|
| 响应时间 | 10 | 60 |
| 处理时间 | 60 | 120 |
IT运维团队对CDH服务支持由大数据团队提供,服务等级定义同线上业务应用分级。
原则上服务等级等于或低于所属应用的分级。