Tag: apache spark

具有Apache Spark的Docker容器,处于独立群集模式

我正在尝试构build一个包含Apache Spark的Docker镜像。 IT基于openjdk-8-jre官方图像。 目标是在集群模式下执行Spark,因此至less有一个主sbin/start-slave.sh (通过sbin/start-master.sh启动)和一个或多个从sbin/start-slave.sh ( sbin/start-slave.sh )。 查看我的Dockerfile和入口点脚本的spark-standalone- docker。 构build本身实际上是经过的,问题是当我想运行容器时,它很快就会启动并停止。 原因是Spark主启动脚本以守护进程模式启动主服务器并退出。 因此,容器终止,因为没有进程在前台运行了。 显而易见的解决scheme是在前台运行Spark主进程,但我无法弄清楚(Google也没有发现任何东西)。 我的“解决方法 – 解决scheme”是在Spark日志目录上运行tails -f 。 因此,我的问题是: 你如何在前台运行Apache Spark Master? 如果第一个是不可能的/可行的/无论如何,保持容器“活着”(我真的不想使用无限循环和睡眠命令)的首选(即最佳实践)解决scheme是什么?

将一个jar提交到sequenceiq docker-spark容器

所以我从来没有使用过Spark或Docker,但是我必须将它用于一个项目。 我试图了解这是如何工作的。 所以我在Eclipse中构build了一个胖jar子,并希望将其提交给我使用此指南设置的docker容器: https : //github.com/sequenceiq/docker-spark 现在,我并不真正了解如何从我的本地系统中将我的jar包发送到docker容器,然后运行它。 我想我错过了这一切真的一起工作,但也许有人可以清除它。 我会非常感谢!

如何使分布在许多主机上的opencv处理

我正在使用大量使用CPU的opencv应用程序。 我想分配帧处理,以便在多个主机之间共享。 这个想法与http://cloudcv.org/中的实现相同。 但问题是,你只能发送你的请求到他们的服务器来testing分布式image processing。 我在互联网上search了很长时间,我想知道是否可以实现opencv + Docker Swarm,或者opencv + Apache Spark,或者是否有其他方法来实现它。 我的代码在opencv中处理帧以检测其中的人,我想让它在多个主机上执行以最大化速度: while(true) { webcam.read(image); //human detection————————————– cv::Mat resized_image; cv::resize(image, resized_image, Size(image.cols / 2, image.rows / 2), 0, 0, INTER_LINEAR); vector<Rect> found, found_filtered; // this line uses hog descriptor to detect // people body pattern in the frmaes // found is a vector of […]

如何启用Spark mesos docker执行程序?

我正在研究Mesos&Spark之间的整合。 现在,我可以在Docker中启动SlaveMesosDispatcher; 我也喜欢在Mesos docker中运行Spark执行程序。 我做了以下configuration,但我得到一个错误; 有什么build议? 组态: Spark:conf / spark-defaults.conf spark.mesos.executor.docker.image ubuntu spark.mesos.executor.docker.volumes /usr/bin:/usr/bin,/usr/local/lib:/usr/local/lib,/usr/lib:/usr/lib,/lib:/lib,/home/test/workshop/spark:/root/spark spark.mesos.executor.home /root/spark #spark.executorEnv.SPARK_HOME /root/spark spark.executorEnv.MESOS_NATIVE_LIBRARY /usr/local/lib 注:火花安装在/ home / test / workshop / spark中,并且安装所有依赖项。 将SparkPi提交给调度程序后,驱动程序作业启动但失败。 错误的混乱是: I1015 11:10:29.488456 18697 exec.cpp:134] Version: 0.26.0 I1015 11:10:29.506619 18699 exec.cpp:208] Executor registered on slave b7e24114-7585-40bc-879b-6a1188cb65b6-S1 WARNING: Your kernel does not support swap limit capabilities, memory […]

boot2docker:port forwording通过Mac OS上的Web UI来pipe理火花工作者

我在我的Mac上安装了boot2docker,并使用docker-compose创build了一个spark集群。 Everething工作正常:我运行boot2docker,并创build1个spark主节点和3个spark工作节点。 我连接到火花大师的networking用户界面,我可以看到3个工人节点。 现在我的问题是:如何连接到工人的networking用户界面? 我的Mac不通过http连接到worker'web UI节点,使用主Web UI页面中的工作者ID链接。

Docker与WebHDFS

我有一个在Docker容器中运行的Spark图像。 我想从容器外部的主机使用WebHDFS访问由HDFS中的Spark保存的结果。 为此,我使用OPEN API ,它在提供文件内容之前有一个redirect。 运行docker映像时,我使用-P标志转发所有端口。 我能够执行其他操作,如使用主机上暴露的高端口列出目录。 但是对于读取文件,REST调用会失败,因为存在HTTPredirect。 任何想法如何我可以解决这个问题?

org.apache.spark.SparkException:因Yarn和Docker阶段失败而中止作业

我在本地开发了一个Spark应用程序,没有任何问题。 但是当我想把它推入Docker Image中的Yarn Cluster时,我得到以下消息: 线程“main”中的exceptionorg.apache.spark.SparkException:由于阶段失败而导致作业中止:阶段0.0中的任务2失败4次,最近失败:阶段0.0中丢失的任务2.3(TID 26,沙箱):ExecutorLostFailure 1丢失)驱动程序stacktrace:在org.apache.spark.scheduler.DAGScheduler.org $ apache $ spark $ scheduler $ DAGScheduler $$ failJobAndIndependentStages(DAGScheduler.scala:1203)在org.apache.spark.scheduler.DAGScheduler $$ anonfun $ abortStage $ 1.apply(DAGScheduler.scala:1192)at org.apache.spark.scheduler.DAGScheduler $$ anonfun $ abortStage $ 1.apply(DAGScheduler.scala:1191)at scala.collection.mutable.ResizableArray $ class.foreach(ResizableArray .scala:59)at org.apache.spark.scheduler.DAGScheduler.abortStage(DAGScheduler.scala:1191)at org.apache.spark.scheduler scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47)。 DAGScheduler $$ anonfun $ handleTaskSetFailed $ 1.apply(DAGScheduler.scala:693)at org.apache.spark.scheduler.DAGScheduler $$ anonfun $ handleTaskSetFailed $ 1.apply(DA GScheduler.scala:693)at org.apache.spark.scheduler.DAGScheduler.handleTaskSetFailed(DAGScheduler.scala:693)at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(scala.Option.foreach(Option.scala:236) (DAGScheduler.scala:1393)at […]

如何在Docker上设置#Spark /#Kafka?

我正试图build立一个Docker机器来构build一个应用程序,并使用Spark和Kafka。 你有什么想法,我怎么能在Mac机上设置它。

Spark节点使用错误的IP地址进行通信(Docker)

我有一个使用Docker创build的Spark(DataStax企业)集群,使用docker-compose绑定在一起。 这仅用于本地开发目的。 容器在他们自己的dockernetworking中: 172.18.0.0/16 。 我在运行Docker工具箱的Mac上,我可以直接从我的机器上访问这些容器,因为我已经在172.18.0.0/16上手动添加了一个到172.18.0.0/16的路由,这是Virtualbox在Mac上提供的虚拟networking。 vboxnet0接口的我的一面有IP 192.168.99.1 。 docker机端有192.168.99.101 。 这一切都很好,主Web UI出现在172.18.0.2:7080 ,所有的节点都显示正确,他们的172.x IP地址(并继续这样做,如果我扩大通过例如docker-compose scale spark=5 )。 但是,当我提交工作时,例如: $SPARK_HOME/bin/spark-submit –master spark://172.18.0.2:7077 –class myapp.Main \ ./target/scala-2.10/myapp-assembly-1.0.0-SNAPSHOT.jar , 这是非常缓慢的(我认为由于重试),我看到这样的错误,直到它终于成功: 16/09/16 13:01:53 WARN TaskSetManager: Lost task 0.0 in stage 2.0 (TID 5, 192.168.99.101): org.apache.spark.storage.BlockFetchException: Failed to fetch block from 1 locations. Most recent failure cause: at org.apache.spark.storage.BlockManager$$anonfun$doGetRemote$2.apply(BlockManager.scala:595) […]

如何使用Apache Spark(pyspark)和Docker分发类

我正在build立一个全新的数据科学栈,供数据科学家和数据分析师在我们的工作环境中使用。 基本上我的结构如下: CDH安装在群集中的所有节点上(裸机) 在CDH发行中的Spark&YARN 具有多个组件的Docker容器映像:Anaconda,Python3,Spark(PySpark),Jupyter Notebook 现在,我最初的想法是在所有的工作节点上分配这个docker镜像的Python依赖关系,还包括在这个容器内部运行Spark作业所需的自定义库(例如:xgboost,numpy等)。 在Jupyter中进行交互式分析时,我的工作stream程如下: 创buildJupyter笔记本 初始化SparkContext并将主点指向YARN 使用自定义Python库代码运行Spark作业 现在,我想知道两件事情: Spark(在容器外部运行)将如何在所有工作节点上访问我自定义的Python库(Docker容器中的自定义代码)。 我如何分配这些自定义的图书馆和其他复杂的依赖关系? 我知道我们可以使用像sc.addPyFile('/ path / to / BoTree.py')或一个完整的.zip压缩文件,但是Docker有没有更简单的方法? 我没有使用Anaconda集群,所以我需要另一种方式来做到这一点。 谢谢