Removing performance analyzer plugin from opendistro docker

#1

Is it possible to use the opendistro docker without the Performance Analyzer plugin? I attempted to validate this myself but ran into errors. First I created a custom docker image with the following Dockerfile:

FROM amazon/opendistro-for-elasticsearch:0.7.0

RUN elasticsearch-plugin remove opendistro_performance_analyzer --purge

Now when I build my image and run my docker, my container fails to start and I see the following error in the docker logs:

Error: could not find config file /usr/share/elasticsearch/plugins/opendistro_performance_analyzer/pa_config/supervisord.conf

I hunted around inside the docker but I don’t see any references to this file anywhere. I also wanted to check if there was any references to triggering the Performance Analyzer with supervisorctl from opendistro’s Dockerfile/entrypoint.sh file, but it seems that Amazon has not published their source code for the docker image.

Does anybody have any experience with running opendistro without Performance Analyzer successfully?

#2

You are facing this because the /usr/share/elasticsearch/docker-entrypoint.sh directly makes a call to a program that is available under /usr/share/elasticsearch/plugins/opendistro_performance_analyzer without checking for its existence, which results in the error that you get.

If you really want to make it work, just create a new /usr/share/elasticsearch/docker-entrypoint.sh by removing the line /usr/bin/supervisord -c /usr/share/elasticsearch/plugins/opendistro_performance_analyzer/pa_config/supervisord.conf and modify the ES_JAVA_OPTS

FROM amazon/opendistro-for-elasticsearch:0.7.0

RUN elasticsearch-plugin remove opendistro_performance_analyzer --purge

COPY <path-to-new-docker-entrypoint.sh> /usr/share/elasticsearch/docker-entrypoint.sh

You can find this file on docker-entrypoint file on the docker instance.

But this is definitely an issue and will work on fixing this issue soon.