Need Support to use open search in windows

Hi Everyone
I am trying to use open search in windows for my python project i have did all the steps which mention in Documents but i am getting below error when i am trying to run—>“/bin/opesearch.bat”

Error–java.lang.IllegalStateException: failed to load plugin class [org.opensearch.security.OpenSearchSecurityPlugin]
Likely root cause: OpenSearchException[plugins.security.ssl.transport.keystore_filepath or plugins.security.ssl.transport.server.pemcert_filepath and plugins.security.ssl.transport.client.pemcert_filepath must be set if transport ssl is requested.]

I have install java open ssl as well

My open search directory ss-

opensearch.yml contain—>>

Cluster Settings

cluster.name: my-opensearch-cluster

Node Settings

node.name: my-node

Paths

path.data: C:/Users/mi/Documents/open_searh/opensearch-2.9.0-windows-x64/opensearch-2.9.0/data
path.logs: C:/Users/mi/Documents/open_searh/opensearch-2.9.0-windows-x64/opensearch-2.9.0/logs

Memory Settings (if needed)

#bootstrap.memory_lock: false

-Xms1g

-Xmx1g

Network Settings

network.host: 127.0.0.1
http.port: 9200

Discovery Settings

discovery.seed_hosts: [“127.0.0.1”]
cluster.initial_master_nodes: [“my-node”]

Gateway Settings

gateway.recover_after_nodes: 1

Additional SSL/TLS settings

plugins.security.ssl:
allow_unsafe_democertificates: true
action.destructive_requires_name: true

SSL/TLS settings for REST API (HTTP)

opensearch.ssl:
verification_mode: full
keystore.type: JKS
keystore.path: C:/Users/mi/Documents/open_searh/keystore.jks
keystore.password: akarshan
truststore.type: JKS
truststore.path: C:/Users/mi/Documents/open_searh/truststore.jks
truststore.password: akarshan
opensearch.ssl.key: C:/Users/mi/Documents/open_searh/node-key.pem
opensearch.ssl.certificate: C:/Users/mi/Documents/open_searh/node.pem

SSL/TLS settings for Transport Layer (between nodes)

opensearch.security.ssl.transport.enabled: true

opensearch.security.ssl.transport.keystore_filepath: C:/Users/mi/Documents/open_searh/transport-keystore.jks
opensearch.security.ssl.transport.truststore_filepath: C:/Users/mi/Documents/open_searh/transport-truststore.jks
opensearch.security.ssl.transport.keystore_password: akarshan
opensearch.security.ssl.transport.truststore_password: akarshan
opensearch.security.ssl.transport.keystore_type: JKS
opensearch.security.ssl.transport.truststore_type: JKS
opensearch.security.ssl.transport.enforce_hostname_verification: false

Remote Store Settings (if needed)

cluster.remote_store.enabled: false
cluster.remote_store.repository: my-repo-1
cluster.remote_store.translog.enabled: false
cluster.remote_store.translog.repository: my-repo-1

Experimental Features (if needed)

opensearch.experimental.feature.segment_replication_experimental.enabled: false
opensearch.experimental.feature.remote_store.enabled: false
opensearch.experimental.feature.searchable_snapshot.enabled: false
opensearch.experimental.feature.extensions.enabled: false
opensearch.experimental.feature.concurrent_segment_search.enabled: false

Could anyone help me to resolve it

Wild shot: do you have a typo here in the path name?

If not, are you sure this is how paths should be written? You can double-check by disabling security and setting data paths. You may need to say something like c:\\Users\\mi\\Documents... can you try that?

@Akarshan All the certificate/keystore files should be placed in the config folder of the unzipped OpenSearch folder or its subfolder.

The default path points to the config folder so you don’t have to use the absolute path.
Try copying the files into the config folder and use only file names in the opensearch.yml.

i.e.

opensearch.security.ssl.transport.enabled: true

opensearch.security.ssl.transport.keystore_filepath: transport-keystore.jks
opensearch.security.ssl.transport.truststore_filepath: transport-truststore.jks
opensearch.security.ssl.transport.keystore_password: akarshan
opensearch.security.ssl.transport.truststore_password: akarshan
opensearch.security.ssl.transport.keystore_type: JKS
opensearch.security.ssl.transport.truststore_type: JKS
opensearch.security.ssl.transport.enforce_hostname_verification: false

Also, the format C:/path/to/config/folder is correct.

1 Like

I have changed it but still issue is same

I have changes but getting same error

YML file is below

Cluster Settings

cluster.name: my-opensearch-cluster

Node Settings

node.name: my-node

Paths

path.data: C:/Users/mi/Documents/open_searh/opensearch-2.9.0-windows-x64/opensearch-2.9.0/data
path.logs: C:/Users/mi/Documents/open_searh/opensearch-2.9.0-windows-x64/opensearch-2.9.0/logs

Memory Settings (if needed)

#bootstrap.memory_lock: false

-Xms1g

-Xmx1g

Network Settings

network.host: 127.0.0.1
http.port: 9200

Discovery Settings

discovery.seed_hosts: [“127.0.0.1”]
cluster.initial_master_nodes: [“my-node”]

Gateway Settings

gateway.recover_after_nodes: 1

Additional SSL/TLS settings

plugins.security.ssl:
allow_unsafe_democertificates: true
action.destructive_requires_name: true

SSL/TLS settings for REST API (HTTP)

opensearch.ssl:
verification_mode: full
keystore.type: JKS
keystore.path: keystore.jks
keystore.password: akarshan
truststore.type: JKS
truststore.path: truststore.jks
truststore.password: akarshan
opensearch.ssl.key: node-key.pem
opensearch.ssl.certificate: node.pem

SSL/TLS settings for Transport Layer (between nodes)

opensearch.security.ssl.transport.enabled: true

opensearch.security.ssl.transport.keystore_filepath: transport-keystore.jks
opensearch.security.ssl.transport.truststore_filepath: transport-truststore.jks
opensearch.security.ssl.transport.keystore_password: akarshan
opensearch.security.ssl.transport.truststore_password: akarshan
opensearch.security.ssl.transport.keystore_type: JKS
opensearch.security.ssl.transport.truststore_type: JKS
opensearch.security.ssl.transport.enforce_hostname_verification: false

Remote Store Settings (if needed)

cluster.remote_store.enabled: false
cluster.remote_store.repository: my-repo-1
cluster.remote_store.translog.enabled: false
cluster.remote_store.translog.repository: my-repo-1

Experimental Features (if needed)

opensearch.experimental.feature.segment_replication_experimental.enabled: false
opensearch.experimental.feature.remote_store.enabled: false
opensearch.experimental.feature.searchable_snapshot.enabled: false
opensearch.experimental.feature.extensions.enabled: false
opensearch.experimental.feature.concurrent_segment_search.enabled: false