银行的数据智能平台和Cloudera CDP 7.3(CMP 7.3)的技术对接

银行的数据智能平台和Cloudera CDP 7.3(CMP 7.3)的技术对接

面向银行场景的、保姆级详细技术对接方案 ,涵盖从环境准备、安全合规、数据集成、模型开发到运维监控的全流程,适用于将银行自建的数据智能平台 (Data Intelligence Platform)与 Cloud Data AI CMP 7.3 Private Cloud Base/Plus 进行深度集成。

📌 适用对象:银行科技部、数据中台团队、大数据平台工程师

🎯 目标:实现"数据智能平台"调用 CMP 的存储、计算、AI 能力,同时满足金融行业安全、审计、高可用要求


一、整体架构图(逻辑视图)

二、前置条件确认

项目 要求
CMP 版本 CMP Private Cloud Base 或 Plus 7.3.x(非 Public Cloud)
部署模式 On-premises(物理机/VM),支持 Kerberos + TLS
网络 与数据智能平台同内网,防火墙开放指定端口
身份源 银行已部署 Active Directory 或 LDAP
证书 银行内部 CA 可签发 TLS 证书(用于 Knox、HiveServer2 等)

三、分步对接操作指南(保姆级)


步骤 1 :CMP 集群基础配置

1.1 启用安全认证(Kerberos + LDAP

在 Cloud Data AI Manager 中操作

  1. Administration → Settings → Security
  • Authentication: Enable Kerberos

  • KDC Type: MIT KDC 或 Microsoft AD

  1. 配置 LDAP 同步:
  • External Authentication → LDAP

  • Server URL: ldaps://ad.bank.local:636

  • Bind DN: svc_CMP@bank.local

  • User Search Base: OU=Users,DC=bank,DC=local

  • Group Search Base: OU=Groups,DC=bank,DC=local

  1. 测试用户登录 Hue / CML

1.2 配置 Knox 作为统一入口(关键!)

  • 启用 Knox 服务
  • 配置 Topology(如 CMP-gateway.xml):

Xml

编辑

<topology>

<gateway>

<provider>

<role>authentication</role>

<name>ShiroProvider</name>

<enabled>true</enabled>

<param><name>sessionTimeout</name><value>30</value></param>

</provider>

<provider>

<role>identity-assertion</role>

<name>Default</name>

<enabled>true</enabled>

</provider>

</gateway>

<service>

<role>HIVE</role>

<url>http://hive-server2:10001/cliservice\</url>

</service>

<service>

<role>SPARKLIVY</role>

<url>http://livy-server:8998</url>

</service>

<service>

<role>CML</role>

<url>https://cml-master:443</url>

</service>

</topology>

✅ 优势:隐藏内部组件 IP,统一 TLS 加密,集中认证。


步骤 2 :数据接入对接(银行 → CMP

场景:每日 T+1 客户交易数据入湖

方案 A :使用 Apache NiFi (推荐)

  • 在 CMP 上启用 NiFi 服务
  • 创建 Flow:
    • Input:SFTP / JDBC / REST(连接银行 Oracle/DB2)
    • Process:Validate CSV → Convert to Parquet → Encrypt PII
    • Output:PutHDFS → 写入 /data/ods/txn_daily/yyyyMMdd/
  • 配置 NiFi 使用 Kerberos 认证访问 HDFS
  • 触发方式:
    • 定时调度(NiFi Schedule)
    • 或由银行调度平台调用 NiFi REST API 启动 Flow

方案 B :批量导入(Sqoop + Oozie

Sqoop Job 示例(通过 Knox Livy 提交)

sqoop import \

--connect jdbc:oracle:thin:@//db.bank.local:1521/ORCL \

--username bank_user \

--password-file /user/CMP/.passwd \

--table TXN_HISTORY \

--target-dir /data/ods/txn_raw \

--as-parquetfile \

--incremental append \

--check-column TXN_DATE

💡 所有密码使用 Hadoop Credential Provider 加密存储。


步骤 3 :计算与模型对接(智能平台 ↔ CMP

3.1 智能平台提交 Spark 作业

  • 方式:通过 Livy API (经 Knox

Python

Python 示例(数据智能平台后端调用)

import requests

livy_url = "https://knox.bank.local:8443/gateway/CMP-gateway/livy/v1/batches"

headers = {

"Content-Type": "application/json",

"Authorization": "Basic base64(user:pass)" # 或 Token

}

payload = {

"file": "hdfs:///apps/risk_score.py",

"className": "com.bank.RiskScoring",

"args": ["--date", "20251231"],

"conf": {

"spark.executor.memory": "4g",

"spark.sql.catalogImplementation": "hive"

}

}

resp = requests.post(livy_url, json=payload, headers=headers, verify='/etc/ssl/certs/bank-ca.pem')

3.2 在 CML 中部署模型 API (供智能平台调用)

  • 登录 CML → Create Project → Python 3.9
  • 编写模型服务:

Python

model.py

from cml.models import model

import joblib

model_file = joblib.load("fraud_model.pkl")

@model

def predict(transaction_amount, user_age, ...):

features = [transaction_amount, user_age, ...]

return {"risk_score": float(model_file.predict_proba([features])[0][1])}

  • Deploy as API → 获取 Endpoint URL:

Text:

https://cml.bank.local/api/altus-ds-1/models/call-model

  • 数据智能平台调用(带 API Key):

Bash

curl -X POST https://cml.bank.local/... \

-H "Authorization: Bearer <API_KEY>" \

-d '{"transaction_amount": 5000, "user_age": 35}'

🔐 API Key 由 CML 管理,可绑定到特定 AD 用户/组。


步骤 4 :元数据与治理对接

4.1 启用 Atlas 并同步到银行治理平台

  • 在 CMP 中启用 Atlas 服务
  • 验证自动捕获:
    • Hive 表创建 → Atlas 显示实体
    • Spark 作业读写 → 生成血缘 Lineage
  • 推送元数据到银行治理平台 (如 DataHub、自研系统):
    • 方式 1:Atlas Hook + Kafka → 银行消费
    • 方式 2:定时调用 Atlas REST API 导出 JSON

Bash

curl -u admin:admin http://atlas-host:21000/api/atlas/v2/search/basic?typeName=hive_table

4.2 敏感数据打标与脱敏

  • 在 Ranger 中创建策略:
    • Resource: hive; default; customer_info; id_card
    • Policy Type: Masking
    • Masking Option: Show first 3 chars, rest as ****
  • 银行用户查询时自动脱敏,无需改 SQL。

步骤 5 :安全与合规加固

要求 配置项
传输加密 所有服务启用 TLS 1.2+,证书由银行 CA 签发
存储加密 HDFS 启用 Transparent Data Encryption (TDE),密钥由银行 KMS 管理
审计日志 Ranger Audit → Solr;CM Logs → Fluentd → 银行 ELK
最小权限 禁用默认账户;服务账户仅授权必要权限
漏洞扫描 定期使用 Nessus 扫描 CMP 组件

📜 符合《金融行业网络安全等级保护实施指引》三级要求。


步骤 6 :监控与告警对接

  • 指标采集
    • 部署 Prometheus Node Exporter + CM Exporter
    • 抓取指标:yarn_queue_memory_used, hdfs_capacity_remaining
  • 告警规则 (Grafana):
    • HDFS 使用率 > 85% → 企业微信告警
    • Kafka Lag > 10000 → 邮件通知
  • 对接银行运维平台
    • 通过 Webhook 发送告警到银行 Zabbix/Open-Falcon

四、常见问题与避坑指南

问题 解决方案
Knox 返回 401 检查 ShiroProvider 配置,确认 LDAP 用户存在
Spark 作业无法读 Hive 表 确保 hive-site.xml 在 Spark Conf 中,且用户有 Ranger 权限
CML 模型部署失败 检查 Docker 镜像拉取权限,CML 需访问内部 Harbor
Atlas 血缘不完整 确保 Spark 作业使用 spark.sql.queryExecutionListeners=org.apache.atlas.spark.AtlasSparkListener
性能慢 调整 YARN 队列资源,Hive LLAP 开启

五、交付物清单(项目验收)

  1. CMP 集群安全加固报告
  2. 数据接入流程文档(含 NiFi Flow 图)
  3. 模型 API 调用示例代码(Python/Java)
  4. Ranger 权限策略截图
  5. Atlas 血缘截图(从源表到模型)
  6. 监控看板 URL(Grafana)
  7. 应急回滚方案(如 CMP 故障切换)

六、参考链接

相关推荐
雅欣鱼子酱2 小时前
Type-C 终端应用里 给产品增加PD快充取电 PD取电诱骗芯片有什么推荐?
人工智能·单片机·芯片·电子元器件
liulanba2 小时前
大模型训练参数调优完整指南
人工智能·深度学习
liulanba2 小时前
AI Agent技术完整指南 第三部分:监控与管理
人工智能
optimistic_chen2 小时前
【Redis 系列】常用数据结构---String类型
数据结构·数据库·redis·缓存·string
G皮T2 小时前
【Elasticsearch】查询性能调优(七):为什么计数对性能影响如此之大?
大数据·elasticsearch·搜索引擎·全文检索·索引·查询·opensearch
大猫子的技术日记2 小时前
Redis 快速上手实战教程:从零搭建高性能缓存系统
数据库·redis·缓存
莳花微语2 小时前
记录一次生产中mysql主备延迟问题处理
数据库·mysql
火山引擎开发者社区2 小时前
火山引擎发布系列《AI 安全白皮书》,构筑AI云原生可信基座
人工智能·安全·火山引擎
TonyLee0172 小时前
pytorch深度学习训练随机种子设置
人工智能·pytorch·深度学习