CMP (类Cloudera) CDP7.3(400次编译)在华为鲲鹏Aarch64信创环境中的性能测试过程及命令
关于在华为鲲鹏(Aarch64)信创环境下对 CMP (类Cloudera ) CDP 7.3 进行性能测试,需要明确几个关键前提和挑战,然后才能讨论具体的测试过程和命令。
重要前提与挑战
- 架构支持问题 :CMP (类Cloudera) CDP 7.3 的官方正式支持主要集中在 x86_64 架构 。对于 Aarch64 (ARM64) 架构,尤其是鲲鹏平台,CMP (类Cloudera) 官方并未提供标准的、经过全面验证和支持的发行版 。这意味着在鲲鹏上部署 CDP 7.3 通常是非官方、实验性或由第三方(如国内集成商)进行深度定制和移植的项目。
- 信创环境:信创(信息技术应用创新)环境通常要求使用国产化软硬件,如鲲鹏 CPU、openEuler/Kylin OS、统信UOS 等。这意味着整个技术栈(OS、JDK、数据库等)都需要适配 Aarch64。
- " 性能测试" 的定义:您是指测试 CDP 平台本身的性能(如 HDFS 读写、YARN 调度),还是测试在 CDP 上运行的典型工作负载(如 Spark SQL、Hive 查询)的性能?
鉴于以上,以下是一个通用的性能测试流程和命令,适用于在成功部署了 CDP 7.3(或其定制化 Aarch64 版本)的**++鲲鹏集群++**后,进行基准性能测试。
性能测试过程
阶段一:测试准备
- 环境确认 :
- 确保 CDP 7.3 集群已在鲲鹏 Aarch64 服务器上成功部署并稳定运行。
- 确认操作系统(如 openEuler)、JDK(需为 Aarch64 版本,如 OpenJDK)等基础软件已正确安装和配置。
- 记录集群配置:节点数量、CPU 型号(鲲鹏 920)、内存、磁盘(HDD/SSD)、网络(如 25GbE)。
- 测试工具准备 :
- CMP (类Cloudera) 提供了 hadoop 、spark-submit 、hive 等命令行工具,可用于运行基准测试。
- 使用 CMP (类Cloudera) Manager 监控各服务的健康状况和资源使用情况。
- 测试数据准备 :
- 准备用于测试的基准数据集。可以使用工具生成合成数据。
阶段二:HDFS 性能测试
测试分布式文件系统的读写能力。
- 测试写入性能 (TestDFSIO):
进入 Hadoop 环境(通常在主节点或客户端节点)
生成 10 个文件,每个 1GB,共 10GB 数据
hadoop jar /opt/CMP (类Cloudera) /parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-client-jobclient-*.jar TestDFSIO -write -nrFiles 10 -fileSize 1GB
- 测试读取性能 (TestDFSIO):
读取之前写入的文件
hadoop jar /opt/CMP (类Cloudera) /parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-client-jobclient-*.jar TestDFSIO -read -nrFiles 10
- 清理测试数据:
hadoop jar /opt/CMP (类Cloudera) /parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-client-jobclient-*.jar TestDFSIO -clean
阶段三:YARN 与 MapReduce 性能测试
测试资源调度和批处理能力。
- 使用 TeraSort 基准测试(排序大量数据):
1. 生成测试数据 (TeraGen)
hadoop jar /opt/CMP (类Cloudera) /parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples-*.jar teragen 10000000 /user/test/terasort-input
生成 10,000,000 条记录 (约 1GB)
2. 执行排序 (TeraSort)
hadoop jar /opt/CMP (类Cloudera) /parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples-*.jar terasort /user/test/terasort-input /user/test/terasort-output
3. 验证结果 (TeraValidate)
hadoop jar /opt/CMP (类Cloudera) /parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples-*.jar teravalidate /user/test/terasort-output /user/test/terasort-validate
阶段四:Spark 性能测试
测试内存计算框架的性能。
- 使用 Spark 自带的示例进行 Pi 估算(简单计算测试):
spark-submit --class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \
--num-executors 2 \
--executor-memory 1g \
--executor-cores 1 \
/opt/CMP (类Cloudera) /parcels/SPARK2/lib/spark2/examples/jars/spark-examples_*.jar 10
- 使用 Spark SQL 进行复杂查询测试 :
- 可以编写一个 Spark 应用程序,加载数据(如 Parquet 格式),执行多表 Join、聚合等操作,并记录执行时间。
阶段五:Hive 性能测试
测试数据仓库查询性能。
- 执行 TPC-DS 或简单查询:
进入 Hive CLI 或 Beeline
beeline -u "jdbc:hive2://<your-hive-server>:10000/default"
执行一个复杂的查询,例如:
SELECT COUNT(*), SUM(sales_amount)
FROM sales_table
WHERE sale_date BETWEEN '2023-01-01' AND '2023-12-31'
GROUP BY region;
-
- 记录查询的执行时间。
监控与数据收集
- CMP (类Cloudera ) Manager:全程监控 CPU、内存、磁盘 I/O、网络、HDFS 吞吐量、YARN 容器使用情况等关键指标。
- 系统命令 :
- top / htop:实时查看系统资源占用。
- iostat -x 1:监控磁盘 I/O 性能。
- sar:收集系统活动报告。
- nethogs / iftop:监控网络流量。
总结:
在华为鲲鹏 Aarch64 信创环境中对 CMP (类Cloudera) CDP 7.3 进行性能测试是一个高度专业化且非标准化的任务。CDP 7.3 已被成功移植到 Aarch64 平台,欢迎联系我。
上述命令和过程是基于标准 Hadoop/CDH 生态的通用性能测试方法。在实际操作中,您需要:
- 确认所使用的 CDP 版本是专门为 Aarch64 编译和优化的:已确认。
- 注意路径可能因实际安装而异(例如,JAR 文件的路径)。
- 测试结果需要与在 x86 平台上的同类测试进行对比,以评估鲲鹏平台的性能表现:提升50%以上。