You are previewing Learning Apache Kafka - Second Edition.
O'Reilly logo
Learning Apache Kafka - Second Edition

Book Description

Start from scratch and learn how to administer Apache Kafka effectively for messaging

In Detail

Kafka is one of those systems that is very simple to describe at a high level but has an incredible depth of technical detail when you dig deeper.

Learning Apache Kafka Second Edition provides you with step-by-step, practical examples that help you take advantage of the real power of Kafka and handle hundreds of megabytes of messages per second from multiple clients. This book teaches you everything you need to know, right from setting up Kafka clusters to understanding basic blocks like producer, broker, and consumer blocks. Once you are all set up, you will then explore additional settings and configuration changes to achieve ever more complex goals. You will also learn how Kafka is designed internally and what configurations make it more effective. Finally, you will learn how Kafka works with other tools such as Hadoop, Storm, and so on.

What You Will Learn

  • Set up both single- and multi-node Kafka clusters and start sending messages

  • Understand the internals of Kafka's design and learn about message compression and replication in Kafka

  • Explore additional settings and configuration changes to achieve ever more complex goals

  • Write Kafka message producers and custom consumers using the Kafka API

  • Integrate Kafka with Apache Hadoop and Storm

  • Integrate Kafka with other tools for logging, packaging, and so on

  • Administer Kafka effectively and consistently with cluster management tools

  • Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

    Table of Contents

    1. Learning Apache Kafka Second Edition
      1. Table of Contents
      2. Learning Apache Kafka Second Edition
      3. Credits
      4. About the Author
      5. About the Reviewers
      6. www.PacktPub.com
        1. Support files, eBooks, discount offers, and more
          1. Why subscribe?
          2. Free access for Packt account holders
      7. Preface
        1. What this book covers
        2. What you need for this book
        3. Who this book is for
        4. Conventions
        5. Reader feedback
        6. Customer support
          1. Errata
          2. Piracy
          3. Questions
      8. 1. Introducing Kafka
        1. Welcome to the world of Apache Kafka
        2. Why do we need Kafka?
        3. Kafka use cases
        4. Installing Kafka
          1. Installing prerequisites
          2. Installing Java 1.7 or higher
          3. Downloading Kafka
          4. Building Kafka
        5. Summary
      9. 2. Setting Up a Kafka Cluster
        1. A single node – a single broker cluster
          1. Starting the ZooKeeper server
          2. Starting the Kafka broker
          3. Creating a Kafka topic
          4. Starting a producer to send messages
          5. Starting a consumer to consume messages
        2. A single node – multiple broker clusters
          1. Starting ZooKeeper
          2. Starting the Kafka broker
          3. Creating a Kafka topic using the command line
          4. Starting a producer to send messages
          5. Starting a consumer to consume messages
        3. Multiple nodes – multiple broker clusters
        4. The Kafka broker property list
        5. Summary
      10. 3. Kafka Design
        1. Kafka design fundamentals
        2. Log compaction
        3. Message compression in Kafka
        4. Replication in Kafka
        5. Summary
      11. 4. Writing Producers
        1. The Java producer API
        2. Simple Java producers
          1. Importing classes
          2. Defining properties
          3. Building the message and sending it
        3. Creating a Java producer with custom partitioning
          1. Importing classes
          2. Defining properties
          3. Implementing the Partitioner class
          4. Building the message and sending it
        4. The Kafka producer property list
        5. Summary
      12. 5. Writing Consumers
        1. Kafka consumer APIs
          1. The high-level consumer API
          2. The low-level consumer API
        2. Simple Java consumers
          1. Importing classes
          2. Defining properties
        3. Reading messages from a topic and printing them
        4. Multithreaded Java consumers
          1. Importing classes
          2. Defining properties
          3. Reading the message from threads and printing it
        5. The Kafka consumer property list
        6. Summary
      13. 6. Kafka Integrations
        1. Kafka integration with Storm
        2. Introducing Storm
          1. Integrating Storm
        3. Kafka integration with Hadoop
          1. Introducing Hadoop
          2. Integrating Hadoop
          3. Hadoop producers
          4. Hadoop consumers
        4. Summary
      14. 7. Operationalizing Kafka
        1. Kafka administration tools
          1. Kafka cluster tools
          2. Adding servers
          3. Kafka topic tools
        2. Kafka cluster mirroring
        3. Integration with other tools
        4. Summary
      15. Index