Ich bin in der 2 Stunde meiner Elastic Search Immersion. Ich habe ES erfolgreich mit Marvel (mit marvel.agent.enabled: false
in config/elasticsearch.yml) installiert und konnte erfolgreich Anfragen von Sense stellen. Ich neu gestartet meine Entwicklung Maschine und jetzt, wenn ich die folgende Anfrage auf Sinn machen, antwortet er:ES erreichbar von Curl aber nicht von Marvel/Sense
Request failed to get to the server (status code: 0):
Elasticsearch may not be reachable or you may need to check your CORS settings.If CORS is enabled, try turning off Sense's Basic Authentication support under Setting (cog icon).This will result in a less strict CORS enforcement by the browser.
Please check the marvel documentation for more information.
Request (source):
PUT /megacorp/employee/1
{
"first_name" : "John",
"last_name" : "Smith",
"age" : 25,
"about" : "I love to go rock climbing",
"interests": [ "sports", "music" ]
}
Wie gerichtet, ich geprüft, ob ES erreichbar ist durch eine Herstellung ähnliche Anfrage auf curl:
Anfrage:
curl -XPUT http://localhost:9200/megacorp/employee/100 -d '{ "first_name" : "test" }'
Re sponse:
{"_index":"megacorp","_type":"employee","_id":"100","_version":1,"created":true}
Das führt mich zu der Annahme, dass ES verfügbar ist.
Mit der nächsten Überprüfung "Sie müssen möglicherweise Ihre CORS-Einstellungen überprüfen.". Ich fügte hinzu, die folgende Konfiguration elasticsearch.yml (und neu gestartet ES) basierend auf this recommendation:
http.cors.enabled: true
http.cors.allow-origin: /.*/
http.cors.allow-credentials: true
Aber es gibt keine Änderung im Verhalten.
Umschalten "Unterstützung Basic Auth" in Marvel/Smart-Einstellungen hat auch keine Auswirkungen.
Willkommen alle Hinweise auf was könnte schief gehen.
@jimstat in Ihrem ES Cluster-Protokolle zu finden (in einem Knoten) eine Linie, die wie '[INFO] [http] [c7_64] bound_address {inet [/0: 0: 0: 0: 0: 0: 0: 0: 9201]}, Veröffentlichungsadresse {inet [/192.168.88.128:9201]} '. Du interessierst dich für was nach 'publish_address'. Wenn Sie auf Sense zugreifen, verwenden Sie den IP: PORT, den Sie dort sehen. In meinem Beispiel: "http: //192.168.88.128: 9201/_plugin/marvel/sense/index.html". –
Hat keine der Antworten geholfen, oder haben Sie eine Antwort nicht als akzeptiert markiert? Würde mir helfen, zu wissen, was der Trick für Sie gemacht hat :) – Frans