

喜讯:国内、香港、海外云服务器租用特惠活动,2核/4G/10M仅需31元每月,点击抢购>>>
点击这里进入阿里云ECS官方页面,立即免费体验云服务器ECS>>>
阿里云老客户点击这里申请VIP账号,享终身8折优惠(续费也打折)>>>
使用eRDMA可以获得超低的延迟,更快地处理请求。本文介绍如何创建以eRDMA增强型实例作为节点的Spark集群,并部署Benchmark测试Spark集群处理负载的性能。
Benchmark是一种基准性能测试工具,主要用于测试负载的执行时间、传输速度、吞吐量和资源占用率等。 在测试集群性能前,需要先准备测试需要的集群环境,例如Hadoop和Spark机器、安装Hadoop、安装并配置eRDMA等。 准备Hadoop环境。如果已有大数据集群,请忽略该步骤。 Hadoop版本:Hadoop 3.2.1 Spark版本:Spark 3.2.1 ECS实例: 实例规格:请参见基本规格 vCPU个数:16 集群节点个数:1个主节点、3个worker节点 软硬件环境要求 部署该集群需要准备Hadoop、Spark机器,请参考如下版本进行配置。 安装步骤 安装Hadoop大数据集群的具体操作,请参见通过FastMR自动拉起大数据集群。 登录集群主节点上的ECS实例。 具体操作,请参见通过密码或密钥认证登录Linux实例。 配置eRDMA。 驱动安装 具体操作,请参见在企业级实例上配置eRDMA。 网络配置 yarn配置 说明 如果实例的默认网卡支持eRDMA,无需进行Yarn配置。 Spark配置 说明 如果实例的默认网卡支持eRDMA,无需进行Spark配置。 依次执行以下命令,打开spark-env.sh文件。 按i键进入编辑模式,在配置文件中增加以下内容。 说明 请根据实际情况,将eth1替换为实际eRDMA的网卡名称。 按Esc键退出编辑模式,输入 依次执行以下命令,打开yarn-env.sh文件。 按i键进入编辑模式,在配置文件中增加以下内容: 说明 请根据实际情况,将eth1替换为实际eRDMA的网卡名称。 按Esc键退出编辑模式,输入 执行以下命令,打开 按i键进入编辑模式,在配置文件中修改以下内容。 说明 请根据实际情况,将IP地址替换为实际eRDMA网卡对应的IP地址。 按Esc键退出编辑模式,输入 执行以下命令,启动HDFS及Yarn。 本步骤为您介绍如何下载用于测试的Benchmark安装包。 执行以下命令,下载Benchmark安装包。 执行以下命令,解压 安装包文件介绍: erdmalib:运行spark-erdma需要的native库,对应文件包括libdisni.so。 plugin-sparkrdma:支持Spark RDMA的插件及依赖库,对应文件为spark-eRDMA-1.0-for-spark-3.2.1.jar和disni-2.1-jar-with-dependencies.jar。 本步骤为您介绍如何使用Benchmark测试Spark集群处理负载的性能。 执行以下命令,修改ip route。 说明 如果实例的默认网卡支持eRDMA,可以跳过该步骤。 说明 请根据实际情况,将IP地址替换为实际eRDMA网卡对应的网关IP地址。 Spark配置。 将 本配置中的 执行以下命令,打开配置文件spark-jverbs-erdma.conf。 按i键进入编辑模式,将配置文件修改为以下内容。 说明 按推荐:TOP云智能建站优惠活动,仅880元即可搭建一个后台管理五端合一的智能网站(PC网站、手机网站、百度智能小程序、微信小程序、支付宝小程序),独享百度搜索SEO优势资源,让你的网站不仅有颜值有排面,更有排名,可以实实在在为您带来效益,请点击进入TOP云智能建站>>>,或咨询在线客服了解详情。背景信息
步骤一:准备环境
cd /opt/spark-3.2.1-bin-hadoop3.2/conf
vim spark-env.sh
export SPARK_LOCAL_IP=`/sbin/ip addr show eth1 | grep "inet" | awk '{print $2}' | cut -d/ -f1`:wq并按下Enter键,保存并退出文件。cd /opt/hadoop-3.2.1/etc/hadoop
vim yarn-env.sh
RDMA_IP=`ip addr show eth1 | grep "inet" | awk '{print $2}' | cut -d/ -f1`
export YARN_NODEMANAGER_OPTS="-Dyarn.nodemanager.hostname=$RDMA_IP":wq并按下Enter键,保存并退出文件。hosts文件。vim /etc/hosts
192.168.201.83 poc-t5m0 master1
192.168.201.84 poc-t5w0
192.168.201.86 poc-t5w1
192.168.201.85 poc-t5w2
:wq并按下Enter键,保存并退出文件。$HADOOP_HOME/sbin/start-all.sh
步骤二:下载Benchmark安装包
wget https://mracc-release.oss-cn-beijing.aliyuncs.com/erdma-spark/spark-erdma-jverbs.tar.gz
spark-erdma-jverbs.tar.gz安装包。tar -zxvf spark-erdma-jverbs.tar.gz
步骤三:执行Benchmark测试
route del -net 192.168.201.0 netmask 255.255.255.0 metric 0 dev eth0 &&
route add -net 192.168.201.0 netmask 255.255.255.0 metric 1000 dev eth0
spark.shuffle.compress设置为false会得到更好的加速比。spark.executor.instances、spark.executor.memory、spark.executor.cores、spark.sql.shuffle.partitions等Spark资源配置以32 vCPU、128 GB规格的实例为例,请您根据实际实例或者集群规模进行调整。vim /opt/spark-3.2.1-bin-hadoop3.2/conf/spark-jverbs-erdma.conf
spark.master yarn
spark.deploy-mode client#driverspark.driver.cores 4
spark.driver.memory 19g#executorspark.executor.instances 12
spark.executor.memory 10g
spark.executor.cores 4
spark.executor.heartbeatInterval 60s#shufflespark.task.maxFailures 4
spark.default.parallelism 36
spark.sql.shuffle.partitions 192
spark.shuffle.compress true
spark.shuffle.spill.compress true#otherspark.network.timeout 3600
spark.sql.broadcastTimeout 3600
spark.eventLog.enabled false
spark.eventLog.dir hdfs://master1:9000/sparklogs
spark.eventLog.compress true
spark.yarn.historyServer.address master1:18080
spark.serializer org.apache.spark.serializer.KryoSerializer#eRDMAspark.driver.extraLibraryPath /path/erdmalib
spark.executor.extraLibraryPath /path/erdmalib
spark.driver.extraClassPath /path/spark-eRDMA-1.0-for-spark-3.2.1.jar:/path/disni-2.1-jar-with-dependencies.jar
spark.executor.extraClassPath /path/spark-eRDMA-1.0-for-spark-3.2.1.jar:/path/disni-2.1-jar-with-dependencies.jar
spark.shuffle.manager org.apache.spark.shuffle.sort.RdmaShuffleManager
spark.shuffle.sort.io.plugin.class org.apache.spark.shuffle.rdma.RdmaLocalDiskShuffleDataIO
spark.shuffle.rdma.recvQueueDepth 128


湘公网安备43019002001857号
备案号:
客服1