When you have this error trino in Docker and OpenSearch in your local machine. Run the follow command in trino Docker.
docker exec -it trino bash //Acess trino host bash shell
curl -v -u {{username}}:{{password}} https://host.docker.internal:9200 // HTTPS
curl -v http://host.docker.internal:9200 //HTTP
* Trying 192.168.65.254:9200...
* Connected to host.docker.internal (192.168.65.254) port 9200(#0)
> GET / HTTP/1.1
> Host: host.docker.internal:9200
> User-Agent: curl/7.76.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< content-type: application/json; charset=UTF-8
< content-length: 567
<
{
"name" : "localhost",
"cluster_name" : "aa_cr_elasticsearch",
"cluster_uuid" : "5Oup3egsQtm_QJhlhKbopA",
"version" : {
"distribution" : "opensearch",
"number" : "2.18.0",
"build_type" : "zip",
"build_hash" : "99a9a81da366173b0c2b963b26ea92e15ef34547",
"build_date" : "2024-10-31T19:08:37.998479Z",
"build_snapshot" : false,
"lucene_version" : "9.12.0",
"minimum_wire_compatibility_version" : "7.10.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "The OpenSearch Project: https://opensearch.org/"
}
* Connection #0 to host host.docker.internal left intact
Add the following setting to opensearch.yml and your trino can see indices.