Thanks for clarifying all the points . Just a small doubt regarding my
second query:


   - *Not let's suppose somehow the case! is solved my data is distributed
   on both the brokers. Now due to some maintenance issue, I want to take down
   the server B.*
      - *How to transfer the data of Broker B to the already existing
      broker A or to a new Broker C.*

Is there any command through which I can say that move all data from broker
B to broker A.

Regards,
Abhimanyu

On Fri, Dec 7, 2018 at 12:33 PM Vahid Hashemian <vahid.hashem...@gmail.com>
wrote:

> Hi Abhimanyu,
>
> I have answered your questions inline, but before that I just want to
> emphasize the notion of topics and partitions that are critical to Kafka's
> resiliency and scalability.
>
> Topics in Kafka can have multiple partitions. Each partition can be stored
> on one broker only. But the number of partitions can grow over time to make
> topics scalable.
> Each topic partition can be configured to replicate on multiple brokers,
> and this is how data becomes resilient to failures and outages.
> You can find more detailed information in the highly recommended Kafka
> Documentation (https://kafka.apache.org/documentation/).
>
> I hope you find the answers below helpful.
>
> --Vahid
>
> On Thu, Dec 6, 2018 at 10:19 PM Abhimanyu Nagrath <
> abhimanyunagr...@gmail.com> wrote:
>
> > Hi,
> >
> > I have a use case I want to set up a Kafka cluster initially at the
> > starting I have 1 Kafka Broker(A) and 1 Zookeeper Node. So below
> mentioned
> > are my queries:
> >
> >    - On adding a new Kafka Broker(B) to the cluster. Will all data
> present
> >    on broker A will be distributed automatically? If not what I need to
> do
> >    distribute the data.
> >
>
> When you add a new broker, existing data will not automatically move. In
> order to have the new broker receive data, existing partitions need to
> manually move to that broker. Kafka provides a command line tool for
> (re)assigning partitions to broker (kafka-reassign-partitions example).
> As new topic partitions are added to the cluster they will be distributed
> in a way that keeps all brokers busy.
>
>
> >    - Not let's suppose somehow the case! is solved my data is distributed
> >    on both the brokers. Now due to some maintenance issue, I want to take
> > down
> >    the server B.
> >       - How to transfer the data of Broker B to the already existing
> broker
> >       A or to a new Broker C.
> >
>
> You can use the reassign partition tools again to achieve that. If broker B
> is going to join the cluster again, you may not need to do anything,
> assuming you have created your topics (partitions) with resiliency in mind
> (with enough replicas). Kafka will take care of partition movements for
> you.
>
>
> >    - How can I increase the replication factor of my brokers at runtime
> >
>
> Again, you can use the same tool and increase the number of brokers
> assigned to each partition (
>
> https://kafka.apache.org/documentation/#basic_ops_increase_replication_factor
> )
>
>
> >    - How can I change the zookeeper IPs present in Kafka Broker Config at
> >    runtime without restarting Kafka?
> >
>
> This is not a supported operation. Ideally you are supporting your Kafka
> cluster with a ZooKeeper ensemble, that is resilient too to some failures
> and maintenance outages.
>
>
> >    - How can I dynamically change the Kafka Configuration at runtime
> >
>
> Thanks to KIP-226 (
>
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-226+-+Dynamic+Broker+Configuration
> )
> there are some broker configurations that can be modified without a broker
> restart. Details are in that document.
>
>
> >    - Regarding Kafka Client:
> >       - Do I need to specify all Kafka broker IP to kafkaClient for
> >       connection?
> >
>
> You need to provide enough broker IPs that guarantees the client can
> connect to at least one of them. As long as the client can talk to one
> broker it can obtain all the information it needs (by polling the metadata)
> to function.
>
>
> >       - And each and every time a broker is added or removed does I need
> to
> >       add or remove my IP in Kafka Client connection String. As it will
> > always
> >       require to restart my producer and consumers?
> >
>
> Other than providing a few brokers, a more robust solution is to refresh
> the list of available brokers at runtime. A basic approach is querying
> ZooKeeper to compile a list of available brokers, to configure the client.
>
>
> >
> > *Note:*
> >
> >    - Kafka Version: 2.0.0
> >    - Zookeeper: 3.4.9
> >    - Broker Size : (2 core, 8 GB RAM) [4GB for Kafka and 4 GB for OS]
> >
> > Regards,
> > Abhimanyu
> >
>
>
> --
>
> Thanks!
> --Vahid
>

Reply via email to