Flume fails on config file - flume

I have some code I inherited and there is little documentation. The system keeps failing on various errors. It seems to me it is not reading the jar files and I am not even sure where it is looking. Here is the error below. Can anyone offer any advice?
- Creating instance of source Twitter, type uk.co.senym.flume.TweetDataSource
13 Dec 2013 15:29:55,923 ERROR [conf-file-poller-0](org.apache.flume.node.PollingPropertiesFileConfigurationProvider$FileWatcherRunnable.run:142) - Failed to load configuration data. Exception follows.
org.apache.flume.FlumeException: Unable to load source type: uk.co.senym.flume.TweetDataSource, class: uk.co.senym.flume.TweetDataSource
at org.apache.flume.source.DefaultSourceFactory.getClass(DefaultSourceFactory.java:67)
at org.apache.flume.source.DefaultSourceFactory.create(DefaultSourceFactory.java:40)
at org.apache.flume.node.AbstractConfigurationProvider.loadSources(AbstractConfigurationProvider.java:327)
at org.apache.flume.node.AbstractConfigurationProvider.getConfiguration(AbstractConfigurationProvider.java:102)
at org.apache.flume.node.PollingPropertiesFileConfigurationProvider$FileWatcherRunnable.run(PollingPropertiesFileConfigurationProvider.java:140)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
Caused by: java.lang.ClassNotFoundException: uk.co.senym.flume.TweetDataSource
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:190)
at org.apache.flume.source.DefaultSourceFactory.getClass(DefaultSourceFactory.java:65)
... 11 more

If you're using a recent version of Flume then you should use the plugins.d directory.
I'll assume for the moment you are using a Bigtop-derived distribution such as Cloudera CDH4. Then you want to take a look # /etc/flume-ng/conf/flume-env.sh to see if they were customizing the Flume classpath to point to the jar file for your custom twitter source.
That is the old way and it kinda sucks. A better way is to put your stuff into plugins.d as documented here: http://archive.cloudera.com/cdh4/cdh/4/flume-ng/FlumeUserGuide.html#installing-third-party-plugins
I believe the default plugins.d directory on CDH4 is /var/lib/flume-ng/plugins.d
HTH

Related

Jenkins throws NullPointerException after upgrading Splunk plugin

I got tired of the security prompt at the top of the Jenkins window telling me to upgrade my plugins, so I upgraded those plugins. When I rebooted, the familiar Jenkins landing page was replaced with the following stack trace:
java.lang.NullPointerException
at com.splunk.splunkjenkins.utils.SplunkLogService.enqueue(SplunkLogService.java:174)
at com.splunk.splunkjenkins.utils.SplunkLogService.send(SplunkLogService.java:170)
at com.splunk.splunkjenkins.utils.SplunkLogService.send(SplunkLogService.java:107)
at com.splunk.splunkjenkins.JdkSplunkLogHandler.publish(JdkSplunkLogHandler.java:43)
at java.util.logging.Logger.log(Logger.java:616)
at java.util.logging.Logger.doLog(Logger.java:641)
at java.util.logging.Logger.log(Logger.java:664)
at java.util.logging.Logger.info(Logger.java:1182)
at com.splunk.splunkjenkins.LoggingInitStep.setupSplunkJenkins(LoggingInitStep.java:22)
Caused: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:104)
Caused: java.lang.Error
at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:110)
at hudson.init.TaskMethodFinder$TaskImpl.run(TaskMethodFinder.java:175)
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:282)
at jenkins.model.Jenkins$7.runTask(Jenkins.java:1089)
at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:210)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused: org.jvnet.hudson.reactor.ReactorException
at org.jvnet.hudson.reactor.Reactor.execute(Reactor.java:269)
at jenkins.InitReactorRunner.run(InitReactorRunner.java:47)
at jenkins.model.Jenkins.executeReactor(Jenkins.java:1113)
at jenkins.model.Jenkins.<init>(Jenkins.java:929)
at hudson.model.Hudson.<init>(Hudson.java:86)
at hudson.model.Hudson.<init>(Hudson.java:82)
at hudson.WebAppMain$3.run(WebAppMain.java:231)
Caused: hudson.util.HudsonFailedToLoad
at hudson.WebAppMain$3.run(WebAppMain.java:248)
Is there any way to recover from this aside from restoring a backup? I don't presently have shell access to the system, so please keep that in mind for your answers.
Jenkins version: 2.46.2
Splunk plugin version: 1.3.1
I was able to get SSH access to the system and did the following to solve my problem. Solution taken from the Removing and Disabling Plugins wiki page.
touch /var/lib/jenkins/plugins/splunk-devops.jpi.disabled
touch /var/lib/jenkins/plugins/splunk-devops-extend.jpi.disabled
Then, I rebooted. From the documentation, I assume that this is possible with any plugin.

TDBFactory not found in jena-tdb-0.9.4.jar?

I'm have download a jena-2.6.4 zip to manage a triple store. In this zip there was lib directory with libraries, and jena-tdb-0.9.4.jar was amount them.
However while trying the simplest following code
import com.hp.hpl.jena.tdb.*;
...
String tdbFile = "/tmp/tdb";
Dataset dataset = TDBFactory.createDataset(tdbFile);
I have an error saying that TDBFactory is not found. even Explicit importation import com.hp.hpl.jena.tdb.TDBFactory doesn't work. The Class is not define.
Any idea about this ?
Edition
Here is the Error message return
Exception in thread "main" java.lang.NoClassDefFoundError: com/hp/hpl/jena/sparql/engine/main/StageGenBasicPattern
at com.hp.hpl.jena.tdb.TDB.wireIntoExecution(TDB.java:173)
at com.hp.hpl.jena.tdb.TDB.initWorker(TDB.java:157)
at com.hp.hpl.jena.tdb.TDB.<clinit>(TDB.java:137)
at com.hp.hpl.jena.tdb.TDBFactory.<clinit>(TDBFactory.java:85)
at test.JenaRepositoryManagement.initializeTheTDBRepository(JenaRepositoryManagement.java:88)
at test.views.Main.main(Main.java:102)
Caused by: java.lang.ClassNotFoundException: com.hp.hpl.jena.sparql.engine.main.StageGenBasicPattern
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 6 more
Your stacktrce doesn't say that it can't find TDBFactory. It says that it can't find
com.hp.hpl.jena.sparql.engine.main.StageGenBasicPattern.
It sounds like you need some more jars on your classpath. After you download the apache-jena bundle from Apache Jena Releases, put all the jars in the lib subdirectory on your classpath, not just the tdb jar.

Mounting the DEV#cloud Private WebDav Repository fails

I'm using the private repository to store my own custom settings.xml. When i try to use it i get the following log message:
$ /usr/bin/tenant-isolate sudo /opt/jenkins/sbin/mount-webdav https://repository-laures.forge.cloudbees.com/private laures alert
mountpoint: /private/laures: No such file or directory
when my buildjob later wants to access my custom settings.xml i get an exception:
Executing Maven: -B -f /scratch/jenkins/workspace/JacksonLegacyIntrospector/pom.xml -gs /private/laures/settings.xml clean verify site emma:emma
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:158)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:100)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:66)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
Caused by: org.apache.maven.cli.MavenExecutionRequestsBuilderException: The specified global settings file does not exist: /private/laures/settings.xml
at org.apache.maven.cli.DefaultMavenExecutionRequestBuilder.getMavenExecutionRequest(DefaultMavenExecutionRequestBuilder.java:148)
at org.jvnet.hudson.maven3.launcher.Maven3Launcher.getMavenExecutionRequest(Maven3Launcher.java:94)
at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:77)
... 18 more
Caused by: java.io.FileNotFoundException: The specified global settings file does not exist: /private/laures/settings.xml
at org.apache.maven.cli.DefaultMavenExecutionRequestBuilder.settings(DefaultMavenExecutionRequestBuilder.java:414)
at org.apache.maven.cli.DefaultMavenExecutionRequestBuilder.getMavenExecutionRequest(DefaultMavenExecutionRequestBuilder.java:126)
... 20 more
I was following the cloudbees guide: https://developer.cloudbees.com/bin/view/DEV/Sharing+Files+with+Build+Executors
Did i do something wrong?
This job is validating pull-requests. A malicious user could hack your build script in a pull request and extract confidential informations from your account.
To prevent this, CloudBees run such a build using tenant-isolate script. This prevent /private to get mounted, this is intentional - but not nicely reported on the web UI.

TIBCO EMS - Error in exporting schema - java.lang.ClassNotFoundException: com.tibco.tibems.tibemsd.internal.db.DataStoreConnectionCustomizer

I am trying to use MySql for storing the TIBCO EMS 7.0 messages. Following is my configuration :-
stores-db.conf
[$sys.failsafe]type=dbstore
dbstore_driver_url=jdbc:mysql://localhost:3306/Research
dbstore_driver_username=root
dbstore_driver_password=12345
tibemsd-db.conf
dbstore_classpath
= ../../../../tibcojre/1.6.0/lib/ext/hibernate-core-4.1.9.Final.jar:../../../../t ibcojre/1.6.0/lib/ext/c3p0-0.9.2.1.jar:../../bin/antlr-2.7.6.jar:../../bin/asm-a ttrs.jar:../../bin/asm.jar:../../bin/cglib-2.1.3.jar:../../bin/commons-collectio ns-2.1.1.jar:../../bin/commons-logging-1.0.4.jar:../../bin/dom4j-1.6.1.jar:../.. /bin/ehcache-1.2.3.jar:../../bin/jta.jar:C:/temp/mysql-connector-java-5.1.23-bin .jar
dbstore_driver_name = com.mysql.jdbc.Driver
dbstore_driver_dialect = org.hibernate.dialect.MySQLDialect
jre_library = C:/tibco/tibcojre/1.6.0/bin/server/jvm.dll
I made sure I could connect to MySql with the given user name and password and the files mentioned in the dbstore_classpath do exist in their specified paths.
When I try to export the schema to the database with the following :-
java -jar c:\tibco\ems\7.0\bin\tibemsd_util.jar -tibemsdconf c:\tibco\ems\7.0\samples\config\tibemsd-db.conf -createall -export
I get the below error. Can somebody point me to a correct direction :-
Apr 8, 2013 2:11:10 PM com.mchange.v2.c3p0.C3P0Registry
getConnectionCustomizer WARNING: Could not create for find
ConnectionCustomizer with class name
'com.tibco.tibems.tibemsd.internal.db.DataStoreConnectionCustomizer'.
> java.lang.ClassNotFoundException:
com.tibco.tibems.tibemsd.internal.db.DataStoreConnectionCustomizer
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at sun.misc.Launcher$ExtClassLoader.findClass(Launcher.java:229)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at com.mchange.v2.c3p0.C3P0Registry.getConnectionCustomizer(C3P0Registry.java:193)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPoolManager.getConnectionCustomize
r(C3P0PooledConnectionPoolManager.java:749)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPoolManager.createPooledConnection
Pool(C3P0PooledConnectionPoolManager.java:863)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPoolManager.getPool(C3P0PooledConn
ectionPoolManager.java:331)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPoolManager.getPool(C3P0PooledConn
ectionPoolManager.java:348)
at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoo
lBackedDataSource.java:140)
at org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider.getConne
ction(C3P0ConnectionProvider.java:79)
at org.hibernate.tool.hbm2ddl.ManagedProviderConnectionHelper.prepare(ManagedProvi
derConnectionHelper.java:55)
at org.hibernate.tool.hbm2ddl.DatabaseExporter.(DatabaseExporter.java:52)
at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:367)
at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304)
at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293)
at com.tibco.tibems.tibemsd.internal.db.CreateStoreCallable.processStore(CreateSto
reCallable.java:329)
at com.tibco.tibems.tibemsd.internal.db.CreateStoreCallable.call(CreateStoreCallab
le.java:42)
at com.tibco.tibems.tibemsd.internal.db.CreateStoreCallable.call(CreateStoreCallab
le.java:33)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.ja
va:25)
at java.lang.reflect.Method.invoke(Method.java:597)
Not sure if you still have this issue. Adding here in case if needed.
Include $EMS_HOME/bin/tibemsd_dbstore.jar file to the classpath
jar -tvf tibemsd_dbstore.jar | grep DataStoreConnectionCustomizer
1729 Sat Jul 28 11:32:34 PDT 2012 com/tibco/tibems/tibemsd/internal/db/DataStoreConnectionCustomizer.class

jenkins critical error after plugin update

I attempted to update a couple of my jenkins plugins (don't remember which) but got hung. After about 15 mins, I decided to restart the jenkins server. This is what I get on the jenkins UI:
org.jvnet.hudson.reactor.ReactorException: java.lang.Error: java.lang.reflect.InvocationTargetException
at org.jvnet.hudson.reactor.Reactor.execute(Reactor.java:246)
at jenkins.InitReactorRunner.run(InitReactorRunner.java:43)
at jenkins.model.Jenkins.executeReactor(Jenkins.java:894)
at jenkins.model.Jenkins.<init>(Jenkins.java:796)
at hudson.model.Hudson.<init>(Hudson.java:81)
at hudson.model.Hudson.<init>(Hudson.java:77)
at hudson.WebAppMain$2.run(WebAppMain.java:214)
Caused by: java.lang.Error: java.lang.reflect.InvocationTargetException
at hudson.init.InitializerFinder.invoke(InitializerFinder.java:124)
at hudson.init.InitializerFinder$TaskImpl.run(InitializerFinder.java:184)
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:259)
at jenkins.model.Jenkins$7.runTask(Jenkins.java:883)
at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:187)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:94)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at hudson.init.InitializerFinder.invoke(InitializerFinder.java:120)
... 8 more
Caused by: java.lang.NoClassDefFoundError: hudson/PluginManager$PluginUpdateMonitor
at hudson.maven.PluginImpl.init(PluginImpl.java:54)
... 13 more
Caused by: java.lang.ClassNotFoundException: hudson.PluginManager$PluginUpdateMonitor
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 14 more
I attempted to update the war from 1.486 to 1.502 but no change in behavior. What can I do to get Jenkins operational again?
It's a known bug.
Copy/pasted for reference:
Start 1.490 on a clean home dir, then ask to upgrade the Maven plugin to version 1.491, and restart. After the restart, there are linkage errors from the Maven plugin, predictably enough (since it is using 1.491+ core APIs); but all of Jenkins fails to start, making it impossible to use the GUI to back out the update. (Workaround: delete $JENKINS_HOME/plugins/maven-plugin.jpi.pinned.)
Didn't work for me, so I just deleted every $JENKINS_HOME/plugins/maven-plugin* file.
Done.
I got the Same Error When Trying to Update the Plugins & Delete \Unpin some Plugins at the Same time.
Finally was able to Solve the issue by, Deleting all the "DISABLED" files in Plugins folder, restored back all the Maven files (if deleted on suggestion by previous Solutions), restarted the Jenkins Instance.
Understood this is because of Conflict with Plugins loading.
None of the above mentioned method is working for me.
Workaround: delete $JENKINS_HOME/plugins/maven-plugin.jpi.pinned
Deleting all the "DISABLED" files in Plugins folder, restored back all the Maven files
As per https://issues.jenkins-ci.org/browse/JENKINS-43446 :
I downgraded my maven to version 3.3.9 and It worked for me.

Resources