Я установил шаблон Cloudformation, чтобы запустить экземпляр, в котором установлены Logstash и Elasticsearch (не встроенные).
У меня есть стандартный ввод tcp, настроенный в Logstash, и вывод его в кластер Elasticsearch.
Когда я запускаю несколько экземпляров, все экземпляры Elasticsearch находят друг друга, выбирают мастера, синхронизируют и все. Проблема в том, что когда я это делаю:
curl -XGET 'http://localhost:9200/_cluster/nodes?pretty=1'
главный и только главный узел показывает мне еще один узел:
"8kLMLhP-RHGdgcYGlt3dEQ": {
"name": "Bling",
"transport_address": "inet [/10.226.186.84:9301]",
"имя хоста": "ip-10-226-186-84",
"версия": "0.90.9",
"attributes": {
"client": "true",
"данные": "ложь"
}
это экземпляр logstash, запущенный на 9301. Я не понимаю, зачем он это делает.
http://logstash.net/docs/1.3.3/outputs/elasticsearch#protocol
По умолчанию logstash использует протокол «узел», который позволяет ему взаимодействовать с Elasticsearch. Это также делает экземпляр видимым как узел ES, но без фактического хранения данных.
Использование «транспортного» протокола принудительно использует переменную «хост», которая кажется несовместимой с кластером.
Поэтому я думаю, что невозможно удалить экземпляр logstash из кластера ES, хотя и безвредно.