Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] java.lang.IllegalArgumentException: unknown setting [node] please check that any required plugins are installed #132

Closed
samirmajen opened this issue Nov 9, 2021 · 13 comments · Fixed by #137
Labels
bug Something isn't working

Comments

@samirmajen
Copy link

Describe the bug
Running the latest version of opensearch (1.1.0) as a helm template in kubernetes gives the following error in the logs:

uncaught exception in thread [main]
java.lang.IllegalArgumentException: unknown setting [node] please check that any required plugins are installed, or check the breaking changes documentation for removed settings
at org.opensearch.common.settings.AbstractScopedSettings.validate(AbstractScopedSettings.java:557)
at org.opensearch.common.settings.AbstractScopedSettings.validate(AbstractScopedSettings.java:502)
at org.opensearch.common.settings.AbstractScopedSettings.validate(AbstractScopedSettings.java:473)
at org.opensearch.common.settings.AbstractScopedSettings.validate(AbstractScopedSettings.java:444)
at org.opensearch.common.settings.SettingsModule.(SettingsModule.java:162)
at org.opensearch.node.Node.(Node.java:417)
at org.opensearch.node.Node.(Node.java:301)
at org.opensearch.bootstrap.Bootstrap$5.(Bootstrap.java:240)
at org.opensearch.bootstrap.Bootstrap.setup(Bootstrap.java:240)
at org.opensearch.bootstrap.Bootstrap.init(Bootstrap.java:406)
at org.opensearch.bootstrap.OpenSearch.init(OpenSearch.java:182)
at org.opensearch.bootstrap.OpenSearch.execute(OpenSearch.java:173)
at org.opensearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:99)
at org.opensearch.cli.Command.mainWithoutErrorHandling(Command.java:140)
at org.opensearch.cli.Command.main(Command.java:103)
at org.opensearch.bootstrap.OpenSearch.main(OpenSearch.java:139)
at org.opensearch.bootstrap.OpenSearch.main(OpenSearch.java:105)
For complete error details, refer to the log at /usr/share/opensearch/logs/opensearch-cluster.log

The log file /usr/share/opensearch/logs/opensearch-cluster.log is empty

To Reproduce
Steps to reproduce the behavior:

  1. Run the latest helm template in kubernetes
  2. View the logs in any of the nodes

Expected behavior
The Opensearch cluster should start up successfully

Plugins
Please list all plugins currently enabled.

opensearch-alerting
opensearch-anomaly-detection
opensearch-asynchronous-search
opensearch-cross-cluster-replication
opensearch-index-management
opensearch-job-scheduler
opensearch-knn
opensearch-notebooks
opensearch-performance-analyzer
opensearch-reports-scheduler
opensearch-security
opensearch-sql

Screenshots
If applicable, add screenshots to help explain your problem.

Host/Environment (please complete the following information):

  • OS: Kubernetes
  • Version: 1.18

Additional context
Add any other context about the problem here.

@anasalkouz
Copy link
Member

@opensearch-project/transfer-request

@CEHENKLE CEHENKLE transferred this issue from opensearch-project/OpenSearch Nov 9, 2021
@CEHENKLE
Copy link
Member

CEHENKLE commented Nov 9, 2021

moving to helm-charts. If you think that was an error, please lmk. :)

@samirmajen
Copy link
Author

Not sure if it's helm specifically or a problem with the codebase itself

@TheAlgo
Copy link
Member

TheAlgo commented Nov 10, 2021

@samirmajen Did you use the official helm chart for opensearch?

@samirmajen
Copy link
Author

Yep

@samirmajen
Copy link
Author

samirmajen commented Nov 10, 2021

Looks like it doesn't like the env vars node.0 node.1 and node.2 which are in the official chart

@tomasodehnal
Copy link
Contributor

Faced the same issue, removing the env vars (these lines from the statefulset definition) helped.

@samirmajen
Copy link
Author

@tomasodehnal did you get it stable after that? I then get tls errors

[opensearch-cluster-master-2] OpenSearchException[Illegal parameter in http or transport request found.
This means that one node is trying to connect to another with
a non-node certificate (no OID or security.nodes_dn incorrect configured) or that someone
is spoofing requests. Check your TLS certificate setup as described here: See https://opendistro.github.io/for-elasticsearch-docs/docs/troubleshoot/tls/]

@tomasodehnal
Copy link
Contributor

@samirmajen Beside the env vars I performed no other changes and fresh installation without any custom values worked. Are you using demo certs?

@erbzn
Copy link
Contributor

erbzn commented Nov 11, 2021

I am also facing this problem when moving from Chart 1.2.4 to 1.3.0.
Are these changes causing problems?
Env variables change from

        - name: node.data
          value: "true"
        - name: node.ingest
          value: "true"
        - name: node.master
          value: "true"
        - name: node.remote_cluster_client
          value: "true"

to

        - name: node.0
          value: master
        - name: node.1
          value: ingest
        - name: node.2
          value: data
        - name: node.3
          value: remote_cluster_client

@samirmajen
Copy link
Author

samirmajen commented Nov 11, 2021

yes these values are the issue, as @tomasodehnal mentioned switching to a previous helm version fixes the issue. The only changes between versions are those env vars. Erbzn your values are the wrong way round, the incorrect ones are:

- name: node.0
  value: "master"
- name: node.1
  value: "ingest"
- name: node.2
  value: "data"
- name: node.3
  value: "remote_cluster_client"

These should be changed to :

- name: node.data
  value: "true"
- name: node.ingest
  value: "true"
- name: node.master
  value: "true"
- name: node.remote_cluster_client
  value: "true"

@peterzhuamazon
Copy link
Member

Thanks guys for the investigation, would love if any of you could issue a PR for the fix.

@erbzn @samirmajen @tomasodehnal

Thanks.

@tomasodehnal
Copy link
Contributor

@peterzhuamazon PR sent. The new environment variable node.roles is now set to comma separated values from the helm roles list.

@peterzhuamazon peterzhuamazon linked a pull request Nov 12, 2021 that will close this issue
1 task
@peterzhuamazon peterzhuamazon added the bug Something isn't working label Nov 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants