Как использовать селектор regex_extractor и мультиплексор перехватчик вместе в трубе?
Я тестирую flume для загрузки данных в hHase и думаю о параллельной загрузке данных с использованием flume 'Селектор и интерцептор, из-за разницы в скорости между источником и приемником.
Итак, что я хочу сделать с Flume
создание события »заголовок с перехватчикамиs regex_extractor typeмультиплексирование событий с заголовком более чем на два канала с помощью селекторатип мультиплексирования
в одном источнике-канале-приемнике.
и попробовал конфигурацию как ниже.
agent.sources = tailsrc agent.channels = mem1 mem2 agent.sinks = std1 std2 agent.sources.tailsrc.type = exec agent.sources.tailsrc.command = tail -F /home/flumeuser/test/in.txt agent.sources.tailsrc.batchSize = 1 agent.sources.tailsrc.interceptors = i1 agent.sources.tailsrc.interceptors.i1.type = regex_extractor agent.sources.tailsrc.interceptors.i1.regex = ^(\\d) agent.sources.tailsrc.interceptors.i1.serializers = t1 agent.sources.tailsrc.interceptors.i1.serializers.t1.name = type agent.sources.tailsrc.selector.type = multiplexing agent.sources.tailsrc.selector.header = type agent.sources.tailsrc.selector.mapping.1 = mem1 agent.sources.tailsrc.selector.mapping.2 = mem2 agent.sinks.std1.type = file_roll agent.sinks.std1.channel = mem1 agent.sinks.std1.batchSize = 1 agent.sinks.std1.sink.directory = /var/log/flumeout/1 agent.sinks.std1.rollInterval = 0 agent.sinks.std2.type = file_roll agent.sinks.std2.channel = mem2 agent.sinks.std2.batchSize = 1 agent.sinks.std2.sink.directory = /var/log/flumeout/2 agent.sinks.std2.rollInterval = 0 agent.channels.mem1.type = memory agent.channels.mem1.capacity = 100 agent.channels.mem2.type = memory agent.channels.mem2.capacity = 100
Но это нет работа!
когда часть селектора удалена, в flume есть сообщение отладчика перехватчикас лог. но когда селектор и перехватчик вместе, ничего нет.
Есть ли какое-то неправильное выражение или что-то, что я пропустил?
Спасибо за прочтение. :)