1

I'm learning gobblin following the quickstart , sub section "Running Gobblin as a Daemon".

I do it step by step as the guide:

  1. create config dir and set the environment variable GOBBLIN_JOB_CONFIG_DIR, and put wikipedia.pull in it;
  2. create work dir and set the environment variable GOBBLIN_WORK_DIR.
  3. Launch Gobblin: ./bin/gobblin-standalone.sh start

    floyddeMac-mini:gobblin-dist floyd$ echo $GOBBLIN_JOB_CONFIG_DIR
    /Users/floyd/plugin/gobblin-dist/config_dir

    floyddeMac-mini:gobblin-dist floyd$ echo $GOBBLIN_WORK_DIR
    /Users/floyd/plugin/gobblin-dist/work_dir

    floyddeMac-mini:gobblin-dist floyd$ echo $JAVA_HOME
    /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home

    floyddeMac-mini:gobblin-dist floyd$ ls $GOBBLIN_JOB_CONFIG_DIR/*
    /Users/floyd/plugin/gobblin-dist/config_dir/wikipedia.pull

I got the exception in logs:

1 2017-10-18 16:29:43 CST INFO  [main] gobblin.runtime.app.ServiceBasedAppLauncher  163 - Starting the Gobblin application and all its associated Services
  2 2017-10-18 16:29:43 CST INFO  [JobScheduler STARTING] gobblin.scheduler.JobScheduler  179 - Starting the job scheduler
  3 2017-10-18 16:29:43 CST INFO  [SchedulerService STARTING] org.quartz.impl.StdSchedulerFactory  1172 - Using default implementation for ThreadExecutor
  4 2017-10-18 16:29:43 CST INFO  [SchedulerService STARTING] org.quartz.core.SchedulerSignalerImpl  61 - Initialized Scheduler Signaller of type: class org.quar    tz.core.SchedulerSignalerImpl
  5 2017-10-18 16:29:43 CST INFO  [SchedulerService STARTING] org.quartz.core.QuartzScheduler  240 - Quartz Scheduler v.2.2.3 created.
  6 2017-10-18 16:29:43 CST INFO  [SchedulerService STARTING] org.quartz.simpl.RAMJobStore  155 - RAMJobStore initialized.
  7 2017-10-18 16:29:43 CST INFO  [SchedulerService STARTING] org.quartz.core.QuartzScheduler  305 - Scheduler meta-data: Quartz Scheduler (v2.2.3) 'LocalJobSche    duler' with instanceId 'NON_CLUSTERED'
  8   Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
  9   NOT STARTED.
 10   Currently in standby mode.
 11   Number of jobs executed: 0
 12   Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 3 threads.
 13   Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
 14
 15 2017-10-18 16:29:43 CST INFO  [SchedulerService STARTING] org.quartz.impl.StdSchedulerFactory  1327 - Quartz scheduler 'LocalJobScheduler' initialized from s    pecified file: '/Users/fanjun/plugin/gobblin-dist/conf/quartz.properties'
 16 2017-10-18 16:29:43 CST INFO  [SchedulerService STARTING] org.quartz.impl.StdSchedulerFactory  1331 - Quartz scheduler version: 2.2.3
 17 2017-10-18 16:29:43 CST INFO  [SchedulerService STARTING] org.quartz.core.QuartzScheduler  575 - Scheduler LocalJobScheduler_$_NON_CLUSTERED started.
 18 2017-10-18 16:29:44 CST WARN  [JobScheduler STARTING] org.apache.hadoop.util.NativeCodeLoader  62 - Unable to load native-hadoop library for your platform...     using builtin-java classes where applicable
 19 2017-10-18 16:29:44 CST INFO  [JobScheduler STARTING] gobblin.scheduler.JobScheduler  413 - Scheduling configured jobs
 20 2017-10-18 16:29:44 CST INFO  [JobScheduler STARTING] gobblin.scheduler.JobScheduler  427 - Loaded 1 job configurations
 21 2017-10-18 16:29:44 CST INFO  [JobScheduler-0] gobblin.util.ClustersNames  74 - no default cluster mapping found
 22 2017-10-18 16:29:44 CST WARN  [JobScheduler-0] gobblin.runtime.AbstractJobLauncher  200 - Creating a job specific SharedResourcesBroker. Objects will only be     shared at the job level.
 23 2017-10-18 16:29:45 CST INFO  [JobScheduler-0] org.reflections.Reflections  229 - Reflections took 466 ms to scan 43 urls, producing 645 keys and 2317 values
 24 2017-10-18 16:29:45 CST INFO  [JobScheduler-0] gobblin.util.reflection.GobblinConstructorUtils  86 - Found accessible constructor for class class gobblin.run    time.FsDatasetStateStore with parameter types [class org.apache.hadoop.fs.LocalFileSystem, class java.lang.String, class java.lang.Integer, class com.google.    common.cache.LocalCache$LocalLoadingCache].
 25 2017-10-18 16:29:45 CST WARN  [JobScheduler-0] gobblin.runtime.JobContext  298 - Property task.data.root.dir is missing.
 26 2017-10-18 16:29:45 CST ERROR [JobScheduler-0] gobblin.scheduler.JobScheduler$NonScheduledJobRunner  519 - Failed to run job PullFromWikipedia
 27 gobblin.runtime.JobException: Failed to run job PullFromWikipedia
 28     at gobblin.scheduler.JobScheduler.runJob(JobScheduler.java:352)
 29     at gobblin.scheduler.JobScheduler$NonScheduledJobRunner.run(JobScheduler.java:517)
 30     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
 31     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
 32     at java.lang.Thread.run(Thread.java:745)
 33 Caused by: java.lang.RuntimeException: Failed to create job launcher: java.lang.ClassNotFoundException: org.apache.gobblin.example.wikipedia.WikipediaSource
 34     at gobblin.runtime.JobLauncherFactory.newJobLauncher(JobLauncherFactory.java:120)
 35     at gobblin.runtime.JobLauncherFactory.newJobLauncher(JobLauncherFactory.java:85)
 36     at gobblin.runtime.JobLauncherFactory.newJobLauncher(JobLauncherFactory.java:65)
 37     at gobblin.scheduler.JobScheduler.runJob(JobScheduler.java:350)
 38     ... 4 more
 39 Caused by: java.lang.ClassNotFoundException: org.apache.gobblin.example.wikipedia.WikipediaSource
 40     at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
 41     at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
 42     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
 43     at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

and wikipedia.pull was copied from github:

#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

job.name=PullFromWikipedia
job.group=Wikipedia
job.description=A getting started example for Gobblin

source.class=org.apache.gobblin.example.wikipedia.WikipediaSource
source.page.titles=LinkedIn,Wikipedia:Sandbox
source.revisions.cnt=5

wikipedia.api.rooturl=https://en.wikipedia.org/w/api.php
wikipedia.avro.schema={"namespace": "example.wikipedia.avro","type": "record","name": "WikipediaArticle","fields": [{"name": "revid", "type": ["double", "null"]},{"name": "pageid", "type": ["double", "null"]},{"name": "title", "type": ["string", "null"]},{"name": "user", "type": ["string", "null"]},{"name": "anon", "type": ["string", "null"]},{"name": "userid",  "type": ["double", "null"]},{"name": "timestamp", "type": ["string", "null"]},{"name": "size",  "type": ["double", "null"]},{"name": "contentformat",  "type": ["string", "null"]},{"name": "contentmodel",  "type": ["string", "null"]},{"name": "content", "type": ["string", "null"]}]}
gobblin.wikipediaSource.maxRevisionsPerPage=10

converter.classes=org.apache.gobblin.example.wikipedia.WikipediaConverter

extract.namespace=org.apache.gobblin.example.wikipedia

writer.destination.type=HDFS
writer.output.format=AVRO
writer.partitioner.class=org.apache.gobblin.example.wikipedia.WikipediaPartitioner

data.publisher.type=org.apache.gobblin.publisher.BaseDataPublisher
alex
  • 12,464
  • 3
  • 46
  • 67
user1978965
  • 99
  • 1
  • 9

2 Answers2

2

You need to remove the prefix org.apache from all the definition in wikipedia.pull.Run it again, it will work.

Indeed, if you unzip the gobblin-example-0.9.0-642-g13a21ad.jar in the lib directory, navigate to example/wikipedia, you can find the classes there. If you decompile one of them, note the package does not contain org.apache. package gobblin.example.wikipedia;

Leonardo Campos
  • 158
  • 1
  • 4
0

Indeed, if you unzip the gobblin-example-0.9.0-642-g13a21ad.jar in the lib directory, navigate to example/wikipedia, you can find the classes there. If you decompile one of them, note the package does not contain org.apache. package gobblin.example.wikipedia;

Leonardo Campos
  • 158
  • 1
  • 4