How To Install Distributed NoSQL Database Apache Hbase On Windows Using Anaconda

Hbase is NoSQL distributed scalable Hadoop database by Apache which scales horizontally very well. The data in Hbase is column-oriented database in which structured data is stored in key value pairs. Hbase is written in Java. Hbase is inspired from Google Paper - "Bigtable: A Distributed Storeage System for Structured Data". Hbase is used primarily where very fast read-write access is needed. In this post I will show how to install Apache Hbase on Windows. Hbase can be used independent of Hadoop.

Hbase features:

  • Linearly scalable.
  • Consistent reads and writes.
  • Automatic and configurable sharding of tables
  • Automatic fail over support for Region Servers.
  • Integration with Hadoop, both as a source and a destination.
  • Easy to use Java based API for client access.
  • Low latency access to single rows from billions of records.
  • Fast lookup for larger tables.
  • Thrift gateway and a REST-ful Web service that supports XML, Protobuf, and binary data encoding options
  • Extensible jruby-based (JIRB) shell
  • Support for exporting metrics via the Hadoop metrics subsystem to files or Ganglia; or via JMX


I don't have Hadoop installed. I will be installing Hbase without Hadoop. Hbase can be installed on single machine or on a small cluster.

Before we start, make sure you have hbase installed and working. If not do following to install hbase.

Download Apache hbase from following...

https://www.apache.org/dyn/closer.lua/hbase/2.2.3/hbase-2.2.3-src.tar.gz

unzip and untar the file. Now we need to set the system variable HBASE_HOME to the hbase directory.

Go to windows > Environment Variables and add new HBASE_HOME system variable.

You would need to edit couple of more files to enable hbase on Windows. Refer to following link to know more about this...

https://www.solutionmandi.com/2018/11/hbase-installation-on-windows-10.html

One you have done that, do following in your windows command prompt to see if it is working properly.

hbase -version

Lets start the hbase.

Go to windows command prompt and run following command...

start-hbase.cmd

Once you have successfully started hbase. We need to install front end client to access hbase now.

There are following clients available to access Hbase.

Clients

  1. asynchbase - Fully asynchronous, non-blocking HBase client.
  2. gohbase - Pure Go client for HBase.
  3. happybase - Python client for HBase.

I will use happybase to access Hbase.

Best way to install happybase is using Anaconda. Assuming you have Anaconda 3.7 installed.

Lets first bring up the Anaconda command prompt up and run following command to install hbase.

conda install -c conda-forge happybase

Once installed, you should see output like this.

Thats it now you can invoke ipython and access hbase using python.