当我尝试保护我的Elasticsearch集群(仅在1个节点上尝试过)时遇到了一个问题。 ES节点位于docker上,当我尝试安装shield并添加用户时,它一直在给我

Error: Could not find or load main class org.elasticsearch.shield.authc.esusers.tool.ESUsersTool

这是dockerfile命令
USER root

ENV ES_PKG_NAME 1.7.3
    # Install Elasticsearch.
    RUN \
      cd / && \
      wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-$ES_PKG_NAME.tar.gz && \
      tar xvzf elasticsearch-$ES_PKG_NAME.tar.gz && \
      rm -f elasticsearch-$ES_PKG_NAME.tar.gz && \
      mv /elasticsearch-$ES_PKG_NAME /elasticsearch

    # Mount elasticsearch.yml config
    ADD config/elasticsearch.yml /elasticsearch/config/elasticsearch.yml

    ENV ES_JAVA_OPTS "-Des.path.conf=/elasticsearch -Des.default.path.logs=/elasticsearch/logs"


    RUN /elasticsearch/bin/plugin -install royrusso/elasticsearch-HQ && \
        /elasticsearch/bin/plugin -install elasticsearch/license/latest && \
        /elasticsearch/bin/plugin -install elasticsearch/shield/latest

    RUN ln -s /elasticsearch/config/shield /elasticsearch/shield
    RUN chmod +x /elasticsearch/bin/shield/*
    ENV PATH /elasticsearch/bin/shield:$PATH
    RUN esusers useradd es_user -r admin -p pass

    # Define mountable directories.
    VOLUME ["/data"]


    # Define working directory.
    WORKDIR /data

    # Define default command.
    CMD ["/elasticsearch/bin/elasticsearch"]

    # Expose ports.
    #   - 9200: HTTP
    #   - 9300: transport
    EXPOSE 9200
    EXPOSE 9300

先感谢您!

最佳答案

我认为您的Dockerfile掩盖了此错误:

$ /usr/share/elasticsearch/bin/shield/esusers useradd es_admin -r admin -p pass
ERROR: Invalid password...passwords must be at least [6] characters long

尝试使密码的长度超过pass

关于security - Docker上的Elasticsearch 1.7.3和Shield,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34120375/

10-09 20:37