With respect to caps, HBase is decidedly CP. HBase makes strong consistency guarantees. If a client succeeds in writing a value, and other clients would receive the updated value on the next request.
In HBase, data was only served by one region server (even if it resides on multiple data nodes). If region server dies, clients need to wait for a long time because the fact of the region reassignment and log replay.
HBase isn ' t designed that multiple region servers can simultaneously serve the same region, because this would be difficul T or impossible to achieve otherwise features:single-row put atomicity, Atomic check-and-set operations, Atomic increment Operations, etc. That was only possible if you know for sure exactly one machine was in control of the row.
HBase does trade some availability to achieve a stronger level of consistency.
Partition tolerance in caps, in short, are the ability of a system to survive despite message loss (due to server failure, Network problem, etc.). HBase does this is course, a server failure or message loss does not damage the database. When that's happens, we give up availability or give up consistency. In HBase's case we choose consistency, so we had to give up some availability.
HBase on CAP