CAP理论
CAP:一个分布式系统不能同时满足一致性,可用性,和分区容错性
C一致性:任何一个读操作总是能读取到之前完成的写操作结果,也就是在分布式环境中,多点的数据是一致的
A可用性:每个操作总是能在确定的时间内返回,也不是系统随时都能正常运行
P分区容错性:在出现断网情况下,分离的系统也能正常运行
BASE
(ACID)关系型数据库:一致,隔离,原子,持久
BASE是反关系型数据库:牺牲高一致性,获得可用性。
BA:基本可用
S:软状态,可以有一段时间不同步
E:最终一致,而不是时时一致
架构
HMaster:是Hbase集群的主节点,管理和分配Region,实现RegionServer的负载均衡,发现失效的RegionServer并重新分配其上的Region
RegionServer:负责管理维护Region,RegionServer存放在DateNode上
Hlog:进行一个写请求,会首先写到MemStore上,等到Memstore到达一定容量后,才会flush到storefile中。
BlockCache :块缓存 (包括日志信息和数据信息)(读缓存)
Region:一个Regionserver有很多region,保存分片信息
一个Hstore作为一个存储区,存放列簇 和缓存
StoreFile(HFile)存一个列簇
MenStore小缓存(写缓存) 缓冲区 达到阈值写入storeFile
搭建HBASE
1.安装Zookeeper
修改zookeeper配置文件
zoo.cfg
修改其中dataDir=xxx
server.1=ip:2287:3387
开启zookeeper:
zkServer.sh start
jps:若有QuorumPeerMain 则启动成功
添加环境变量
2.HBASE
Hbase-env.sh
export JAVA_HOME=
export HBASE_MANAGES_ZK=false
hbase-site.sh
<!—hbase.rootdir 将数据写入哪个目录 如果是单机版只要配置此属性就可以,value中file:/绝对路径,如果是分布式则配置与hadoop的core-site.sh服务器、端口以及zookeeper中事先创建的目录一致-->
<property>
<name>hbase.rootdir</name>
<value>hdfs://192.168.220.129:9000/hbase</value>
</property>
<!—单机模式不需要配置,分布式配置此项为true-->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!—单机模式不需要配置 分布是配置此项为zookeeper指定的物理路径名-- >
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/cm/hbase</value>
</property>
添加环境变量
HBASE启动命令
start-hbase.sh
进入HBASE
hbase shell
Sqoop
sqoop具体使用:
https://www.cnblogs.com/qingyunzong/p/8807252.html