# Elasticsearch 7.2.1 startup failed load search guard plugin with java.lang.ClassNotFoundException: io.netty.internal.tcnative.SSLPrivateKeyMethod

**URL:** <https://discuss.elastic.co/t/elasticsearch-7-2-1-startup-failed-load-search-guard-plugin-with-java-lang-classnotfoundexception-io-netty-internal-tcnative-sslprivatekeymethod/197776>\
**Category:** Elasticsearch\
**Created:** [September 3, 2019, 7:39am UTC](https://discuss.elastic.co/t/elasticsearch-7-2-1-startup-failed-load-search-guard-plugin-with-java-lang-classnotfoundexception-io-netty-internal-tcnative-sslprivatekeymethod/197776 "2019-09-03T07:39:09Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Rachangouda](https://avatars.discourse-cdn.com/v4/letter/r/c67d28/32.png) [@Rachangouda](https://discuss.elastic.co/u/Rachangouda)\
**Post date:** [September 3, 2019, 7:39am UTC](https://discuss.elastic.co/t/elasticsearch-7-2-1-startup-failed-load-search-guard-plugin-with-java-lang-classnotfoundexception-io-netty-internal-tcnative-sslprivatekeymethod/197776/1 "2019-09-03T07:39:09Z")

</div>

Hi,

I have followed below steps to start elasticsearch 7.2.1 with search guard version-36.1.0 as mentioned in https://docs.search-guard.com/latest/search-guard-versions

1. created elasticsearch image from elasticsearch-7.x.repo yum repo with user as "elastic".
2. installed search guard plugin from https://oss.sonatype.org/service/local/repositories/releases/content/com/floragunn/search-guard-7/7.2.1-36.1.0/search-guard-7-7.2.1-36.1.0.zip
3. added openssl dependency for Search Guard  
[openssl netty-tcnative-openssl-1.1.0j-static-2.0.20.Final-non-fedora-linux-x86\_64.jar](https://bintray.com/floragunncom/netty-tcnative/download_file?file_path=netty-tcnative-openssl-1.1.0j-static-2.0.20.Final-non-fedora-linux-x86_64.jar)

When elasticsearch is trying to start  
getting below error:

Caused by: java.lang.NoClassDefFoundError: io/netty/internal/tcnative/SSLPrivateKeyMethod

Full log:

[2019-09-03T06:30:31,664][WARN][org.elasticsearch.bootstrap.ElasticsearchUncaughtExceptionHandler] uncaught exception in thread [main]  
org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: failed to load plugin class [com.floragunn.searchguard.SearchGuardPlugin]  
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:163) ~[elasticsearch-7.2.1.jar:7.2.1]  
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) ~[elasticsearch-7.2.1.jar:7.2.1]  
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-7.2.1.jar:7.2.1]  
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-7.2.1.jar:7.2.1]  
at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-7.2.1.jar:7.2.1]  
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:115) ~[elasticsearch-7.2.1.jar:7.2.1]  
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) ~[elasticsearch-7.2.1.jar:7.2.1]  
Caused by: java.lang.IllegalStateException: failed to load plugin class [com.floragunn.searchguard.SearchGuardPlugin]  
at org.elasticsearch.plugins.PluginsService.loadPlugin(PluginsService.java:614) ~[elasticsearch-7.2.1.jar:7.2.1]  
at org.elasticsearch.plugins.PluginsService.loadBundle(PluginsService.java:556) ~[elasticsearch-7.2.1.jar:7.2.1]  
at org.elasticsearch.plugins.PluginsService.loadBundles(PluginsService.java:471) ~[elasticsearch-7.2.1.jar:7.2.1]  
.  
.  
Caused by: java.lang.ClassNotFoundException: io.netty.internal.tcnative.SSLPrivateKeyMethod  
at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[?:1.8.0\_201]  
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0\_201]  
at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:817) ~[?:1.8.0\_201]  
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0\_201]  
at io.netty.handler.ssl.SslContext.newServerContextInternal(SslContext.java:423) ~[?:?]  
at io.netty.handler.ssl.SslContextBuilder.build(SslContextBuilder.java:447) ~[?:?]  
at com.floragunn.searchguard.ssl.DefaultSearchGuardKeyStore$1.run(DefaultSearchGuardKeyStore.java:785) ~[?:?]  
at com.floragunn.searchguard.ssl.DefaultSearchGuardKeyStore$1.run(DefaultSearchGuardKeyStore.java:782) ~[?:?]  
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0\_201]  
at com.floragunn.searchguard.ssl.DefaultSearchGuardKeyStore.buildSSLContext0(DefaultSearchGuardKeyStore.java:782) ~[?:?]  
at com.floragunn.searchguard.ssl.DefaultSearchGuardKeyStore.buildSSLServerContext(DefaultSearchGuardKeyStore.java:730) ~[?:?]  
at com.floragunn.searchguard.ssl.DefaultSearchGuardKeyStore.initSSLConfig(DefaultSearchGuardKeyStore.java:315) ~[?:?]  
at com.floragunn.searchguard.ssl.DefaultSearchGuardKeyStore.(DefaultSearchGuardKeyStore.java:151) ~[?:?]  
at com.floragunn.searchguard.ssl.SearchGuardSSLPlugin.(SearchGuardSSLPlugin.java:194) ~[?:?]  
at com.floragunn.searchguard.SearchGuardPlugin.(SearchGuardPlugin.java:211) ~[?:?]  
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]  
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:?]  
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]  
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0\_201]  
at org.elasticsearch.plugins.PluginsService.loadPlugin(PluginsService.java:605) ~[elasticsearch-7.2.1.jar:7.2.1]  
at org.elasticsearch.plugins.PluginsService.loadBundle(PluginsService.java:556) ~[elasticsearch-7.2.1.jar:7.2.1]  
at org.elasticsearch.plugins.PluginsService.loadBundles(PluginsService.java:471) ~[elasticsearch-7.2.1.jar:7.2.1]  
at org.elasticsearch.plugins.PluginsService.(PluginsService.java:163) ~[elasticsearch-7.2.1.jar:7.2.1]  
at org.elasticsearch.node.Node.(Node.java:307) ~[elasticsearch-7.2.1.jar:7.2.1]  
at org.elasticsearch.node.Node.(Node.java:251) ~[elasticsearch-7.2.1.jar:7.2.1]  
at org.elasticsearch.bootstrap.Bootstrap$5.(Bootstrap.java:221) ~[elasticsearch-7.2.1.jar:7.2.1]  
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:221) ~[elasticsearch-7.2.1.jar:7.2.1]  
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:349) ~[elasticsearch-7.2.1.jar:7.2.1]  
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159) ~[elasticsearch-7.2.1.jar:7.2.1]  
... 6 more

After verifying the binaries  
added [netty-tcnative-2.0.25.Final.jar](https://repo1.maven.org/maven2/io/netty/netty-tcnative/2.0.25.Final/netty-tcnative-2.0.25.Final.jar) and removed the [openssl netty-tcnative-openssl-1.1.0j-static-2.0.20.Final-non-fedora-linux-x86\_64.jar](https://bintray.com/floragunncom/netty-tcnative/download_file?file_path=netty-tcnative-openssl-1.1.0j-static-2.0.20.Final-non-fedora-linux-x86_64.jar)

then elasticsearch started .  
But search guard is not able to connect with elasticsearch. getting below error from search guard.  
[None of the configured nodes are available](https://docs.search-guard.com/latest/troubleshooting-sgadmin)

Does Elasticsearch is having problem or Search guard is having problem?

---

<div class="post-metadata">

**Author:** ![Rachangouda](https://avatars.discourse-cdn.com/v4/letter/r/c67d28/32.png) [@Rachangouda](https://discuss.elastic.co/u/Rachangouda)\
**Post date:** [September 12, 2019, 12:02pm UTC](https://discuss.elastic.co/t/elasticsearch-7-2-1-startup-failed-load-search-guard-plugin-with-java-lang-classnotfoundexception-io-netty-internal-tcnative-sslprivatekeymethod/197776/2 "2019-09-12T12:02:15Z")

</div>

Please update anyone faced same problem.

---

<div class="post-metadata">

**Author:** ![polyfractal](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/polyfractal/32/48162_2.png) [@polyfractal](https://discuss.elastic.co/u/polyfractal)\
**Post date:** [September 12, 2019, 8:09pm UTC](https://discuss.elastic.co/t/elasticsearch-7-2-1-startup-failed-load-search-guard-plugin-with-java-lang-classnotfoundexception-io-netty-internal-tcnative-sslprivatekeymethod/197776/3 "2019-09-12T20:09:30Z")

</div>

SearchGuard is not our product, so we don't have any insight into how it works or what might be wrong. I would suggest asking the SearchGuard folks what is wrong with their plugin. 🙂

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [October 10, 2019, 8:09pm UTC](https://discuss.elastic.co/t/elasticsearch-7-2-1-startup-failed-load-search-guard-plugin-with-java-lang-classnotfoundexception-io-netty-internal-tcnative-sslprivatekeymethod/197776/4 "2019-10-10T20:09:39Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
