参考构建
CDP & AI Ready Systems
下表概述了部署 CDP Private Cloud Base 以加速 Apache Spark 工作负载的两种推荐服务器配置。“CDP Ready”服务器集群非常适合专用 Apache Spark 部署,而“AI Ready”服务器集群则非常适合将包括 Spark 和其他加速工作负载(例如,机器学习)的多用途部署。 NVIDIA 和 Cloudera 建议 CDP Private Cloud Base 用户最初添加 (4) 或 (8) 台此类服务器,以开始体验 GPU 的优势。一些服务器供应商已预配置并准备好购买这些捆绑包;请联系 Cloudera 或 NVIDIA 销售人员了解详细信息。
参数 |
CDP-Ready 配置 |
AI-Ready 配置 |
---|---|---|
GPU |
A30 |
A100 40GB |
GPU 配置 |
2x 每台服务器 GPU |
1 每台服务器 GPU(选项:2x GPU) |
CPU |
AMD EPYC(Rome 或 Milan) Intel Xeon(Skylake、Cascade Lake、Ice Lake) |
|
CPU 插槽 |
2 每台服务器 |
|
CPU 速度 |
2.1 GHz 最低基本时钟频率 |
|
CPU 核心 |
20 每个插槽最低物理核心数 |
|
系统内存 |
512 GB |
|
网络适配器 (NIC) |
2 Mellanox ConnectX-6、ConnectX-6 DX 或 BlueField-2 |
|
存储 |
40TB 的 SSD 或 NVMe 设备用于 HDFS |
这些是推荐配置。 还有其他硬件配置可用。
合理配置服务器
Cloudera 建议在生产环境中部署三到四种机器类型
主节点 运行 Hadoop 主守护程序:NameNode、备用 NameNode、YARN 资源管理器和历史服务器、HBase Master 守护程序、Sentry 服务器以及 Impala StateStore 服务器和 Catalog Server。主节点也是安装 Zookeeper 和 JournalNodes 的位置。守护程序通常可以共享单个服务器池。根据集群大小,角色可以改为在专用服务器上运行。 Kudu Master 服务器也应部署在主节点上。
工作节点 运行 HDFS DataNode、YARN NodeManager、HBase RegionServer、Impala impalad、Search 工作守护程序和 Kudu Tablet 服务器。 GPU 安装在工作节点中。
实用程序节点 运行 Cloudera Manager 和 Cloudera 管理服务。它还可以托管 MySQL(或其他受支持的)数据库实例,该实例供 Cloudera Manager、Hive、Sentry 和其他 Hadoop 相关项目使用。
边缘节点 包含所有面向客户端的配置和服务,包括 HDFS、YARN、Impala、Hive 和 HBase 的网关配置。边缘节点也是 Hue、Oozie、HiveServer2 和 Impala HAProxy 的理想位置。 HiveServer2 和 Impala HAProxy 充当外部应用程序(如商业智能 (BI) 工具)的网关
部署拓扑
下图描述了跨多个机架(机架 1、机架 2、... 机架 n)部署的集群

每台主机都通过网络连接到两个架顶式 (TOR) 交换机,这些交换机又连接到一系列脊柱交换机,然后连接到企业网络。此部署模型允许每台主机实现最大吞吐量,最大限度地减少延迟,同时鼓励可扩展性。
网络拓扑注意事项
首选的网络拓扑是脊叶式拓扑,叶交换机和脊柱交换机之间的超额订阅率尽可能接近 1:1,理想情况下目标是没有超额订阅。这样我们就可以确保任何存储节点和计算节点的组合之间实现全线速。由于此架构要求计算和存储分离,因此网络设计必须更积极,以确保最佳性能。通过在具有 100Gb+ TOR 交换基础设施的机架中添加新服务器,可以将 GPU 工作节点添加到网络拓扑中
所需最低网络吞吐量有两个方面,这也将决定计算节点与存储节点的比率。
存储后端的网络吞吐量和 IO 吞吐量能力。
计算层和存储层之间的网络吞吐量和网络超额订阅 (NS)。
HDFS 1
Hadoop 分布式文件系统 (HDFS) 是一种分布式文件系统,旨在在商品硬件上运行。它与现有的分布式文件系统有许多相似之处。但是,与其他分布式文件系统的差异也很显著。 HDFS 具有高度的容错能力,旨在部署在低成本硬件上。 HDFS 提供对应用程序数据的高吞吐量访问,适用于具有大数据集的应用程序。 HDFS 放宽了一些 POSIX 要求,以实现对文件系统数据的流式访问。 HDFS 最初是作为 Apache Nutch 网络搜索引擎项目的基础架构而构建的。 HDFS 现在是 Apache Hadoop 子项目。
NameNode 和 DataNodes
HDFS 具有主/从架构。 HDFS 集群由单个 NameNode 组成,NameNode 是一个主服务器,用于管理文件系统命名空间并规范客户端对文件的访问。此外,还有许多 DataNode,通常集群中的每个节点一个,用于管理连接到它们运行所在的节点的存储。 HDFS 公开文件系统命名空间,并允许用户数据存储在文件中。在内部,一个文件被分成一个或多个块,这些块存储在一组 DataNode 中。 NameNode 执行文件系统命名空间操作,如打开、关闭和重命名文件和目录。它还确定块到 DataNode 的映射。 DataNode 负责处理来自文件系统客户端的读取和写入请求。 DataNode 还根据 NameNode 的指令执行块创建、删除和复制。

NameNode 和 DataNode 是旨在在商品机器上运行的软件。这些机器通常运行 GNU/Linux 操作系统 (OS)。 HDFS 是使用 Java 语言构建的;任何支持 Java 的机器都可以运行 NameNode 或 DataNode 软件。高度可移植的 Java 语言的使用意味着 HDFS 可以部署在各种机器上。典型的部署是使用一台专用机器,仅运行 NameNode 软件。集群中的其他每台机器都运行一个 DataNode 软件实例。该架构并不排除在同一台机器上运行多个 DataNode,但在实际部署中这种情况很少见。
集群中单个 NameNode 的存在大大简化了系统的架构。 NameNode 是所有 HDFS 元数据的仲裁者和存储库。系统的设计方式是用户数据永远不会流经 NameNode。
数据复制
HDFS 旨在跨大型集群中的机器可靠地存储非常大的文件。它将每个文件存储为一系列块;文件中除最后一个块之外的所有块大小都相同。文件的块被复制以实现容错。块大小和复制因子是每个文件可配置的。应用程序可以指定文件的副本数。复制因子可以在文件创建时指定,也可以稍后更改。 HDFS 中的文件是单次写入的,并且在任何时候都严格只有一个写入者。
NameNode 做出有关块复制的所有决策。它定期接收来自集群中每个 DataNode 的心跳信号和 Blockreport。收到心跳信号意味着 DataNode 运行正常。 Blockreport 包含 DataNode 上所有块的列表。

解耦存储 2
解耦存储是一种横向扩展存储形式,它由一些存储设备构建而成,这些存储设备充当逻辑存储池,可以通过超高性能网络结构分配给网络上的任何服务器。解耦存储解决了存储区域网络或直接连接存储的局限性。解耦存储是动态可重新配置的,并以最佳方式重新配置物理资源,以最大限度地提高性能并限制延迟。[8] 解耦存储提供本地存储的性能和存储区域网络的灵活性。
存储区域网络 (SAN)
存储区域网络 (SAN) 或存储网络是一种计算机网络,它提供对整合的块级数据存储的访问。 SAN 主要用于访问来自服务器的数据存储设备,如磁盘阵列和磁带库,以便设备在操作系统中显示为直接连接存储。 SAN 通常是专用存储设备网络,无法通过局域网 (LAN) 访问。
网络附加存储 (NAS)
NAS 单元是连接到网络的计算机,它仅向网络上的其他设备提供基于文件的数据存储服务。虽然从技术上讲可以在 NAS 单元上运行其他软件,但它通常不是设计为通用服务器。例如,NAS 单元通常没有键盘或显示器,并且通过网络进行控制和配置,通常使用浏览器。
NAS 设备不需要功能齐全的操作系统,因此通常使用精简的操作系统。例如,FreeNAS 或 NAS4Free 都是为商品 PC 硬件设计的开源 NAS 解决方案,它们被实现为 FreeBSD 的精简版本。
NAS 系统包含一个或多个硬盘驱动器,通常排列成逻辑的、冗余的存储容器或 RAID。
NAS 使用基于文件的协议,例如 NFS(在 UNIX 系统上流行)、SMB(服务器消息块)(与 MS Windows 系统一起使用)、AFP(与 Apple Macintosh 计算机一起使用)或 NCP(与 OES 和 Novell NetWare 一起使用)。 NAS 单元很少将客户端限制为单个协议。
对象存储(私有云)
对象存储(也称为基于对象的存储)是一种计算机数据存储架构,它将数据作为对象进行管理,而不是其他存储架构,如将数据作为文件层次结构管理的文件系统,以及将数据作为扇区和磁道内的块进行管理的块存储。每个对象通常包括数据本身、可变数量的元数据和全局唯一标识符。对象存储可以在多个级别实现,包括设备级别(对象存储设备)、系统级别和接口级别。在每种情况下,对象存储都力求实现其他存储架构未解决的功能,如应用程序直接可编程的接口、可以跨物理硬件的多个实例的命名空间,以及对象级粒度的数据管理功能,如数据复制和数据分发。
预测客户流失
什么是流失?
预测客户流失是许多企业中常见的数据科学工作流程。客户流失是指在一定时间内停止使用贵公司产品或服务的客户百分比。这很重要,因为获取新客户的成本高于保留现有客户的成本。
电信行业客户流失示例
此基准测试使用代表性电信公司客户数据的合成数据集,其中包含 7000 万个帐户级别记录,包括性别、每月收费、离网日期等等。这个端到端示例介绍了原始数据的分析处理和 ETL、将数据工程管道与机器学习集成,并一直延续到在生产环境中部署模型。
预测客户流失的价值
预测流失可以提高客户保留率。客户流失率降低 5% 可转化为利润增加 25%,同时减少了获取新客户的支出。
电子书 - https://www.nvidia.com/en-us/ai-data-science/resources/churn-prediction-blueprint/
演示 - 预测客户流失
下载 Telco 流失扩充基准测试

基准测试 |
平台 |
加速 |
相对成本 |
---|---|---|---|
数据准备/分析(CPU vs GPU) |
Spark 批处理作业/Cloudera Data Platform on NVIDIA Certified EGX Servers |
4.3 倍 |
3.2 倍 |
性能结果可能会发生变化,并且随着此解决方案的联合开发不断扩展而定期改进。加速是通过比较在配备和不配备 GPU 的服务器上测试的相同工作负载来衡量的,而相对成本加速考虑了在服务器中包含 GPU 的增量成本。上述结果是通过 8 台 NVIDIA Certified EGX Dell r7525 服务器、1 个 A100 GPU、1 个 CX-6 NIC、100GbE 带 RoCE 获得的
- <a class="fn-backref" href="#id1" target="_self">1</a>
HDFS 内容来源于 https://hadoop.apache.ac.cn
- <a class="fn-backref" href="#id2" target="_self">2</a>
解耦存储内容来源于 http://en.wikipedia.org