You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@storm.apache.org by "Ethan Li (JIRA)" <ji...@apache.org> on 2017/11/30 16:17:00 UTC
[jira] [Created] (STORM-2838) Replace log4j-over-slf4j with
log4j-1.2-api
Ethan Li created STORM-2838:
-------------------------------
Summary: Replace log4j-over-slf4j with log4j-1.2-api
Key: STORM-2838
URL: https://issues.apache.org/jira/browse/STORM-2838
Project: Apache Storm
Issue Type: Improvement
Reporter: Ethan Li
Assignee: Ethan Li
I tried to setup HdfsBlobStore and an exception shows up when I launch the nimbus.
{code:java}
Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflowError.
{code}
Found an explanation: https://www.slf4j.org/codes.html#log4jDelegationLoop
This is because storm and hadoop use different logging system:
Storm: log4j-over-slf4j --> slf4j --> log4j2 or slf4j --> log4j2
Hadoop: slf4j --> log4j1.2 or log4j1.2 (directly)
(note: --> means redirecting)
When we add hadoop common lib classpath to nimbus, log4j-over-slf4j.jar and slf4j-log4j12.jar coexist.
One way to let storm work with hadoop is to replace log4j-over-slf4j in storm with log4j1.2.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)