I am not sure about the reasons. What you can do is to backup your /opt/trains/data folder periodically (preferably stopping the docker compose before it). Another possibility is to configure your elasticsearch to run as a cluster with 2 or more nodes on the same or different machine. This will allow elastic to replicate your indices to other nodes.
https://stackoverflow.com/questions/28287261/connection-timeout-with-elasticsearch
How to set the timeout?
Please run these commands and see if you have any "red" statuses in the output:
curl " http://localhost:9200/_cluster/health?pretty "
curl " http://localhost:9200/_cluster/health?level=indices&pretty "
AppetizingMouse58 After i modify the max_buckets to 200000000000, I cannot see any information in web ui. Here is the log:
Sure, you delete it with the following command:
curl -XDELETE " http://localhost:9200/events-plot-d1bd92a3b039400cbafc60a7a5b1e52b "
Once deleted it will be automatically recreated by the api server and should see the plots from the new tasks that you run afterwards
AppetizingMouse58 Great, Thanks so much! You have done a great work.
Another question, how to configure elasticsearch to run as a cluster with 2 or more nodes on the same or different machine 😅
AppetizingMouse58 Ok , i see, thanks!
The error is still there for new experiment
SubstantialBaldeagle49 This is fine. When you start docker-compose it takes different time for the services to start. Apiserver waits for the Elasticsearch to start and proceeds once it is ready. Can you reproduce the buckets issue and share the apiserver log that contains it?
AppetizingMouse58 Thanks so much!, Could u tell why does this happen? If it happen next time , is there any other solution?
The log is produced after i go to the web ui and reproduce the error of "Failed to get Plot Charts"
I have remake curl, this commad "sudo curl -L " https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compos" will work
That's ok, i have just start the server. Could you tell me how to delete this index?
SubstantialBaldeagle49 This should collect the logs: 'sudo docker logs trains-apiserver >& apiserver.logs'
Might be some other issue related to loading plots from elastic. Can you show the trains-apiserver
log again after you received the error - there should be some more information there
SubstantialBaldeagle49 Well, I see. Elaticsearch does not support putting that large number into max_buckets. From the error message that I see in the apiserver log I am not sure that the original problem is connected to the buckets number. Can you please revert the max_bucket change, reproduce the original problem and share the elasticsearch log?
Ok, i have reverte the change ,here is two log:
AppetizingMouse58 Ok, this is the full log, here seems a error:
Setting up an elastic cluster requires some devops. You can search for "setup elasticsearch 7 cluster" in the internet and there are some tutorials there. Stopping your docker-compose once in a certain period of time and backing up the /opt/trains/data folder is more straightforward and it would backup also the data that we store in mongodb.
SubstantialBaldeagle49 The log looks OK. Where do you see the error?
The index "events-plot-d1bd92a3b039400cbafc60a7a5b1e52b" is red meaning that it is corrupted and elastic cannot work with it. The most straightforward solution would be to delete this index but it will result in all the plots generated so far will be lost.