草庐IT

executor

全部标签

apache-spark - 如何在具有不同内存和核心数量的集群上调整 spark 作业

我正在开发一个spark项目,我正在使用具有以下配置的3个节点的hadoop集群:8coresand16goofRam(Namenode,ApplicationMaster,nodemanagerandsparkmasterandworker).4coresand8goofRam(datanode,nodemanagerandworker)Ram的4cores和4go(datanode、nodemanager和worker)所以我使用以下配置:pyspark--masteryarn-client--driver-memory3g--executor-memory1g--num-exec

apache-spark - spark.executor.extraJavaOptions 在 spark-submit 中被忽略

我是一名新手,正在尝试介绍本地Spark工作。这是我尝试执行的命令,但我收到一条警告,指出我的执行程序选项被忽略,因为它们是非spark配置属性。错误:Warning:Ignoringnon-sparkconfigproperty:“spark.executor.extraJavaOptions=javaagent:statsd-jvm-profiler-2.1.0-jar-with-dependencies.jar=server=localhost,port=8086,reporter=InfluxDBReporter,database=profiler,username=profi

python - 在 Zeppelin 上增加 Spark Executors

我正在使用Hortnworks(HDP2.4)设置集群。我有一个4节点集群,每个节点都有(16Gb-RAM,8-CPU)。为了使用python(pyspark),我还在ZeppelinNotebook上安装了Spark。我的问题是:我从3个节点的配置开始,后来我添加了另一个新节点(如前所述总共4个),无论如何Spark上的执行者数量仍然是“3”。我在网上看到执行者的数量可以在SPARK_EXECUTOR_INSTANCES中设置,但是这个参数只存在于Spark的配置页面的spark-envtemplate中安巴里用户界面。似乎它需要YARN来决定执行者,但在YARN中我还没有找到任何关

hadoop - Apache Spark 在工作开始前做什么

我有一个在AWSEMR上连续运行的ApacheSpark批处理作业。它从AWSS3中提取数据,使用该数据运行几个作业,然后将数据存储在RDS实例中。但是,作业之间似乎有很长一段时间没有事件。这是CPU使用情况:这是网络:注意每列之间的间隙,它几乎与事件列的大小相同!起初我以为这两列发生了移动(当它从S3中提取时,它没有使用大量CPU,反之亦然)但后来我注意到这两个图表实际上是相互跟随的。这是有道理的,因为RDD是惰性的,因此会在作业运行时拉动。这引出了我的问题,那段时间Spark在做什么?在那段时间里,所有的Ganglia图表似乎都归零了。就好像集群决定在每个作业之前休息一下。谢谢。编

scala - SPARK_EXECUTOR_INSTANCES 在 SPARK SHELL、YARN 客户端模式下不工作

我是spark的新手。正在尝试运行sparkonyarninyarn-clientmode.SPARKVERSION=1.0.2HADOOPVERSION=2.2.0yarn集群有3个事件节点。spark-env.sh中设置的属性SPARK_EXECUTOR_MEMORY=1GSPARK_EXECUTOR_INSTANCES=3SPARK_EXECUTOR_CORES=1SPARK_DRIVER_MEMORY=2GCommandused:/bin/spark-shell--masteryarn-client但是在登录spark-shell之后,它只注册了1个执行器,并为其分配了一些默认

为什么阿里建议你不要使用Executors来创建线程池?

哈喽,大家好,我是了不起。阿里作为国内Java使用最多的大厂,他出版了一部《阿里巴巴Java开发手册》,不知道大家看过没,没有看过的话,建议大家看看。对于我们编程养成良好的习惯还是很有帮助的,最近我在看到并发这一规约的时候,他们就明确了一点:线程池不允许使用Executors来创建。在多线程编程中,线程池是一种重要的资源管理工具,用于提高程序效率和降低资源消耗。Java通过java.util.concurrent包提供了丰富的线程池管理工具,其中Executors类是创建线程池的常用工具。然而,像阿里巴巴这样的大型技术公司却建议开发者避免使用Executors来创建线程池。为什么会有这样的建议

Java多线程 - 创建线程池的方法 - ThreadPoolExecutor和Executors

文章目录线程池(重点)线程池介绍实现线程池的方式方式一:实现类ThreadPoolExecutorThreadPoolExecutor构造器的参数线程池处理Runnable任务线程池处理Callable任务方式二:Executors工具类创建线程池线程池(重点)线程池介绍什么是线程池?线程池就是一个可以复用线程的技术。不使用线程池的问题:如果用户每发起一个请求,后台就创建一个新线程来处理,下次新任务来了又要创建新线程,而创建新线程的开销是很大的,这样会严重影响系统的性能。线程池工作原理:例如线程池中最多可以允许创建三个工作线程,也叫核心线程,前面三个任务来的时候会给前面三个任务单独创建三个线程

android - 为什么我的线程不会死掉并导致内存泄漏?

我的一个应用程序累积了很多GC无法拾取和清除的Thread实例。从长远来看,这种内存泄漏会使应用程序崩溃。我不是100%确定它们来自哪里,但我有一种明显的感觉,以下可能是有问题的代码:publicclassUraHostHttpConnectionextendsAbstractUraHostConnection{privateHandleruiThreadHandler=newHandler(Looper.getMainLooper());privateExecutortaskExecutor=newExecutor(){publicvoidexecute(Runnablecomman

android - 如何在 API 级别 < 28 上获取主线程的执行器

在API级别28(Pie)上,Context类中引入了一个新方法来获取主线程的执行器getMainExecutor().如何在API级别低于28时获取此执行器? 最佳答案 您可以使用(例如在Activity中):ContextCompat.getMainExecutor(this);https://developer.android.com/reference/androidx/core/content/ContextCompat.html#getMainExecutor(android.content.Context)

android - 升级android studio后Executor Singleton未启动

在我升级androidstudio并打开它之后,我得到了这个错误:Information:Gradletasks[:app:generateDebugSources,:app:generateDebugTestSources]:app:preBuild:app:preDebugBuild:app:checkDebugManifest:app:preReleaseBuild:app:prepareComAndroidSupportAppcompatV72211LibraryUP-TO-DATE:app:prepareComAndroidSupportSupportV42211Librar