Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 206B3200A5B for ; Wed, 25 May 2016 11:02:22 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 1F556160A18; Wed, 25 May 2016 09:02:22 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 4413F160A17 for ; Wed, 25 May 2016 11:02:21 +0200 (CEST) Received: (qmail 60821 invoked by uid 500); 25 May 2016 09:02:20 -0000 Mailing-List: contact dev-help@gearpump.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@gearpump.incubator.apache.org Delivered-To: mailing list dev@gearpump.incubator.apache.org Received: (qmail 60810 invoked by uid 99); 25 May 2016 09:02:20 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 25 May 2016 09:02:20 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 030291A054E for ; Wed, 25 May 2016 09:02:20 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -3.221 X-Spam-Level: X-Spam-Status: No, score=-3.221 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001] autolearn=disabled Received: from mx2-lw-us.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id EjIHcAnh57NE for ; Wed, 25 May 2016 09:02:16 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with SMTP id AD85760D5B for ; Wed, 25 May 2016 09:02:15 +0000 (UTC) Received: (qmail 59974 invoked by uid 99); 25 May 2016 09:02:15 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 25 May 2016 09:02:15 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 6956F2C14DC for ; Wed, 25 May 2016 09:02:13 +0000 (UTC) Date: Wed, 25 May 2016 09:02:12 +0000 (UTC) From: "Karol Brejna (JIRA)" To: dev@gearpump.incubator.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (GEARPUMP-147) java.lang.ClassNotFoundException when running on worker with worker.executor-share-same-jvm-as-worker = true MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Wed, 25 May 2016 09:02:22 -0000 [ https://issues.apache.org/jira/browse/GEARPUMP-147?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Karol Brejna updated GEARPUMP-147: ---------------------------------- Assignee: Sean Zhong (was: Huafeng Wang) > java.lang.ClassNotFoundException when running on worker with worker.executor-share-same-jvm-as-worker = true > ------------------------------------------------------------------------------------------------------------ > > Key: GEARPUMP-147 > URL: https://issues.apache.org/jira/browse/GEARPUMP-147 > Project: Apache Gearpump > Issue Type: Task > Reporter: Karol Brejna > Assignee: Sean Zhong > Attachments: gear.pc.conf, gear.pc.slimworker.conf, logs.slimworker.zip, prepare.sh > > > Doing GEARPUMP-146 I hit a problem: I was able to run a master on pc and a worker on raspi. After deploying wordcountjava-2.11-0.8.0-assembly.jar the example didn't start. > I reproduced this on "pure pc" cluster. > I've prepared dedicated config files: > * gear.pc.conf - normal (default) configuration for master and workers ran on a PC > * gear.pc.slimworker.conf - intends to have lower requirements for memory, cpu - to be used on a device (raspi, edison) > *Obtaining binary and creating config files* > {code} > wget https://github.com/gearpump/gearpump/releases/download/0.8.0/gearpump-2.11-0.8.0.zip > unzip gearpump-2.11-0.8.0.zip > cd gearpump-2.11-0.8.0 > cp conf/gear.conf conf/gear.original.conf > cp conf/gear.conf conf/gear.pc.conf > cp conf/gear.conf conf/gear.pc.slimworker.conf > {code} > *Preparing "PC" conf* > The only real change here is putting the IP of the machine that will run the master: > {code} > cluster { > masters = ["192.168.1.115:3000"] > } > > hostname = "192.168.1.115" > {code} > > *Preparing device conf* > Compared to previous config, this config should set up less worker slots, smaller -Xmx jvm switch for worker, and executor-share-same-jvm-as-worker set to true: > {code} > worker.slots = 100 > worker.executor-share-same-jvm-as-worker = true > executor { > vmargs = "-server -Xms512M -Xmx512M -Xss1M -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=80 -XX:+UseParNewGC -XX:NewRatio=3 -Djava.rmi.server.hostname=localhost" > extraClasspath = "" > } > {code} > *Running the cluster:* > {code} > echo "Starting the master" > cp conf/gear.pc.conf conf/gear.conf > bin/master -ip 192.168.1.115 -port 3000 & > echo "Starting services" > bin/services & > echo "Starting a worker (configured as on the device)" > cp conf/gear.pc.slimworker.conf conf/gear.conf > bin/worker & > {code} > *Deploing the DAG* > I've deployed wordcountjava-2.11-0.8.0-assembly.jar. > The app deploys, but doesn't run. > (After changing worker.executor-share-same-jvm-as-worker to false and restarting the cluster, example dag works.) > See the attached logs: > {code} > 2016-05-18 08:47:31,453 ERROR OneForOneStrategy: io.gearpump.streaming.examples.wordcountjava.Split > java.lang.ClassNotFoundException: io.gearpump.streaming.examples.wordcountjava.Split > at java.net.URLClassLoader.findClass(URLClassLoader.java:381) > at java.lang.ClassLoader.loadClass(ClassLoader.java:424) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > at io.gearpump.streaming.task.TaskUtil$.loadClass(TaskUtil.scala:30) > at io.gearpump.streaming.executor.TaskLauncher.launch(TaskLauncher.scala:55) > at io.gearpump.streaming.executor.Executor$$anonfun$dynamicDagPhase1$1.applyOrElse(Executor.scala:147) > at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:170) > at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:171) > at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:171) > at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:171) > at akka.actor.Actor$class.aroundReceive(Actor.scala:480) > at io.gearpump.streaming.executor.Executor.aroundReceive(Executor.scala:55) > at akka.actor.ActorCell.receiveMessage(ActorCell.scala:526) > at akka.actor.ActorCell.invoke(ActorCell.scala:495) > at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257) > at akka.dispatch.Mailbox.run(Mailbox.scala:224) > at akka.dispatch.Mailbox.exec(Mailbox.scala:234) > at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) > at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) > at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) > at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) > {code} > > *Update* > bq. Putting DAG jar in worker classpath fixes the error. *Now I am able to run Gearpump app on Raspberry PI!* -- This message was sent by Atlassian JIRA (v6.3.4#6332)