华为鲲鹏 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 JDBCHDFS 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 调度任务
相关推荐
1024小神3 小时前
为已有nextjs项目添加supabase数据库,不再需要冗余后端
数据库
一路阳光8514 小时前
华为mate40pro广告怎么关-怎么关闭热门推荐
华为
best_virtuoso4 小时前
PostgreSQL PostGIS安装与配置,现有数据库启用PostGIS扩展
数据库·postgresql
橙汁味的风4 小时前
3关系型数据库的SQL语言
数据库·sql
学编程的董4 小时前
07 计算字段的创建与使用 - 数据转换的艺术
数据库·oracle
UMI赋能企业4 小时前
制造业流程自动化提升生产力的全面分析
大数据·人工智能
程序员云帆哥4 小时前
MySQL JDBC Driver URL参数配置规范
数据库·mysql·jdbc
TDengine (老段)5 小时前
TDengine 数学函数 FLOOR 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
大气层煮月亮5 小时前
Oracle EBS ERP开发——报表生成Excel标准模板设计
数据库·oracle·excel