elasticsearch not started on macOS

Viewed 977

When I try to start elasticsearch on my macOS laptop, it does not appear to have started. So much of the answers I find on the internet do not relate to using brew on macOS.

See this command line history of trying to start it.

:>brew services stop elasticsearch 
Stopping `elasticsearch`... (might take a while)
==> Successfully stopped `elasticsearch` (label: homebrew.mxcl.elasticsearch)
:>brew services start elasticsearch
==> Successfully started `elasticsearch` (label: homebrew.mxcl.elasticsearch)
:>curl http://localhost:9200      
curl: (7) Failed to connect to localhost port 9200: Connection refused
:>curl https://localhost:9200      
curl: (7) Failed to connect to localhost port 9200: Connection refused
:>lsof -i :9200     
:>sudo ps -ef | grep elastic
  501 85360 68989   0  9:51AM ttys000    0:00.00 grep elastic

Also using the Network Utility I see nothing is listening at the port 9200.

enter image description here

I am using Catalina Version 10.15.7 (19H1030).

java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

My elasticsearch version is

Version: 6.0.1, Build: 601be4a/2017-12-04T09:29:09.525Z, JVM: 1.8.0_121

The location of the binary on my PATH is /usr/local/bin/elasticsearch

EDIT:

There was a comment to include any error messages or the output. If this was not clear, what I wrote is the only output. The only output to stdout or stderr from brew services start elasticsearch is "Successfully started elasticsearch".

However, when trying elasticsearch -d from the command line I get this:

:>elasticsearch
2021-05-24 09:33:08,875 main ERROR Could not register mbeans java.security.AccessControlException: access denied ("javax.management.MBeanTrustPermission" "register")
    at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
    at java.lang.SecurityManager.checkPermission(SecurityManager.java:585)
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.checkMBeanTrustPermission(DefaultMBeanServerInterceptor.java:1848)
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:322)
    at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522)
    at org.apache.logging.log4j.core.jmx.Server.register(Server.java:389)
    at org.apache.logging.log4j.core.jmx.Server.reregisterMBeansAfterReconfigure(Server.java:167)
    at org.apache.logging.log4j.core.jmx.Server.reregisterMBeansAfterReconfigure(Server.java:140)
    at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:556)
    at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:261)
    at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:206)
    at org.apache.logging.log4j.core.config.Configurator.initialize(Configurator.java:220)
    at org.apache.logging.log4j.core.config.Configurator.initialize(Configurator.java:197)
    at org.elasticsearch.common.logging.LogConfigurator.configureStatusLogger(LogConfigurator.java:172)
    at org.elasticsearch.common.logging.LogConfigurator.configure(LogConfigurator.java:141)
    at org.elasticsearch.common.logging.LogConfigurator.configure(LogConfigurator.java:120)
    at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:290)
    at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:130)
    at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:121)
    at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:69)
    at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134)
    at org.elasticsearch.cli.Command.main(Command.java:90)
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92)
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:85)

ERROR: no log4j2.properties found; tried [/usr/local/etc/elasticsearch] and its subdirectories

The /usr/local/etc/elasticsearch directory exists but is empty.

:>ls -l /usr/local/etc
...
drwxr-xr-x   2 marlpier  admin     64 May 19 16:30 elasticsearch
...
:>find /usr/local/etc/elasticsearch 
/usr/local/etc/elasticsearch

Maybe my jvm.options file is not found. Where should it be?

1 Answers

Answer was that brew reinstall elasticsearch was not working.

Doing brew uninstall elasticsearch gave a java error. So to uninstall java, brew uninstall java also gave a java error.

Answer to uninstall java was here by removing the java directory.

After that I was able to uninstall elasticsearch and then install it again with brew. Now it works.

Related