O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

HBase High Performance Cookbook

Book Description

Exciting projects that will teach you how complex data can be exploited to gain maximum insights

About This Book

  • Architect a good HBase cluster for a very large distributed system
  • Get to grips with the concepts of performance tuning with HBase
  • A practical guide full of engaging recipes and attractive screenshots to enhance your system's performance

Who This Book Is For

This book is intended for developers and architects who want to know all about HBase at a hands-on level. This book is also for big data enthusiasts and database developers who have worked with other NoSQL databases and now want to explore HBase as another futuristic scalable database solution in the big data space.

What You Will Learn

  • Configure HBase from a high performance perspective
  • Grab data from various RDBMS/Flat files into the HBASE systems
  • Understand table design and perform CRUD operations
  • Find out how the communication between the client and server happens in HBase
  • Grasp when to use and avoid MapReduce and how to perform various tasks with it
  • Get to know the concepts of scaling with HBase through practical examples
  • Set up Hbase in the Cloud for a small scale environment
  • Integrate HBase with other tools including ElasticSearch

In Detail

Apache HBase is a non-relational NoSQL database management system that runs on top of HDFS. It is an open source, disturbed, versioned, column-oriented store and is written in Java to provide random real-time access to big Data.

We'll start off by ensuring you have a solid understanding the basics of HBase, followed by giving you a thorough explanation of architecting a HBase cluster as per our project specifications. Next, we will explore the scalable structure of tables and we will be able to communicate with the HBase client. After this, we'll show you the intricacies of MapReduce and the art of performance tuning with HBase. Following this, we'll explain the concepts pertaining to scaling with HBase. Finally, you will get an understanding of how to integrate HBase with other tools such as ElasticSearch.

By the end of this book, you will have learned enough to exploit HBase for boost system performance.

Style and approach

This book is intended for software quality assurance/testing professionals, software project managers, or software developers with prior experience in using Selenium and Java to test web-based applications. This books also provides examples for C#, Python, and Ruby users.

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 code file.

Table of Contents

  1. HBase High Performance Cookbook
    1. Table of Contents
    2. HBase High Performance Cookbook
    3. Credits
    4. About the Author
    5. About the Reviewer
    6. www.PacktPub.com
      1. eBooks, discount offers, and more
        1. Why Subscribe?
    7. Customer Feedback
    8. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Sections
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
        5. See also
      5. Conventions
      6. Reader feedback
      7. Customer support
        1. Downloading the example code
        2. Errata
        3. Piracy
        4. Questions
    9. 1. Configuring HBase
      1. Introduction
      2. Configuring and deploying HBase
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
        5. See Also
      3. Using the filesystem
        1. Getting ready
        2. How to do it…
          1. The HBase setup
          2. Starting the cluster
          3. Validating the cluster
        3. How it works…
        4. There is more…
        5. See also
      4. Administering clusters
        1. Getting ready
        2. How to do it…
          1. Log dump
          2. Metrics dump
        3. How it works…
        4. See also
      5. Managing clusters
        1. Getting ready
          1. gmond
          2. gmetad
          3. gweb
        2. How to do it…
          1. Ganglia setup
        3. How it works…
        4. There is more…
        5. See also
    10. 2. Loading Data from Various DBs
      1. Introduction
      2. Extracting data from Oracle
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
        5. See also…
      3. Loading data using Oracle Big data connector
        1. Getting Ready
        2. How to do it…
        3. How it works…
        4. There's more…
        5. See also…
      4. Bulk utilities
        1. Getting ready...
        2. How to do it…
        3. How it works…
        4. See also…
      5. Using Hive with Apache HBase
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. See also…
      6. Using Sqoop
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
          1. Data compression
          2. Parallelism
          3. See also…
    11. 3. Working with Large Distributed Systems Part I
      1. Introduction
      2. Scaling elastically or Auto Scaling with built-in fault tolerance
        1. How to do it…
        2. How it works…
        3. There's more…
        4. See also
      3. Auto Scaling HBase using AWS
        1. Getting Ready
        2. How to do it…
        3. There's more…
        4. See also
      4. Works on different VM/physical, cloud hardware
        1. Getting ready
        2. How to do it…
        3. There's more…
        4. See also
    12. 4. Working with Large Distributed Systems Part II
      1. Introduction
        1. Seek versus transfer
        2. The log-structured merge-tree
        3. Date Read
        4. Data Delete
        5. Storage
      2. Read path
        1. How to do it…
        2. There's more…
      3. Write Path
        1. How to do it…
        2. How it works…
        3. There's more…
        4. Transactions (ACID) and multiversion concurrency control (MVCC)
      4. Snappy
        1. How to do it…
        2. How it works…
        3. There's more…
      5. LZO compression
        1. How to do it…
        2. How it works...
        3. There's more…
      6. LZ4 compressor
        1. How to do it…
        2. There's more…
      7. Replication
        1. How to do it…
          1. Deploying Master-Master or Cyclic Replication
        2. How it works...
        3. There's more…
          1. Disabling Replication at the Peer Level
    13. 5. Working with Scalable Structure of tables
      1. Introduction
      2. HBase data model part 1
        1. How to do it…
        2. How it works…
        3. There's more…
      3. HBase data model part 2
        1. How to do it…
        2. How it works…
        3. There's more…
      4. How HBase truly scales on key and schema design
        1. How to do it…
        2. See also
    14. 6. HBase Clients
      1. Introduction
      2. HBase REST and Java Client
        1. How to do it…
        2. How it works…
        3. There's more…
      3. Working with Apache Thrift
        1. How to do it…
        2. How it works…
        3. There's more…
      4. Working with Apache Avro
        1. How to do it…
        2. How it works…
        3. There's more…
      5. Working with Protocol buffer
        1. How to do it…
        2. There's More…
      6. Working with Pig and using Shell
        1. How to do it…
        2. How it works…
        3. There's more…
    15. 7. Large-Scale MapReduce
      1. Introduction
        1. Getting Ready…
        2. How to do it…
        3. How it works…
        4. There's more…
          1. When not to use MapReduce
        5. See also…
    16. 8. HBase Performance Tuning
      1. Introduction
      2. Working with infrastructure/operating systems
        1. Getting ready…
        2. How to do it…
      3. Working with Java virtual machines
        1. Getting ready…
        2. How to do it…
        3. See also
      4. Changing the configuration of components
        1. Getting ready…
        2. How to do it…
        3. See also
      5. Working with HDFS
        1. How to do it…
        2. See also….
    17. 9. Performing Advanced Tasks on HBase
      1. Machine learning using Hbase
        1. Getting ready
        2. How to do it…
          1. RDBMS
          2. A plain Java program (static)
        3. There's more…
      2. Real-time data analysis using Hbase and Mahout
        1. How to do it…
        2. How it works...
        3. There's More…
      3. Full text indexing using Hbase
        1. Getting ready
        2. How to do it…
        3. How it works…
        4. There's more…
    18. 10. Optimizing Hbase for Cloud
      1. Introduction
      2. Configuring Hbase for the Cloud
        1. How to do it…
        2. How it works…
      3. Connecting to an Hbase cluster using the command line
        1. How to do it…
        2. How it works…
      4. Backing up and restoring Hbase
        1. How to do it…
        2. How it works…
      5. Terminating an HBase cluster
        1. How to do it…
      6. Accessing HBase data with hive
        1. How to do it …
      7. Viewing the Hbase user interface
        1. How to do it …
      8. Monitoring HBase with CloudWatch
      9. Monitoring Hbase with Ganglia
        1. How it works…
        2. There is more …
    19. 11. Case Study
      1. Introduction
      2. Configuring Lily Platform
        1. How to do it…
        2. There's more…
      3. Integrating elastic search with Hbase
      4. Configuring
        1. How to do it…
        2. There's more…
    20. Index