Upgrading from 2.2 -> 2.3

Hi all,

I’ve followed the upgrade steps as seen in the documentation:

http://docs.graylog.org/en/2.3/pages/upgrade/graylog-2.3.html

and upgraded the rpm for graylog-server from 2.2 -> 2.3, (CentOS 7) and I am receiving the following error:

systemd[1]: Starting Graylog server...
graylog-server: Executing: /usr/share/graylog-server/bin/graylog-server
graylog-server: Exception in thread "main" java.lang.NoClassDefFoundError: org/graylog2/initializers/IndexerSetupService
graylog-server: at java.lang.Class.getDeclaredConstructors0(Native Method)
graylog-server: at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
graylog-server: at java.lang.Class.getDeclaredConstructors(Class.java:2020)
graylog-server: at com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:245)
graylog-server: at com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.java:100)
graylog-server: at com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.java:661)
graylog-server: at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:885)
graylog-server: at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:808)
graylog-server: at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:285)
graylog-server: at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:217)
graylog-server: at com.google.inject.internal.InjectorImpl.getInternalFactory(InjectorImpl.java:893)
graylog-server: at com.google.inject.internal.FactoryProxy.notify(FactoryProxy.java:46)
graylog-server: at com.google.inject.internal.ProcessedBindingData.runCreationListeners(ProcessedBindingData.java:50)
graylog-server: at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:134)
graylog-server: at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
graylog-server: at com.google.inject.Guice.createInjector(Guice.java:99)
graylog-server: at org.graylog2.shared.bindings.GuiceInjectorHolder.createInjector(GuiceInjectorHolder.java:34)
graylog-server: at org.graylog2.bootstrap.CmdLineTool.setupInjector(CmdLineTool.java:379)
graylog-server: at org.graylog2.bootstrap.CmdLineTool.run(CmdLineTool.java:193)
graylog-server: at org.graylog2.bootstrap.Main.main(Main.java:44)
graylog-server: Caused by: java.lang.ClassNotFoundException: org.graylog2.initializers.IndexerSetupService
graylog-server: at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
graylog-server: at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
graylog-server: at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:814)
graylog-server: at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
graylog-server: ... 20 more
systemd[1]: graylog-server.service: main process exited, code=exited, status=1/FAILURE
systemd[1]: Unit graylog-server.service entered failed state.

and the only information provided in the graylog-server log is the following:

2017-09-25T17:21:20.791+01:00 INFO  [CmdLineTool] Loaded plugin: SyslogOutputPlugin 1.0.0 [com.wizecore.graylog2.plugin.SyslogOutput]
2017-09-25T17:21:20.793+01:00 INFO  [CmdLineTool] Loaded plugin: ExeCommandAlarmCallBack 1.0.0 [ir.elenoon.ExeCommandAlarmCallBackPlugin]
2017-09-25T17:21:20.793+01:00 INFO  [CmdLineTool] Loaded plugin: Aggregates 0.0.14 [org.graylog.plugins.aggregates.AggregatesPlugin]
2017-09-25T17:21:20.794+01:00 INFO  [CmdLineTool] Loaded plugin: Elastic Beats Input 2.3.1 [org.graylog.plugins.beats.BeatsInputPlugin]
2017-09-25T17:21:20.795+01:00 INFO  [CmdLineTool] Loaded plugin: Collector 2.3.1 [org.graylog.plugins.collector.CollectorPlugin]
2017-09-25T17:21:20.796+01:00 INFO  [CmdLineTool] Loaded plugin: Enterprise Integration Plugin 2.3.1 [org.graylog.plugins.enterprise_integration.EnterpriseIntegrationPlugin]
2017-09-25T17:21:20.797+01:00 INFO  [CmdLineTool] Loaded plugin: MapWidgetPlugin 2.3.1 [org.graylog.plugins.map.MapWidgetPlugin]
2017-09-25T17:21:20.807+01:00 INFO  [CmdLineTool] Loaded plugin: Pipeline Processor Plugin 2.3.1 [org.graylog.plugins.pipelineprocessor.ProcessorPlugin]
2017-09-25T17:21:20.808+01:00 INFO  [CmdLineTool] Loaded plugin: Threat Intelligence Plugin 0.10.0 [org.graylog.plugins.threatintel.ThreatIntelPlugin]
2017-09-25T17:21:20.809+01:00 INFO  [CmdLineTool] Loaded plugin: Anonymous Usage Statistics 2.3.1 [org.graylog.plugins.usagestatistics.UsageStatsPlugin]
2017-09-25T17:21:21.074+01:00 INFO  [CmdLineTool] Running with JVM arguments: -Xms32g -Xmx32g -XX:NewRatio=1 -XX:+ResizeTLAB -XX:+UseConcMarkSweepGC -XX:+CMSConcurrentMTEnabled -XX:+CMSClassUnloadingEnabled -XX:+UseParNewGC -XX:-OmitStackTraceInFastThrow -Dlog4j.configurationFile=file:///etc/graylog/server/log4j2.xml -Djava.library.path=/usr/share/graylog-server/lib/sigar -Dgraylog2.installation_source=rpm
2017-09-25T17:21:21.317+01:00 INFO  [Version] HV000001: Hibernate Validator null
(END)

I am using Elasticsearch version 2.4.4 (this has not been upgraded) and using the defaults for connecting to it. I can curl to elasticsearch OK over the http port to confirm that this works.

Any ideas why this is failing?

You have to upgrade all 3rd party plugins to versions compatible with Graylog 2.3.x.

Hi @jochen - Thanks a lot! I’ll get on that now :slight_smile:

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.