当前位置: 首页 > news >正文

Doris 并入CMP7(类Cloudera CDP 7.3.1 404华为鲲鹏ARM版)的方案和实施源代码

Apache Doris 并入CMP7(类Cloudera CDP 7 404版)的方案和实施源代码

截至目前(2025年11月),Apache Doris 并未被 Cloud Data AI  官方支持为 CMP(Cloud Data AI  Data Platform)的原生组件,因此 不存在官方“并入 CMP”的方案或实施源代码。Cloud Data AI  CMP 的服务管理基于 Parcel + Cloud Data AI  Manager (CM) 体系,而 Apache Doris 并未提供官方的 Parcel 包或 CM 插件。

不过,社区和企业用户可以通过 自定义集成方式 将 Doris 与 CMP 协同部署和使用。下面将从 可行方案可参考的开源/示例代码 两方面详细说明,并提供 模拟实现思路部分脚本示例

一、可行集成方案概览

方案

描述

是否需要修改源码

1. 独立部署 + 数据互通

CMP 集群外独立部署 Doris,通过 HDFS/Kafka/Hive CMP 交换数据

2. 使用 External CatalogDoris 2.0+

Doris 直接查询 Hive 表(通过 Hive Metastore

否(仅配置)

3. 自定义 Parcel(实验性)

手动打包 Doris Cloud Data AI  Parcel,通过 CM 管理(非官方)

是(需编写 parcel.json、脚本等)

4. Spark/Flink Connector 写入

利用 Doris 官方提供的连接器从 CMP 中的 Spark/Flink 写入数据

否(使用官方 connector

推荐方案:1 + 2 + 4 组合 —— 无需侵入 CMP,稳定性高,运维清晰。


二、官方连接器源代码(可用于 CMP 集成)

这些是 Apache Doris 官方维护的连接器,可直接用于 CMP 中的 Spark/Flink 作业:

1. Flink Doris Connector

  • GitHub: https://github.com/apache/doris/tree/master/extension/flink-doris-connector
  • 支持 Flink 1.14~1.18
  • 示例写入代码:

Java:

DorisSink.Builder<String> builder = DorisSink.builder();

builder.setDorisReadOptions(DorisReadOptions.builder().build())

       .setDorisExecutionOptions(DorisExecutionOptions.builder()

           .setLabelPrefix("flink_job")

           .setStreamLoadProp(streamLoadProp)

           .build())

       .setSerializer(new SimpleStringSerializer())

       .setDorisOptions(DorisOptions.builder()

           .setFenodes("doris-fe:8030")

           .setTableIdentifier("db.table")

           .setUsername("root")

           .setPassword("")

           .build());

stream.addSink(builder.build());

2. Spark Doris Connector

  • GitHub: https://github.com/apache/doris/tree/master/extension/spark-doris-connector
  • 支持 Spark 2.3 ~ 3.4(兼容 CMP Private Cloud)
  • 示例读取:

Scala:

val df = spark.read.format("doris")

  .option("doris.fenodes", "doris-fe:8030")

  .option("doris.table.identifier", "db.table")

  .option("user", "root")

  .option("password", "")

  .load()

✅ 这些连接器可直接在 CMP 的 Spark on YARNFlink on YARN 中使用。


三、实验性方案:将 Doris 打包为 Cloud Data AI  Parcel(非官方)

⚠️ 此方案 无官方支持,仅适用于高级用户做 PoC 或内部工具化,不建议生产环境使用

实现原理

Cloud Data AI  Parcel 是一个 .parcel 文件(本质是 tar.gz)+ parcel.json + 激活脚本,由 Cloud Data AI  Manager 管理生命周期。

步骤简述

  • 下载 Doris 二进制包(如 apache-doris-x.x.x-bin.tar.gz)
  • 编写 parcel.json
  • 编写启动/停止脚本(调用 start_fe.sh, start_be.sh)
  • 打包为 .parcel 和 .sha 校验文件
  • 部署到 CM 的 parcel repo 目录
  • 在 CM 界面分配并激活

示例:parcel.json 片段

Json:

{

  "schema_version": 1,

  "name": "DORIS",

  "version": "2.0.3",

  "extraVersionInfo": {

    "fullVersion": "2.0.3-cdh7.1.7",

    "baseVersion": "2.0.3",

    "patchLevel": "0"

  },

  "scripts": {

    "defines": "doris_env.sh",

    "start": "scripts/doris_start.sh",

    "stop": "scripts/doris_stop.sh"

  },

  "packages": [],

  "components": [

    {

      "name": "DORIS_FE",

      "version": "2.0.3",

      "pkg_version": "2.0.3"

    },

    {

      "name": "DORIS_BE",

      "version": "2.0.3",

      "pkg_version": "2.0.3"

    }

  ]

}

启动脚本示例 (doris_start.sh)

Bash:

#!/bin/bash

source /opt/Cloud Data AI /parcels/DORIS/doris_env.sh

if [ "$ROLE_TYPE" == "DORIS_FE" ]; then

  /opt/Cloud Data AI /parcels/DORIS/lib/doris/bin/start_fe.sh --daemon

elif [ "$ROLE_TYPE" == "DORIS_BE" ]; then

  /opt/Cloud Data AI /parcels/DORIS/lib/doris/bin/start_be.sh --daemon

fi

🔧 完整实现需处理:配置生成、日志路径、Kerberos 集成、端口冲突、CM 监控指标上报等,工作量较大。

社区参考项目(非官方)

  • GitHub 搜索关键词:Cloud Data AI  parcel doris
  • 目前 无成熟开源项目,仅有零星博客尝试(如 https://github.com/xxx/doris-parcel-demo 仅为示意)

四、推荐实施路径(无需源码修改)

架构图

Text:

CMP Cluster (HDFS, Hive, Kafka, Spark)

       ↑↓ (via Connector / Broker Load / Hive Catalog)

Apache Doris (独立部署在3台物理机)

       ↑

BI Tools (Superset/Tableau via MySQL JDBC)

实施步骤

  • 部署 Doris 集群
    • 下载:https://archive.apache.org/dist/doris/
    • 文档:https://doris.apache.org/docs/install/standard-deployment/
  • 配置 Hive Catalog(Doris 2.0+

Sql:

CREATE EXTERNAL CATALOG hive_catalog

PROPERTIES (

  "type" = "hive",

  "hive.metastore.uris" = "thrift://CMP-hive-metastore:9083",

  "hadoop.security.authentication" = "kerberos",

  "kerberos.principal" = "doris@REALM",

  "kerberos.keytab" = "/path/to/doris.keytab"

);

  • 从 CMP Spark 写入 Doris
    • 将 spark-doris-connector JAR 包放入 Spark 的 --jars
    • 提交作业:

Bash:

spark-submit \

  --master yarn \

  --jars /opt/doris-spark-3.4_2.12-1.3.0.jar \

  your_app.py

  • 监控与告警
    • 使用 Doris 自带 Prometheus Exporter
    • 接入 CMP 的 Cloud Data AI  Manager 外部监控(通过 API 或 Grafana)

五、总结

问题

回答

是否有官方并入 CMP”方案?

是否有官方源代码支持集成?

有(Flink/Spark Connector

能否做成 CM 托管服务?

⚠️ 可手动实现 Parcel,但无官方支持,风险高

推荐做法?

独立部署 Doris + 使用官方 Connector + Hive Catalog 查询 CMP 数据湖


六、附:关键开源代码仓库

  • Apache Doris 主仓库:https://github.com/apache/doris
  • Spark Connector:https://github.com/apache/doris/tree/master/extension/spark-doris-connector
  • Flink Connector:https://github.com/apache/doris/tree/master/extension/flink-doris-connector
  • Doris Hive Catalog 文档:https://doris.apache.org/docs/ecosystem/hive-catalog/

如你希望我提供 完整的 Parcel 打包脚本模板CMP + Doris 联合部署的 Ansible 脚本示例,可以继续说明你的环境(如 CMP Base 7.1.7 / CMP Public Cloud / 是否启用 Kerberos 等),我可以为你定制。

http://www.dtcms.com/a/573331.html

相关文章:

  • Vue3项目实战:从0到1开发企业级中后台系统(3):架构核心!手把手封装Axios、Pinia、Router
  • Spark on Yarn安装部署
  • 建设系统网站怎么做自然优化
  • 国产化数据库选型深度剖析:金仓KES与达梦DM全生命周期成本对比
  • Java 读取 Word 文本框中的文本和图片:Spire.Doc for Java 实践指南
  • 网站建设开发定制微信网站如何做
  • 商城项目业务总结
  • 安卓16提前发布能否改写移动生态格局
  • JVM :内存、性能调优与 JIT
  • JVM问题排查流程
  • 仲恺做网站wordpress屏蔽功能org
  • AI视频创作工具汇总:MoneyPrinterTurbo、KrillinAI、NarratoAI、ViMax
  • 部署我的世界-java版服务器-frp内网穿透
  • Eureka 注册中心原理与服务注册发现机制
  • Unity使用RVM实现实时人物视频抠像(无绿幕)
  • 物联网传感器环境自适应校准与精度补偿技术
  • 【低空安全】低空安防威胁与挑战
  • 微网站建设包括哪些iis5.1怎么新建网站
  • 45_AI智能体核心业务之Agent决策流程管理器:构建智能对话系统的工作流引擎
  • wordpress api定制济南seo公司案例
  • vscode运行ipynb文件:使用docker中的虚拟环境
  • 网站布局有哪些企业网站源码怎么获取
  • 如何科学地对单片机进行AI性能测试:指标、方法与实战
  • 软件设计师-树-叶子结点个数
  • 饭店网站模板北京网站制作郑州
  • 小型企业网站建设公司株洲网上房地产
  • 数据中台的核心功能包含哪些?基本思路建设思路是什么?
  • 牛网网站建设网站内容优化关键词布局
  • C++进阶:(五)map系列容器的全面解析
  • C++之lambda表达式使用解读