Versions (relevant - OpenSearch/Dashboard/Server OS/Browser):
Windows 11
WSL2(Ubuntu)
Docker Desktop
Describe the issue:
I downloaded the “docker-compose.yml” file from Opensearch 2.18.0 · OpenSearch, set the OPENSEARCH_INITIAL_ADMIN_PASSWORD environment variable, and tried to start it using “docker-compose up -d” on WSL2, but an error occurred and the startup stopped.
Error message:
java.lang.IllegalArgumentException: Could not load codec ‘Lucene912’. Did you forget to add lucene-backward-codecs.jar?
Likely root cause: java.lang.IllegalArgumentException: An SPI class of type org.apache.lucene.codecs.Codec with name ‘Lucene912’ does not exist. You need to add the corresponding JAR file supporting this SPI to your classpath. The current classpath supports the following names: [Lucene80, Lucene84, Lucene86, Lucene87, Lucene70, Lucene90, Lucene91, Lucene92, Lucene94, Lucene95, Composite99Codec, Lucene99, KNN80Codec, KNN84Codec, KNN86Codec, KNN87Codec, KNN910Codec, KNN920Codec, KNN940Codec, KNN950Codec, KNN990Codec, UnitTestCodec, ZSTD, ZSTDNODICT, Lucene95CustomCodec, ZSTD99, ZSTDNODICT99, QATDEFLATE99, QATLZ499, CorrelationCodec, CorrelationCodec990]
OpenSearch 2.18.0 starts without any errors.
I want to use OpenSearch 2.17.1 because the plugin I want to use is not compatible with 2.18.0.
Is there any solution to this?
docker-compose.yml
---
services:
opensearch-node1:
image: opensearchproject/opensearch:2.17.1
container_name: opensearch-node1
environment:
- cluster.name=opensearch-cluster
- node.name=opensearch-node1
- discovery.seed_hosts=opensearch-node1,opensearch-node2
- cluster.initial_cluster_manager_nodes=opensearch-node1,opensearch-node2
- bootstrap.memory_lock=true # along with the memlock settings below, disables swapping
- OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m # minimum and maximum Java heap size, recommend setting both to 50% of system RAM
- OPENSEARCH_INITIAL_ADMIN_PASSWORD=Z9suTmgfO8aRqTv7byil # Sets the demo admin user password when using demo configuration, required for OpenSearch 2.12 and higher
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536 # maximum number of open files for the OpenSearch user, set to at least 65536 on modern systems
hard: 65536
volumes:
- opensearch-data1:/usr/share/opensearch/data
ports:
- 9200:9200
- 9600:9600 # required for Performance Analyzer
networks:
- opensearch-net
opensearch-node2:
image: opensearchproject/opensearch:2.17.1
container_name: opensearch-node2
environment:
- cluster.name=opensearch-cluster
- node.name=opensearch-node2
- discovery.seed_hosts=opensearch-node1,opensearch-node2
- cluster.initial_cluster_manager_nodes=opensearch-node1,opensearch-node2
- bootstrap.memory_lock=true
- OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m
- OPENSEARCH_INITIAL_ADMIN_PASSWORD=Z9suTmgfO8aRqTv7byil
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
volumes:
- opensearch-data2:/usr/share/opensearch/data
networks:
- opensearch-net
opensearch-dashboards:
image: opensearchproject/opensearch-dashboards:2.17.1
container_name: opensearch-dashboards
ports:
- 5601:5601
expose:
- '5601'
environment:
OPENSEARCH_HOSTS: '["https://opensearch-node1:9200","https://opensearch-node2:9200"]'
networks:
- opensearch-net
volumes:
opensearch-data1:
opensearch-data2:
networks:
opensearch-net: