-
Notifications
You must be signed in to change notification settings - Fork 280
Docker-Compose Setup "None of the configured nodes are available" #8
Comments
Hi, did you get this working? Did you modify docker-compose.yml at all? I interpret the installation docs the same as you; either use docker-compose or manually install and configure Elasticsearch, but I just copied the docker-compose.yml file to an empty directory and ran 'sudo docker-compose up' and I don't get the same error, it seems to work fine. Can you provide the exact steps you went through and the full output? |
I ended up using apt-get
…On Tue, Sep 5, 2017, 8:42 PM npratley ***@***.***> wrote:
Hi, did you get this working? Did you modify docker-compose.yml at all?
I interpret the installation docs the same as you; either use
docker-compose or manually install and configure Elasticsearch, but I just
copied the docker-compose.yml file to an empty directory and ran 'sudo
docker-compose up' and I don't get the same error, it seems to work fine.
Can you provide the exact steps you went through and the full output?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#8 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AY8JrBr2qiX2xdc-S4lAEJaSmeQ-lb-Cks5sffh7gaJpZM4O8ZxY>
.
|
Ok, so for those who don't want to follow @Deastrom in laboriously setting up elasticsearch the hard way just to see if The Hive and it's associated Cortex stuff can do what you need it to do (before putting it into production), you may find buried in the docker messages something about your virtual memory stuff being too low. vm.max_map_count tells you it doesn't have enough memory. If you have this error, you may also realize that when you start up docker-compose, it doesn't ask you to setup an account when you try and access The Hive with your browser, and just asks for your Username and PW (Then says the elasticsearch cluster isn't reachable). The fix is simple. Either run this in the command line (tested and works on CENTOS 7), sysctl -w vm.max_map_count=262144 Or put vm.max_map_count=262144 in /etc/sysctl.conf then reboot! NOTE: Also, the documentation for installing docker IS telling you it's one or the other. If you use docker-compose, you do NOT have to build out an elasticsearch image, as the docker-compose.yml file provides that too. |
I did get it working using that exact command. You'll also need at least 2 gb ram to your docker for Windows vm (if that's what you're using). |
version: "3" |
Thanks for adding that file! That looks great, and cleared up a few other things I was looking into! |
Error: [info] o.e.ErrorHandler - POST /api/login returned 500 Docker compose: Tried with and without this Dockerfile: My config in thehive/conf/application.conf: Secret KeyThe secret key is used to secure cryptographic functions.WARNING: If you deploy your application on several servers, make sure to use the same key.play.http.secret.key="VLROlUsB5yVvZFBGM3KRRHO4ihFaat8wpNfwjsQWzVmcL6c8jspbb2pTL6SvhyLT" Elasticsearchsearch { Name of the indexindex = the_hive Name of the Elasticsearch clustercluster = hive Address of the Elasticsearch instancehost = ["0.0.0.0:9300"] Scroll keepalivekeepalive = 1m Size of the page for scrollpagesize = 50 Number of shardsnbshards = 5 Number of replicasnbreplicas = 1 Arbitrary settingssettings { XPack SSL configurationUsername for XPack authentication#search.username Password for XPack authentication#search.password Enable SSL to connect to ElasticSearchsearch.ssl.enabled = false Path to certificate authority file#search.ssl.ca Path to certificate file#search.ssl.certificate Path to key file#search.ssl.key SearchGuard configurationPath to JKS file containing client certificate#search.guard.keyStore.path Password of the keystore#search.guard.keyStore.password Path to JKS file containing certificate authorities#search.guard.trustStore.path Password of the truststore#search.guard.trustStore.password Enforce hostname verification#search.guard.hostVerification If hostname verification is enabled specify if hostname should be resolved#search.guard.hostVerificationResolveHostname Authenticationauth { By default, basic authentication is disabled. You can enable it by setting "method.basic" to true.method.basic = false
ldap {
} Maximum time between two requests without requesting authenticationsession { Streamingstream.longpolling { Maximum time a stream request waits for new elementrefresh = 1m Lifetime of the stream session without requestcache = 15m Max textual content lengthplay.http.parser.maxMemoryBuffer=1M Max file sizeplay.http.parser.maxDiskBuffer=1G CortexTheHive can connect to one or multiple Cortex instances. Give eachCortex instance a name and specify the associated URL.In order to use Cortex, first you need to enable the Cortex module by uncomment the next lineEnable the Cortex moduleplay.modules.enabled += connectors.cortex.CortexConnector HTTP client configuration, more details in section 8ws {proxy {}ssl {}}Check job update time interval#refreshDelay = "1 minute" Maximum number of successive errors before give up#maxRetryOnError = 3 Check remote Cortex status time interval#statusCheckInterval = "1 minute" MISPTheHive can connect to one or multiple MISP instances. Give each MISPinstance a name and specify the associated Authkey that must be usedto poll events, the case template that should be used by default whenimporting events as well as the tags that must be added to cases uponimport.Prior to configuring the integration with a MISP instance, you mustenable the MISP connector. This will allow you to import events toand/or export cases to the MISP instance(s).Enable the MISP module (import and export)Datastoredatastore { Size of stored data chunkschunksize = 50k What I know: This also works from inside the "thehive" docker container No index created for thehive cxe@thehive:~/TheHive$ curl 'localhost:9200' Able to log into Cortex When I do not use my config file I am able to log into thehive. |
I got it figured out. in application.conf in the search section changed from |
https://github.com/CERT-BDF/TheHiveDocs/blob/master/installation/docker-guide.md
The instructions in the above link reads as though you either need to use docker-compose OR manually install and configure ElasticSearch.
I'm pretty new to this so I went the docker-compose route and the instructions give the the following error...
thehive_1 | [error] a.a.OneForOneStrategy - None of the configured nodes are available: [{#transport#-1}{127.0.0.1}{127.0.0.1:9200}] thehive_1 | org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes are available: [{#transport#-1}{127.0.0.1}{127.0.0.1:9200}] thehive_1 | at org.elasticsearch.client.transport.TransportClientNodesService.ensureNodesAreAvailable(TransportClientNodesService.java:290) thehive_1 | at org.elasticsearch.client.transport.TransportClientNodesService.execute(TransportClientNodesService.java:207) thehive_1 | at org.elasticsearch.client.transport.support.TransportProxyClient.execute(TransportProxyClient.java:55) thehive_1 | at org.elasticsearch.client.transport.TransportClient.doExecute(TransportClient.java:288) thehive_1 | at org.elasticsearch.client.support.AbstractClient.execute(AbstractClient.java:359) thehive_1 | at org.elasticsearch.client.support.AbstractClient.search(AbstractClient.java:582) thehive_1 | at com.sksamuel.elastic4s.SearchDsl$SearchDefinitionExecutable$$anonfun$apply$1.apply(SearchDsl.scala:40) thehive_1 | at com.sksamuel.elastic4s.SearchDsl$SearchDefinitionExecutable$$anonfun$apply$1.apply(SearchDsl.scala:40) thehive_1 | at com.sksamuel.elastic4s.Executable$class.injectFutureAndMap(Executable.scala:21) thehive_1 | at com.sksamuel.elastic4s.SearchDsl$SearchDefinitionExecutable$.injectFutureAndMap(SearchDsl.scala:37)
The instructions may need to be modified to be more clear.
The text was updated successfully, but these errors were encountered: