1 一个hadoop data node上运行一个region server
region server和data node在同一台机器上,这样就保证了数据的局部性。
2 hbase region server的构成
2.1 WAL
write ahead log。
2.2 MemStore
写缓存。
2.3 BlockCache
读缓存。
2.4 Hfile
3 hbase写数据的过程
数据先写入WAL中,写完之后,再写入MemStore中,当MemStore写了足够的数据之后,最后写入一个新的Hfile文件中。
3 Hfile文件的结构
4 hbase client和hbase交互的过程
5 zookeeper的部署
master、slaves每台机器上都要启动。它会自己选择一台机器作为leader,其它的作为follower。
由于zookeeper需要知晓所有机器的情况,因此在所有的机器上都是需要运行的。
6 HMaster为什么也要放在data node上,而不能放在name node上
因为对于hdfs来说,数据都是存放在data node上的,而相对于hdfs来说,hmaster也是数据,所以,它应该放在data node上。
另外,处于稳定性考虑,name node是管理整个hdfs的,为了保证它的稳定性,也不应该将hmaster放在其上。