最近更新时间:2025-05-19 20:02:44
本文将介绍如何通过客户端工具进行Spark作业读写KMR HDFS目录。
本文旨在带您快速熟悉操作流程,为您提供了一个作业示例,您可以直接下载以备后续步骤使用。
点击 spark-examples_2.12-3.3.1.jar下载作业示例,该作业为计算圆周率。
单击ksc-serverless-tool.tar.gz,下载客户端。
执行以下命令,解压并安装。
tar -zxvf ksc-serverless-tool.tar.gz左侧导航栏选择集群管理,点击集群名称。
进入集群详情页,左侧导航栏选择主机列表,主机列表中IP信息字段即为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。
加载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提交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点击链接,下载示例 spark-terasort-1.2.jar。
写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提交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写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提交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
纯净模式
