在向Hbase读取数据的时候,Client先和zookeeper进行交互拿到要拉取的数据在那个regionserver中,找到之后,和目标regionserver交互,建立通道, 同时在读取的时候会准备一份备份在server的缓存组件blockcache中,就是说数据从regionserver中读取的顺序时的blockcache、memstore、storefile中读取需要的数据,之所以有memstore是因为有一种极端情况就是要使用的数据是过来没有排完,没来得及写入storefile的数据,因此读取时也会关注memstore
但是读的时候要知道一个事情,虽然是通过zookeeper拿到的数据存放地点,但是一个表的数据可能因为后期region的拆分的原因不都是原来的节点上的,因此会发生client一开始得到的表位置,和实际读取数据时的位置是不一样的