全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

Serverless Spark读写HDFS目录

最近更新时间:2025-05-19 20:02:44

本文将介绍如何通过客户端工具进行Spark作业读写KMR HDFS目录。

前提条件

  1. 已创建KMR集群,具体操作参见创建集群

  2. 已创建Serverless 计算引擎工作空间,具体操作参见创建工作空间

  3. KMR集群与Serverless计算引擎工作空间须在同一VPC下。

操作步骤

步骤一:下载作业示例

本文旨在带您快速熟悉操作流程,为您提供了一个作业示例,您可以直接下载以备后续步骤使用。

点击 spark-examples_2.12-3.3.1.jar下载作业示例,该作业为计算圆周率。

步骤二:下载并安装客户端
  1. 单击ksc-serverless-tool.tar.gz,下载客户端。

  2. 执行以下命令,解压并安装。

tar -zxvf ksc-serverless-tool.tar.gz
步骤三:确定HDFS节点地址
  1. 进入金山云托管Hadoop控制台

  2. 左侧导航栏选择集群管理,点击集群名称。

  3. 进入集群详情页,左侧导航栏选择主机列表,主机列表中IP信息字段即为HDFS节点地址。

步骤四:配置HDFS

执行以下命令,完成HDFS基本配置。

--proxy-user hadoop \
--conf spark.hadoop.fs.defaultFS=hdfs://hdfs-ha \
--conf spark.hadoop.dfs.nameservices=hdfs-ha \
--conf spark.hadoop.dfs.ha.namenodes.hdfs-ha=nn1,nn2 \
--conf spark.hadoop.dfs.namenode.rpc-address.hdfs-ha.nn1=address1:8020 \
--conf spark.hadoop.dfs.namenode.rpc-address.hdfs-ha.nn2=address2:8020 \
--conf spark.hadoop.dfs.client.failover.proxy.provider.hdfs-ha=org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider \

需将address1,address2替换为步骤三中的内网IP。

测试用例

SparkPi 用例
  1. 加载jar资源包:kmr连接master主机,输入以下命令,创建目录,上传作业示例spark-examples_2.12-3.3.1.jar。

su hadoop
hadoop fs -mkdir -p /tmp/spark
hadoop fs -ls /
hadoop fs -put ./spark-examples_2.12-3.3.1.jar /tmp/spark
  1. 提交SparkPi任务。

./bin/ksc-serverless-tool  --name SparkPi \
--proxy-user hadoop \
--num-executors 5 \
--driver-cores 1 \
--driver-memory 1g \
--executor-cores 2 \
--executor-memory 2g \
--conf spark.hadoop.fs.defaultFS=hdfs://hdfs-ha \
--conf spark.hadoop.dfs.nameservices=hdfs-ha \
--conf spark.hadoop.dfs.ha.namenodes.hdfs-ha=nn1,nn2 \
--conf spark.hadoop.dfs.namenode.rpc-address.hdfs-ha.nn1=address1:8020 \
--conf spark.hadoop.dfs.namenode.rpc-address.hdfs-ha.nn2=address2:8020 \
--conf spark.hadoop.dfs.client.failover.proxy.provider.hdfs-ha=org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider \
--class org.apache.spark.examples.SparkPi \
hdfs://hdfs-ha/spark/spark-examples_2.12-3.3.1.jar 1000
TeraGen 用例
  1. 点击链接,下载示例 spark-terasort-1.2.jar

  2. 写HDFS目录:kmr连接master主机,输入以下命令,创建目录上传示例spark-terasort-1.2.jar。

su hadoop
hadoop fs -mkdir -p /tmp/spark/input
hadoop fs -ls /
hadoop fs -put ./spark-terasort-1.2.jar /tmp/spark
  1. 提交TeraGen任务。

    ./bin/ksc-serverless-tool --name TeraGen  \
    --class com.github.ehiggs.spark.terasort.TeraGen \
    --proxy-user hadoop \
    --driver-cores 1  \
    --num-executors 1 \
    --driver-memory 4g  \
    --executor-cores 2  \
    --executor-memory 4g \
    --conf spark.hadoop.fs.defaultFS=hdfs://hdfs-ha \
    --conf spark.hadoop.dfs.nameservices=hdfs-ha \
    --conf spark.hadoop.dfs.ha.namenodes.hdfs-ha=nn1,nn2 \
    --conf spark.hadoop.dfs.namenode.rpc-address.hdfs-ha.nn1=address1:8020 \
    --conf spark.hadoop.dfs.namenode.rpc-address.hdfs-ha.nn2=address2:8020 \
    --conf spark.hadoop.dfs.client.failover.proxy.provider.hdfs-ha=org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider \
    hdfs://hdfs-ha/spark/spark-terasort-1.2.jar 1g hdfs://hdfs-ha/spark/input
TeraSort用例
  1. 写HDFS目录:kmr连接master主机,创建目录上传示例spark-terasort-1.2.jar。

su hadoop
hadoop fs -mkdir -p /tmp/spark/output
hadoop fs -ls /
hadoop fs -put ./spark-terasort-1.2.jar /tmp/spark
  1. 提交TeraGen任务。

./bin/ksc-serverless-tool --name TeraSort  \
--class com.github.ehiggs.spark.terasort.TeraGen \
--proxy-user hadoop \
--driver-cores 1  \
--num-executors 1 \
--driver-memory 4g  \
--executor-cores 2  \
--executor-memory 4g \
--conf spark.hadoop.fs.defaultFS=hdfs://hdfs-ha \
--conf spark.hadoop.dfs.nameservices=hdfs-ha \
--conf spark.hadoop.dfs.ha.namenodes.hdfs-ha=nn1,nn2 \
--conf spark.hadoop.dfs.namenode.rpc-address.hdfs-ha.nn1=address1:8020 \
--conf spark.hadoop.dfs.namenode.rpc-address.hdfs-ha.nn2=address2:8020 \
--conf spark.hadoop.dfs.client.failover.proxy.provider.hdfs-ha=org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider \
hdfs://hdfs-ha/spark/spark-terasort-1.2.jar hdfs://hdfs-ha/spark/input hdfs://hdfs-ha/spark/output

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈