Docker | ERROR: no log4j2.properties found; tried [/usr/share/elasticsearch/config] and its subdirectories

Hi guys,

Could you please advise on the following:

I would like to run elasticsearch 5.3.0, and this is the command of how I am doing it:

docker -D run -d --env "ES_JAVA_OPTS=-Xms2G -Xmx2G" --name="IP-spotlight.elasticsearh.CTL" --net=host --cap-add=IPC_LOCK --ulimit memlock=-1:-1 --ulimit nofile=65536:65536 --publish 9299:9200 --publish 9300:9300 --volume /usr/elasticdata/IP-spotlight/CTL/data:/usr/share/elasticsearch/data --volume /usr/elasticdata/IP-spotlight/CTL/logs:/usr/share/elasticsearch/logs --volume /usr/elasticdata/IP-spotlight/CTL/config:/usr/share/elasticsearch/config --volume /usr/elasticdata/IP-spotlight/CTL/config/scripts:/usr/share/elasticsearch/config/scripts --label app="IP-spotlight" --label component="elasticsearch" --label util="CTL" docker.elastic.co/elasticsearch/elasticsearch:5.3.0

But it complains about

docker logs -f  3a831e10c981
2017-04-06 10:14:21,257 main ERROR Could not register mbeans java.security.AccessControlException: access denied ("javax.management.MBeanTrustPermission" "register")
	at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
	at java.lang.SecurityManager.checkPermission(SecurityManager.java:585)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.checkMBeanTrustPermission(DefaultMBeanServerInterceptor.java:1848)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:322)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522)
	at org.apache.logging.log4j.core.jmx.Server.register(Server.java:389)
	at org.apache.logging.log4j.core.jmx.Server.reregisterMBeansAfterReconfigure(Server.java:167)
	at org.apache.logging.log4j.core.jmx.Server.reregisterMBeansAfterReconfigure(Server.java:140)
	at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:541)
	at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:258)
	at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:206)
	at org.apache.logging.log4j.core.config.Configurator.initialize(Configurator.java:220)
	at org.apache.logging.log4j.core.config.Configurator.initialize(Configurator.java:197)
	at org.elasticsearch.common.logging.LogConfigurator.configureStatusLogger(LogConfigurator.java:126)
	at org.elasticsearch.common.logging.LogConfigurator.configureWithoutConfig(LogConfigurator.java:68)
	at org.elasticsearch.cli.Command.main(Command.java:85)
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91)
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84)
ERROR: no log4j2.properties found; tried [/usr/share/elasticsearch/config] and its subdirectories

while

# ls /usr/elasticdata/IP-spotlight/CTL/config
elasticsearch.yml  logging.yml  scripts

Could you please advise on what I am doing wrong ?

Many Thanks
Nikos

You need to have a log4j2.properties file here (logging.yml is the config format from pre-5.x and is no longer supported). It's best to use the log4j2.properties file that is provided already with the image.

@jasontedor Thanks a lot, indeed am trying to upgrade to v5.x
Do you know perhaps where (filepath) it is located ?
Searching under /var/lib/docker/ returns nothing

Sorry, I do not understand the question. If you're asking where the log4j2.properties file in the image is, it's in /usr/share/elasticsearch/config, but you mounted over that.

1 Like

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