华为鲲鹏 Aarch64 环境下多 Oracle 、mysql数据库汇聚到Cloudera CDP7.3操作指南

华为鲲鹏 Aarch64 环境下多 Oracle 、mysql数据库汇聚到Cloudera CDP7.3操作指南

在华为鲲鹏(Kunpeng)AArch64 架构环境下,将 Oracle 和 MySQL 数据库的数据汇聚到 Cloudera CDP 7.3 是一个典型的 异构数据集成 + 大数据平台对接 的复杂任务。

然而,这里存在一个关键的技术限制 :

👉 Cloudera CDP 7.3 官方仅支持 x86_64 架构,CMP (Cloud Data AI Management Platform (Aarch64 版))支持 AArch64 (ARM64 )架构。


正确的架构是:
鲲鹏服务器作为数据抽取端(Source ) → 将数据汇聚到远程的CDP 7.3 集群(Target )


✅ 正确的操作指南:鲲鹏作为数据源端,CDP 7.3 作为目标平台

🎯 场景说明

  • 数据源:Oracle、MySQL(可部署在任意位置)
  • 抽取端:华为鲲鹏 AArch64 服务器(运行 ETL 工具)
  • 目标平台 :Cloudera CDP 7.3 集群
  • 网络要求:鲲鹏服务器能访问 Oracle、MySQL 和 CDP 集群的网络(如 Hive、HDFS、Kafka 端口)

一、整体架构设计

Text:

Oracle DB \

\

MySQL DB\] → (JDBC) → \[鲲鹏 AArch64 服务器\] → (HDFS/Kafka/Hive) → \[CDP 7.3 集群

/

Sqoop/SeaTunnel/Kettle

角色分工:

  • 鲲鹏服务器:运行 ETL 工具,负责从 Oracle/MySQL 抽取数据,转换后发送到 CDP。
  • CDP 7.3 集群:接收数据,存储于 HDFS、Hive、Kafka 等组件中。

二、推荐方案(鲲鹏兼容 + CDP 集成)

✅ 方案 1 :Apache SeaTunnel (推荐)

优势:

  • 支持 ARM64 编译运行
  • 原生支持 Oracle/MySQL → Hive/HDFS/Kafka
  • 可对接 Spark/Flink on CDP
  • 高性能,适合批处理和流式同步

部署步骤(在鲲鹏 AArch64 服务器)

  • 安装 Java 8/11 (OpenJDK )

Bash:

sudo dnf install java-1.8.0-openjdk-devel -y

  • 下载并编译 SeaTunnel (ARM64 兼容)

Bash

编辑

git clone https://github.com/apache/seatunnel.git

cd seatunnel

mvn clean package -DskipTests -Pconnector-v2

  • 配置 JDBC 驱动
    • 下载 ojdbc8.jar(Oracle)和 mysql-connector-java-8.0.33.jar
    • 放入 seatunnel-dist/target/seatunnel-2.3.4-SNAPSHOT/lib/
  • 编写配置文件 oracle-to-hive.conf

Hocon:

env {

execution.parallelism = 2

job.mode = "BATCH"

}

source {

Jdbc {

url = "jdbc:oracle:thin:@//192.168.1.100:1521/ORCL"

driver = "oracle.jdbc.driver.OracleDriver"

user = "scott"

password = "tiger"

query = "SELECT id, name, salary, hire_date FROM emp WHERE hire_date > '${START_TIME}'"

result_table_name = "src_emp"

}

}

transform {

可选:字段映射、类型转换

}

sink {

HdfsFile {

path = "hdfs://cdp-nn:8020/data/emp/"

file_name = "emp"

file_format_type = "Parquet"

hive_meta_store_uri = "thrift://cdp-hms:9083"

hive_database = "default"

hive_table = "emp"

hive_partition_fields = "dt"

hive_partition_value = "${TODAY}"

}

}

  • 提交任务

Bash:

./bin/seatunnel.sh --config config/oracle-to-hive.conf

✅ 数据将写入 CDP 集群的 HDFS 和 Hive 表中。


✅ 方案 2 :自研 Java + MyBatis + Hive JDBC

适用于定制化需求强的场景。

步骤:

  • 使用 Spring Boot 开发应用,连接 Oracle/MySQL。
  • 使用 HiveServer2 JDBC 或 HDFS Java API 将数据写入 CDP。
  • 打包为 Fat Jar,在鲲鹏服务器运行。

Java:

// 示例:写入 Hive

String hiveUrl = "jdbc:hive2://cdp-hiveserver:10000/default";

Connection conn = DriverManager.getConnection(hiveUrl, "hive", "password");

PreparedStatement ps = conn.prepareStatement("INSERT INTO emp VALUES (?, ?, ?)");

ps.setInt(1, id);

ps.setString(2, name);

ps.setDouble(3, salary);

ps.addBatch();

ps.executeBatch();

⚠️ 需在鲲鹏服务器安装 Hadoop 客户端配置(core-site.xml, hdfs-site.xml),或使用 Hive JDBC 直接连接。


✅ 方案 3 :Kettle (Pentaho Data Integration )

  • 在鲲鹏服务器安装 Kettle(需 OpenJDK for AArch64)。
  • 创建 Transformation:
    • Table Input:连接 Oracle/MySQL
    • Hadoop Hive Output:配置 HiveServer2 连接信息
  • 执行并调度。

三、CDP 7.3 端准备(x86_64 集群)

确保 CDP 集群已启用以下服务:

  • HDFS:数据存储
  • Hive Metastore:元数据管理
  • HiveServer2:JDBC 写入支持
  • Kafka (可选):实时流接入

开放网络与权限

  • 开放 HiveServer2 端口(默认 10000)
  • 配置 HDFS 目录权限,允许鲲鹏服务器写入
  • 如启用 Kerberos,需配置 keytab 认证(较复杂,建议测试环境先关闭)

四、关键注意事项(鲲鹏 + CDP 组合)

问题 解决方案
CDP 不支持 AArch64 鲲鹏仅作为客户端/抽取端,CMP替代CDP
JDBC 驱动兼容性 使用纯 Java JDBC 驱动(ojdbc8.jar, mysql-connector-java),兼容 ARM64
网络延迟 确保鲲鹏与 CDP 集群间网络稳定,建议千兆以上
数据量大时性能 使用 Parquet/ORC 格式,批量写入,避免小文件
安全认证 若 CDP 启用 Kerberos,需在鲲鹏端配置 JAAS 和 keytab,复杂度高

五、替代建议:使用 CDP 原生工具(反向操作)

如果您的 CDP 集群资源充足,更推荐的做法是:

在 CDP 集群内部使用 Sqoop 或 Spark 从远程 Oracle/MySQL 抽取数据。

示例:在 CDP 节点运行 Sqoop

Bash:

sqoop import \

--connect jdbc:oracle:thin:@//oracle-host:1521/ORCL \

--username scott \

--password-file /user/hive/pswd \

--table EMP \

--target-dir /data/emp \

--hive-import \

--hive-table emp

优点:

  • 利用 CDP 内部网络,速度快
  • 无需依赖外部鲲鹏服务器
  • 管理集中

前提:CDP 节点能访问 Oracle/MySQL 数据库。


六、总结

项目 说明
正确架构 鲲鹏作为 ETL 客户端 → CDP 7.3 作为目标集群
推荐工具 Apache SeaTunnel(ARM64 兼容,高性能)
数据写入方式 HDFS、Hive、Kafka
安全建议 测试环境先关闭 Kerberos,生产环境再启用

📌 最终建议流程:

  • 确认 CDP 7.3 集群网络可被鲲鹏访问
  • 在鲲鹏服务器部署 SeaTunnel 或 自研 Java 应用
  • 配置 Oracle/MySQL 到 Hive/HDFS 的同步任务
  • 测试数据写入,验证 Hive 表可查
  • 使用 DolphinScheduler 或 Crontab 调度任务
相关推荐
一只鹿鹿鹿4 小时前
政务外网整体设计方案(PPT)
大数据·数据库·web安全·系统安全·流程图·政务
2603_965148115 小时前
社区与学习资源:从入门到精通的API选品学习路径
数据库·人工智能·python·学习·数据挖掘
for_ever_love__5 小时前
MySQL ORDER BY 排序优化:从 Using filesort 到索引有序扫描(含双路 / 单路排序原理)
java·mysql·优化·存储·by·order·filesort
AI砖家5 小时前
安全进入 Agent Loop:2027 年 Coding Agent 的决胜点
数据库·安全·codex·vibecoding
wangqiaowq5 小时前
SQL server C盘空间占满的处理
数据库·sql
文人sec5 小时前
SQL基础入门笔记 | 从零基础到掌握核心查询语句
数据库·笔记·sql
数字新视界5 小时前
机房动环监控提升运维效率
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
SelectDB技术团队6 小时前
冷热分层从建到验:Storage Policy 创建、表级与分区级绑定、SHOW TABLETS 验证的完整命令
大数据·数据库·elasticsearch·搜索引擎·数据分析·apache doris·冷热分层
CALL158119098456 小时前
RoHS报告怎么做?测试项目、流程、费用与报告内容一文讲清
大数据
建筑工程企业管理系统6 小时前
工程进度统计管理系统自动化汇总数据,解决施工企业手工对账误差难题
大数据·人工智能·自动化