草庐IT

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

coder 2024-01-06 原文

我是 spark 的新手。

正在尝试运行 spark on yarn in yarn-client mode .

SPARK VERSION = 1.0.2 HADOOP VERSION = 2.2.0

yarn 集群有 3 个事件节点。

spark-env.sh 中设置的属性

SPARK_EXECUTOR_MEMORY=1G

SPARK_EXECUTOR_INSTANCES=3

SPARK_EXECUTOR_CORES=1

SPARK_DRIVER_MEMORY=2G

Command used : /bin/spark-shell --master yarn-client

但是在登录spark-shell之后,它只注册了 1 个执行器,并为其分配了一些默认内存。

我通过 spark-web UI 确认了它同样,它只有 1 个执行程序,而且也仅在主节点 (YARN resource manager node) 上。

INFO yarn.Client: Command for starting the Spark ApplicationMaster: List($JAVA_HOME/bin/java, -server, -Xmx2048m, -Djava.io.tmpdir=$PWD/tmp, -Dspark.tachyonStore.folderName=\"spark-fc6383cc-0904-4af9-8abd-3b66b3f0f461\", -Dspark.yarn.secondary.jars=\"\", -Dspark.home=\"/home/impadmin/spark-1.0.2-bin-hadoop2\", -Dspark.repl.class.uri=\"http://master_node:46823\", -Dspark.driver.host=\"master_node\", -Dspark.app.name=\"Spark shell\", -Dspark.jars=\"\", -Dspark.fileserver.uri=\"http://master_node:46267\", -Dspark.master=\"yarn-client\", -Dspark.driver.port=\"41209\", -Dspark.httpBroadcast.uri=\"http://master_node:36965\", -Dlog4j.configuration=log4j-spark-container.properties, org.apache.spark.deploy.yarn.ExecutorLauncher, --class, notused, --jar , null, --args 'master_node:41209' , --executor-memory, 1024, --executor-cores, 1, --num-executors , 3, 1>, /stdout, 2>, /stderr)

...

...

...

14/09/10 22:21:24 INFO cluster.YarnClientSchedulerBackend: Registered executor:

Actor[akka.tcp://sparkExecutor@master_node:53619/user/Executor#1075999905] with ID 1 14/09/10 22:21:24 INFO storage.BlockManagerInfo: Registering block manager master_node:40205 with 589.2 MB RAM 14/09/10 22:21:25 INFO cluster.YarnClientClusterScheduler: YarnClientClusterScheduler.postStartHook done 14/09/10 22:21:25 INFO repl.SparkILoop: Created spark context.. Spark context available as sc.

在运行任何具有任何并行化数量的 spark 操作之后,它只会在该节点上连续运行所有这些任务!!

最佳答案

好的,我是这样解决的。我的集群上有 4 个数据节点

spark-shell --num-executors 4 --master yarn-client

关于scala - SPARK_EXECUTOR_INSTANCES 在 SPARK SHELL、YARN 客户端模式下不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25771276/

有关scala - SPARK_EXECUTOR_INSTANCES 在 SPARK SHELL、YARN 客户端模式下不工作的更多相关文章

  1. ruby - 分布式事务和队列,ruby,erlang,scala - 2

    我有一个涉及多台机器、消息队列和事务的问题。因此,例如用户点击网页,点击将消息发送到另一台机器,该机器将付款添加到用户的帐户。每秒可能有数千次点击。事务的所有方面都应该是容错的。我以前从未遇到过这样的事情,但一些阅读表明这是一个众所周知的问题。所以我的问题。我假设安全的方法是使用两阶段提交,但协议(protocol)是阻塞的,所以我不会获得所需的性能,我是否正确?我通常写Ruby,但似乎Redis之类的数据库和Rescue、RabbitMQ等消息队列系统对我的帮助不大——即使我实现某种两阶段提交,如果Redis崩溃,数据也会丢失,因为它本质上只是内存。所有这些让我开始关注erlang和

  2. hadoop安装之保姆级教程(二)之YARN的配置 - 2

    1.1.1 YARN的介绍 为克服Hadoop1.0中HDFS和MapReduce存在的各种问题⽽提出的,针对Hadoop1.0中的MapReduce在扩展性和多框架⽀持⽅⾯的不⾜,提出了全新的资源管理框架YARN. ApacheYARN(YetanotherResourceNegotiator的缩写)是Hadoop集群的资源管理系统,负责为计算程序提供服务器计算资源,相当于⼀个分布式的操作系统平台,⽽MapReduce等计算程序则相当于运⾏于操作系统之上的应⽤程序。 YARN被引⼊Hadoop2,最初是为了改善MapReduce的实现,但是因为具有⾜够的通⽤性,同样可以⽀持其他的分布式计算模

  3. ruby - 在 TCPServer (Ruby) 中,我如何从客户端获取 IP/MAC? - 2

    我想在Ruby的TCPServer中获取客户端的IP地址。以及(如果可能的话)MAC地址。例如,Ruby中的时间服务器,请参阅评论。tcpserver=TCPServer.new("",80)iftcpserverputs"Listening"loopdosocket=tcpserver.acceptifsocketThread.newdoputs"Connectedfrom"+#HERE!HowcanigettheIPAddressfromtheclient?socket.write(Time.now.to_s)socket.closeendendendend非常感谢!

  4. ruby - 如何获得带有 SSL 客户端证书的 HTTPS 请求以与 Ruby EventMachine 一起使用? - 2

    我正在尝试使用RubyEventMachine访问使用SSL证书身份验证的HTTPSWeb服务,但我没有让它工作。我编写了以下简单代码块来对其进行端到端测试:require'rubygems'require'em-http'EventMachine.rundourl='https://foobar.com/'ssl_opts={:private_key_file=>'/tmp/private.key',:cert_chain_file=>'/tmp/ca.pem',:verify_peer=>false}http=EventMachine::HttpRequest.new(url).g

  5. ruby-on-rails - 在 Ruby on Rails 应用程序中使用客户端 SSL - 2

    我正在为需要与API建立SSL连接的客户端开发应用程序。我得到了三个文件;一个信任根证书(.cer)文件、一个中间证书(.cer)文件和一个签名的响应文件。我得到的安装说明与IIS或Javakeytool程序有关;我正在用RubyonRails构建应用程序,所以这两种方法都不是一个选项(据我所知)。证书由运行API服务的组织自签名,看来我获得了客户端证书以相互验证https连接。我不确定如何使用我的应用程序中的证书连接和使用API签名响应文件的作用我读过"Usingaself-signedcertificate"和thisarticleonOpenSSLinRuby但两者似乎都不是很到

  6. ruby - 为什么这个启用 SSL 的 Ruby 服务器/客户端测试有效? - 2

    我正在努力在Ruby中创建启用SSL的服务器,以及与服务器一起使用的相应Ruby客户端。为了进行测试,我使用以下命令创建了自己的根CA证书。$:~/devel/ssl-test/ssl/CA$opensslgenrsa-outTestCA.key2048GeneratingRSAprivatekey,2048bitlongmodulus............+++...........................+++eis65537(0x10001)$:~/devel/ssl-test/ssl/CA$opensslreq-new-keyTestCA.key-outTestCA.

  7. ruby-on-rails - 在处理电子邮件回复时,我怎样才能忽略任何电子邮件客户端细节和历史记录? - 2

    我有一个通过IMAP处理传入电子邮件的Rails应用程序。当前使用一种方法来搜索TMail对象的各个部分以查找给定的content_type:defself.search_parts_for_content_type(parts,content_type='text/html')parts.eachdo|part|ifpart.content_type==content_typereturnpart.bodyelseifpart.multipart?ifbody=self.search_parts_for_content_type(part.parts,content_type)ret

  8. ruby - 具有 HTTPS、SSL 客户端证书和 Keep-Alive 支持的 Ruby HTTP 库? - 2

    我正在尝试用Ruby编写一个HTTPS客户端。它将使用HTTPS连接到服务器,传递身份验证token(通过单独的登录过程获得)和SSL客户端证书。我正在使用rest-client执行以下操作:client=RestClient::Resource.new(url,:ssl_client_cert=>OpenSSL::X509::Certificate.new(File.read('./certificate/client-2048.pem')),:ssl_client_key=>OpenSSL::PKey::RSA.new(File.read('./certificate/client

  9. ruby-on-rails - 更好的写法 @instances.count > 0 - 2

    我有这个代码:0%>#@statesisanactiverecordcollection我只是觉得应该有更好的方式来写这个。我正在寻找类似的东西:我意识到这是一个微小的变化,但它会是一个受欢迎的清理。 最佳答案 您可能需要ActiveRecord的any?http://api.rubyonrails.org/classes/ActiveRecord/Relation.html#method-i-any-3FDostuffhereif@stateshasatleastoneresult 关

  10. ruby-on-rails - rails : Using CanCan to define multiple roles depending on instances of single Model? - 2

    我目前一直在研究如何根据我们想要的每个条件来分离CanCan的角色。在我们的应用程序中,有很多类别(例如数学、英语、历史等),每个类别中都有很多类(class)。每个用户可以在每个类别中扮演许多不同的角色。例如,约翰可以是数学的“读者”,这意味着他可以阅读所有数学类(class)。约翰也可以是英语的“作家”,这意味着他可以阅读所有英语类(class),在类别英语中创建类(class),并仅编辑/删除他创建的英语类(class)。如果这些是John仅有的角色,他将无法在导航栏中看到类别历史记录,并且将被拒绝访问历史记录中的类(class)。这些是关系的建立方式:classUser在mod

随机推荐