Пользовательский интерфейс Storm с разным количеством исполнителей и задач

Я использую шторм с топологией трезубца, но я не могу понять, как достигается параллелизм, он отличается в зависимости от моих расчетов и того, что я вижу в пользовательском интерфейсе шторма,

Вот код назначения количества рабочих:

public Config getTopologyConfiguration() {
    Config conf = new Config();
    //conf.setDebug(true);
    conf.setNumWorkers(6);
    conf.setMessageTimeoutSecs(100);
    return conf;
}

А вот код потоковой обработки:

s.name("aggregation_stream")
            .parallelismHint(invoiceAggregationConfig.getSpoutParallelism())
            .partitionBy(groupedFields)
            .partitionAggregate(aggregateInputFields,
                    new GenericAggregator(groupedFields, aggregatedFieldsList, aggregateFieldsOperationList),
                    aggregatorOutputFields)
            .parallelismHint(invoiceAggregationConfig.getAggregationParallelism())
            .shuffle()
            .each(aggregatorOutputFields,
                    new CreatePaymentFromInvoices(paymentType, groupMap, aggMap, paymentExtraParams),
                    Const.PAYMENT_FIELD)
            .each(TridentUtils.fieldsConcat(aggregatorOutputFields, Const.PAYMENT_FIELD),
                    new CreateApplicationFromPaymentAndInvoices(invoiceType),
                    Const.APPLICATIONS_FIELD)
            .each(TridentUtils.fieldsConcat(aggregatorOutputFields, Const.PAYMENT_FIELD, Const.APPLICATIONS_FIELD),
                    new RestbusFilterForPaymentAndApplications(environment, bu, serviceConfiguration))
            .parallelismHint(invoiceAggregationConfig.getPersistenceParallelism());

а атрибуты параллелизма, которые я использую в приведенном выше коде, находятся здесь:

spoutParallelism: 3
aggregationParallelism: 6
persistenceParallelism: 6

Теперь по моим расчетам количество исполнителей должно быть 3 * 6 + 6 = 24.

Но в интерфейсе Storm отображается 23, как ??

введите здесь описание изображения

ИЗМЕНЕНО

Добавление нового снимка экрана с информацией об отдельных компонентах

введите здесь описание изображения

Здесь я вижу, что количество исполнителей и задач 50, но я не настраивал для этого какую-либо конфигурацию, обеспечивает ли шторм это сам ??

Во-вторых, количество генерируемых кортежей огромно, я не создаю так много данных, это более чем в 100 раз больше кортежей, почему такое количество кортежей отображается в пользовательском интерфейсе ??


person user2098324    schedule 17.06.2016    source источник
comment
Можете ли вы вставить снимок экрана с отдельными компонентами .. Я считаю, что это связано с подтверждением, а также сообщите нам, сколько слотов пусто в кластере   -  person supermonk    schedule 19.06.2016
comment
@supermonk: Я отредактировал вопрос. пожалуйста, проверьте   -  person user2098324    schedule 19.06.2016
comment
Пожалуйста, опубликуйте полный код построения и отправки топологии   -  person Alma Alma    schedule 29.06.2016


Ответы (1)


Количество отправленных кортежей может быть огромным. Причина: когда spout испускает кортеж, он будет ожидать подтверждения, если подтверждение не получено, он повторно отправит кортеж, поэтому количество отправленных и переданных кортежей может быть более высоким. (проверьте ack count его маленькое количество по сравнению с количеством излучаемых)

person Mahesh Madushanka    schedule 24.06.2016
comment
пожалуйста, проверьте количество подтверждений, это должно быть ‹произведенное количество записей данных - person Mahesh Madushanka; 24.06.2016