Logstash не загружает полные данные из оракула в Elasticsearch - PullRequest
0 голосов
/ 29 июня 2018

Пытаюсь загрузить данные оракула вasticsearch, их почти 300 тыс. Записей есть после объединения 5 таблиц. Но после выполнения файла конфигурации logstash в эластичном поиске доступны только 79511 документы.

Я пытался дважды, но получаю те же результаты. Я перепроверил в Oracle и уверен, что у меня почти 100 записей *. 1005 *

Если я поставлю stdout { codec => rubydebug }, то это займет много часов, чтобы завершить процесс.

Есть идеи по этому вопросу.

Пожалуйста, найдите мой файл конфигурации logstash (я не включил запрос sql здесь).

input {
      jdbc {
        jdbc_driver_library => "D:\1SearchEngine\data\ojdbc8.jar"
        jdbc_driver_class => "Java::oracle.jdbc.OracleDriver"
        jdbc_connection_string => "jdbc:oracle:thin:@localhost:1525/demodb"     
        jdbc_user => "demo"
        jdbc_password => "1234567"
        jdbc_fetch_size => "50000"
        statement => "" 
        }
    }

    output {

        elasticsearch {
        hosts => ["localhost:9200"]
        index => "replacement_local101"
        document_id => "%{id}"
        }

    }

1 Ответ

0 голосов
/ 30 июня 2018

Это потому, что вы не указали конфигурацию для schedule,

Вход от этого плагина может быть запланирован для периодического запуска в соответствии с на конкретный график. Этот синтаксис планирования основан на Руфус-планировщик. Синтаксис cron-подобен с некоторыми расширениями, определенными Руфусу (например, поддержка часового пояса).

по умолчанию, запускается только один раз,

По умолчанию расписание отсутствует. Если расписание не указано, то Оператор выполняется ровно один раз.

Вам необходимо указать опцию schedule. Например, следующее будет выполняться каждую секунду,

schedule => "* * * * *"

Подробнее о синтаксисе можно прочитать здесь

...