Redistribute messages from a stucked kafka partiton












0















I have a topic descibed in kafka as below ( via /usr/hdp/2.6.5.0-292/kafka/bin/kafka-topics.sh --describe <rest of command> )



Topic:arrival_events    PartitionCount:12   ReplicationFactor:2 Configs:

Topic: arrival_events Partition: 0 Leader: 1001 Replicas: 1001,1002 Isr: 1001,1002
Topic: arrival_events Partition: 1 Leader: 1002 Replicas: 1002,1003 Isr: 1002,1003
Topic: arrival_events Partition: 2 Leader: 1003 Replicas: 1003,1001 Isr: 1003,1001
Topic: arrival_events Partition: 3 Leader: 1001 Replicas: 1001,1003 Isr: 1003,1001
Topic: arrival_events Partition: 4 Leader: 1002 Replicas: 1002,1001 Isr: 1002,1001
Topic: arrival_events Partition: 5 Leader: 1003 Replicas: 1003,1002 Isr: 1003,1002
Topic: arrival_events Partition: 6 Leader: 1001 Replicas: 1001,1002 Isr: 1001,1002
Topic: arrival_events Partition: 7 Leader: 1002 Replicas: 1002,1003 Isr: 1002,1003
Topic: arrival_events Partition: 8 Leader: 1003 Replicas: 1003,1001 Isr: 1003,1001
Topic: arrival_events Partition: 9 Leader: 1001 Replicas: 1001,1003 Isr: 1003,1001
Topic: arrival_events Partition: 10 Leader: 1002 Replicas: 1002,1001 Isr: 1002,1001
Topic: arrival_events Partition: 11 Leader: 1003 Replicas: 1003,1002 Isr: 1003,1002


Broker recives roughly 5-8mil messages (travel patterns) a days.
Everything is fine except that couple of partitions ( not more than 2-3 ) are stucked with high lag.

With continuous flow of data, over days, this some times goes beyond 1-2mill as well. While other partitions sit comfortably at 0 lag



I have tried bringing down consumer count to less than 12 assuming that round robin will force reading up for other partitions too but it doesn't help.



Any suggestion on what option do I have to reduce this lag? Consumers are through a data streaming processor built using java.










share|improve this question























  • Do the messages in your topic have non-null message key?

    – Bitswazsky
    Nov 22 '18 at 6:42






  • 1





    Also, please add more info on the outcome of these two commands if possible. 1) bin/kafka-consumer-groups.sh --bootstrap-server <broker>:9092 --describe --group <consumer-group-name>. 2) bin/kafka-consumer-groups.sh --bootstrap-server <broker>:9092 --describe --group <consumer-group-name> --members --verbose

    – Bitswazsky
    Nov 22 '18 at 6:56













  • How many consumers do you have in the consumer group?

    – cricket_007
    Nov 22 '18 at 20:17
















0















I have a topic descibed in kafka as below ( via /usr/hdp/2.6.5.0-292/kafka/bin/kafka-topics.sh --describe <rest of command> )



Topic:arrival_events    PartitionCount:12   ReplicationFactor:2 Configs:

Topic: arrival_events Partition: 0 Leader: 1001 Replicas: 1001,1002 Isr: 1001,1002
Topic: arrival_events Partition: 1 Leader: 1002 Replicas: 1002,1003 Isr: 1002,1003
Topic: arrival_events Partition: 2 Leader: 1003 Replicas: 1003,1001 Isr: 1003,1001
Topic: arrival_events Partition: 3 Leader: 1001 Replicas: 1001,1003 Isr: 1003,1001
Topic: arrival_events Partition: 4 Leader: 1002 Replicas: 1002,1001 Isr: 1002,1001
Topic: arrival_events Partition: 5 Leader: 1003 Replicas: 1003,1002 Isr: 1003,1002
Topic: arrival_events Partition: 6 Leader: 1001 Replicas: 1001,1002 Isr: 1001,1002
Topic: arrival_events Partition: 7 Leader: 1002 Replicas: 1002,1003 Isr: 1002,1003
Topic: arrival_events Partition: 8 Leader: 1003 Replicas: 1003,1001 Isr: 1003,1001
Topic: arrival_events Partition: 9 Leader: 1001 Replicas: 1001,1003 Isr: 1003,1001
Topic: arrival_events Partition: 10 Leader: 1002 Replicas: 1002,1001 Isr: 1002,1001
Topic: arrival_events Partition: 11 Leader: 1003 Replicas: 1003,1002 Isr: 1003,1002


Broker recives roughly 5-8mil messages (travel patterns) a days.
Everything is fine except that couple of partitions ( not more than 2-3 ) are stucked with high lag.

With continuous flow of data, over days, this some times goes beyond 1-2mill as well. While other partitions sit comfortably at 0 lag



I have tried bringing down consumer count to less than 12 assuming that round robin will force reading up for other partitions too but it doesn't help.



Any suggestion on what option do I have to reduce this lag? Consumers are through a data streaming processor built using java.










share|improve this question























  • Do the messages in your topic have non-null message key?

    – Bitswazsky
    Nov 22 '18 at 6:42






  • 1





    Also, please add more info on the outcome of these two commands if possible. 1) bin/kafka-consumer-groups.sh --bootstrap-server <broker>:9092 --describe --group <consumer-group-name>. 2) bin/kafka-consumer-groups.sh --bootstrap-server <broker>:9092 --describe --group <consumer-group-name> --members --verbose

    – Bitswazsky
    Nov 22 '18 at 6:56













  • How many consumers do you have in the consumer group?

    – cricket_007
    Nov 22 '18 at 20:17














0












0








0








I have a topic descibed in kafka as below ( via /usr/hdp/2.6.5.0-292/kafka/bin/kafka-topics.sh --describe <rest of command> )



Topic:arrival_events    PartitionCount:12   ReplicationFactor:2 Configs:

Topic: arrival_events Partition: 0 Leader: 1001 Replicas: 1001,1002 Isr: 1001,1002
Topic: arrival_events Partition: 1 Leader: 1002 Replicas: 1002,1003 Isr: 1002,1003
Topic: arrival_events Partition: 2 Leader: 1003 Replicas: 1003,1001 Isr: 1003,1001
Topic: arrival_events Partition: 3 Leader: 1001 Replicas: 1001,1003 Isr: 1003,1001
Topic: arrival_events Partition: 4 Leader: 1002 Replicas: 1002,1001 Isr: 1002,1001
Topic: arrival_events Partition: 5 Leader: 1003 Replicas: 1003,1002 Isr: 1003,1002
Topic: arrival_events Partition: 6 Leader: 1001 Replicas: 1001,1002 Isr: 1001,1002
Topic: arrival_events Partition: 7 Leader: 1002 Replicas: 1002,1003 Isr: 1002,1003
Topic: arrival_events Partition: 8 Leader: 1003 Replicas: 1003,1001 Isr: 1003,1001
Topic: arrival_events Partition: 9 Leader: 1001 Replicas: 1001,1003 Isr: 1003,1001
Topic: arrival_events Partition: 10 Leader: 1002 Replicas: 1002,1001 Isr: 1002,1001
Topic: arrival_events Partition: 11 Leader: 1003 Replicas: 1003,1002 Isr: 1003,1002


Broker recives roughly 5-8mil messages (travel patterns) a days.
Everything is fine except that couple of partitions ( not more than 2-3 ) are stucked with high lag.

With continuous flow of data, over days, this some times goes beyond 1-2mill as well. While other partitions sit comfortably at 0 lag



I have tried bringing down consumer count to less than 12 assuming that round robin will force reading up for other partitions too but it doesn't help.



Any suggestion on what option do I have to reduce this lag? Consumers are through a data streaming processor built using java.










share|improve this question














I have a topic descibed in kafka as below ( via /usr/hdp/2.6.5.0-292/kafka/bin/kafka-topics.sh --describe <rest of command> )



Topic:arrival_events    PartitionCount:12   ReplicationFactor:2 Configs:

Topic: arrival_events Partition: 0 Leader: 1001 Replicas: 1001,1002 Isr: 1001,1002
Topic: arrival_events Partition: 1 Leader: 1002 Replicas: 1002,1003 Isr: 1002,1003
Topic: arrival_events Partition: 2 Leader: 1003 Replicas: 1003,1001 Isr: 1003,1001
Topic: arrival_events Partition: 3 Leader: 1001 Replicas: 1001,1003 Isr: 1003,1001
Topic: arrival_events Partition: 4 Leader: 1002 Replicas: 1002,1001 Isr: 1002,1001
Topic: arrival_events Partition: 5 Leader: 1003 Replicas: 1003,1002 Isr: 1003,1002
Topic: arrival_events Partition: 6 Leader: 1001 Replicas: 1001,1002 Isr: 1001,1002
Topic: arrival_events Partition: 7 Leader: 1002 Replicas: 1002,1003 Isr: 1002,1003
Topic: arrival_events Partition: 8 Leader: 1003 Replicas: 1003,1001 Isr: 1003,1001
Topic: arrival_events Partition: 9 Leader: 1001 Replicas: 1001,1003 Isr: 1003,1001
Topic: arrival_events Partition: 10 Leader: 1002 Replicas: 1002,1001 Isr: 1002,1001
Topic: arrival_events Partition: 11 Leader: 1003 Replicas: 1003,1002 Isr: 1003,1002


Broker recives roughly 5-8mil messages (travel patterns) a days.
Everything is fine except that couple of partitions ( not more than 2-3 ) are stucked with high lag.

With continuous flow of data, over days, this some times goes beyond 1-2mill as well. While other partitions sit comfortably at 0 lag



I have tried bringing down consumer count to less than 12 assuming that round robin will force reading up for other partitions too but it doesn't help.



Any suggestion on what option do I have to reduce this lag? Consumers are through a data streaming processor built using java.







apache-kafka partition






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 22 '18 at 4:40









NoobEditorNoobEditor

11.3k94981




11.3k94981













  • Do the messages in your topic have non-null message key?

    – Bitswazsky
    Nov 22 '18 at 6:42






  • 1





    Also, please add more info on the outcome of these two commands if possible. 1) bin/kafka-consumer-groups.sh --bootstrap-server <broker>:9092 --describe --group <consumer-group-name>. 2) bin/kafka-consumer-groups.sh --bootstrap-server <broker>:9092 --describe --group <consumer-group-name> --members --verbose

    – Bitswazsky
    Nov 22 '18 at 6:56













  • How many consumers do you have in the consumer group?

    – cricket_007
    Nov 22 '18 at 20:17



















  • Do the messages in your topic have non-null message key?

    – Bitswazsky
    Nov 22 '18 at 6:42






  • 1





    Also, please add more info on the outcome of these two commands if possible. 1) bin/kafka-consumer-groups.sh --bootstrap-server <broker>:9092 --describe --group <consumer-group-name>. 2) bin/kafka-consumer-groups.sh --bootstrap-server <broker>:9092 --describe --group <consumer-group-name> --members --verbose

    – Bitswazsky
    Nov 22 '18 at 6:56













  • How many consumers do you have in the consumer group?

    – cricket_007
    Nov 22 '18 at 20:17

















Do the messages in your topic have non-null message key?

– Bitswazsky
Nov 22 '18 at 6:42





Do the messages in your topic have non-null message key?

– Bitswazsky
Nov 22 '18 at 6:42




1




1





Also, please add more info on the outcome of these two commands if possible. 1) bin/kafka-consumer-groups.sh --bootstrap-server <broker>:9092 --describe --group <consumer-group-name>. 2) bin/kafka-consumer-groups.sh --bootstrap-server <broker>:9092 --describe --group <consumer-group-name> --members --verbose

– Bitswazsky
Nov 22 '18 at 6:56







Also, please add more info on the outcome of these two commands if possible. 1) bin/kafka-consumer-groups.sh --bootstrap-server <broker>:9092 --describe --group <consumer-group-name>. 2) bin/kafka-consumer-groups.sh --bootstrap-server <broker>:9092 --describe --group <consumer-group-name> --members --verbose

– Bitswazsky
Nov 22 '18 at 6:56















How many consumers do you have in the consumer group?

– cricket_007
Nov 22 '18 at 20:17





How many consumers do you have in the consumer group?

– cricket_007
Nov 22 '18 at 20:17












1 Answer
1






active

oldest

votes


















0














If the messages have non-null message keys, then probably the partitions which have high lag are getting more data than the rest. In that case, it might be beneficial to force a round robin partitioning scheme, irrespective of the keys, if it doesn't have any implication on the business logic.






share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53423986%2fredistribute-messages-from-a-stucked-kafka-partiton%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    If the messages have non-null message keys, then probably the partitions which have high lag are getting more data than the rest. In that case, it might be beneficial to force a round robin partitioning scheme, irrespective of the keys, if it doesn't have any implication on the business logic.






    share|improve this answer




























      0














      If the messages have non-null message keys, then probably the partitions which have high lag are getting more data than the rest. In that case, it might be beneficial to force a round robin partitioning scheme, irrespective of the keys, if it doesn't have any implication on the business logic.






      share|improve this answer


























        0












        0








        0







        If the messages have non-null message keys, then probably the partitions which have high lag are getting more data than the rest. In that case, it might be beneficial to force a round robin partitioning scheme, irrespective of the keys, if it doesn't have any implication on the business logic.






        share|improve this answer













        If the messages have non-null message keys, then probably the partitions which have high lag are getting more data than the rest. In that case, it might be beneficial to force a round robin partitioning scheme, irrespective of the keys, if it doesn't have any implication on the business logic.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 22 '18 at 6:44









        BitswazskyBitswazsky

        6621818




        6621818
































            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53423986%2fredistribute-messages-from-a-stucked-kafka-partiton%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Can a sorcerer learn a 5th-level spell early by creating spell slots using the Font of Magic feature?

            Does disintegrating a polymorphed enemy still kill it after the 2018 errata?

            A Topological Invariant for $pi_3(U(n))$