Hbase 1.介绍 是分布式面向列的数据库,构建在hadoop之上,类似于google的big table,对海量结构化数据的快速随机访问。是hadoop生态系统的一部分,提供随机实时读写。 2.Hbase和Hadoop的区别 HDFS Hbase 1.分布式文件系统,存储大量数据 数据库,构建于HDFS之上 2.不支持快速单个记录查找 支持大表的快速查找 3.提供了高延迟批处理 提供了单行记录低延迟随机访问(10亿级别) 4.只提供数据按序访问 内部使用hash表提供的随机访问,在HDFS上存放索引文件,用于快速查找。 Hbase存储机制 1.面向列族的数据库,适用于海量数据的随机读写 2.Table中只定义了列族,表按照row存储 3.术语 table:表,是row的集合。 row:行,是列族的集合。 column family:列族,是列的集合。 column:列,是kv对集合。 4.面向行和面向列的区别 row column a.适合于OLTP 适合于OLAP b.针对行列较少的 大表 5.Hbse和RDBMS区别 Hbase RBDMS a.是无模式的,没有列的定义 有模式的,描述整个的表结构 只定义列族,列是key b.适合于宽表,水平伸缩 适合于小表,难于扩展。 c.没有事务支持 事务性的 d.不是规范化的 规范化的 e.结构化和半结构化的 结构化的 Hbase架构 1.master-slave主从结构 2.table从垂直方向进行切割,分成若干个区域。由每个regionserver进行处理。 3.master server(ms) a.负责指派region给rs,通过ZK获得Task的帮助。 b.处理跨rs的region的负载均衡问题 c.从繁忙服务器到空闲服务器之间的数据转载。 d.通过裁定和,负载均衡判断集群的状态。 4.region 被切割的表,跨rs 5.region server(rs) 和客户端通信 处理数据操作 处理它下面的所有region的读写请求 通过阀值决定region size Hbase安装 1.下载http://apache.fayea.com/hbase/stable/ 2.解压复制建立符号链接 3.配置环境变量 vim /etc/environment HABASE_HOME=/soft/hbase :/soft/hbase/bin source /etc/environment 4.配置hbase的本地模式 [hbase/confi/hbase-site.xml] <property> <name>hbase.rootdir</name> <valuse>file:///home/hadoop/hbase/root</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <valuse>/home/hadoop/hbase/zk</value> </property> 建立对应的文件夹 5.start-hbase.sh 6.jps=>HMaster 部署 hbase/conf/hbase-site.xml 1.local hbase.rootdir=file:/// 素有hbase程序和zk运行同一个jvm中 2.psesudo(伪分布式) hbase.rootdir=hdfs://s100:8020/hbase dfs.replication=1 3.完全分布式 [conf/hbase-site.xml] hbase.rootdir=hdfs://s100:8020/hbase dfs.replication=3 hbase.cluster.distributed=true #zk conf <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>s101,s102,s103</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hadoop/hbase/zk</value> </property> [conf/regionservers] s101 s102 s103 b.分发配置 [hbase安装配置] $>--删除/hbase/docs $>xsync /soft/hbase $>xsync /soft/hbase-1.2.5 $root>xsync /etc/environment $>reboot//重启客户机 c.启动hbase集群,一定要在master主机启动(s100) $>start-hbase.sh d.查看进程 $>xcall jps hmaster //master hregionserver //regionserver hquorumpeer //zk e.查看webui http://hmaster:16010 //master webui http://s101:16030 //regionserver webui hbase常用命令 $>start-hbase.sh //启动集群 $>stop-hbase.sh //停止集群 hbase shell $>hbase shell //查看shell帮助 $hbase>help //查看帮助 $hbase>help general //查看组帮助 $hbase>create 't1',{name=>'f1'} $hbase>put 't1','row1','f1:name','tom' $hbase>delete 't1','row1','f1:name','tom' $hbase>get + scan 查询 $hbase>create $hbase>disable //禁用表 $hbase>drop //删除表
转载请注明:MitNick » Hbase架构、存储机制、安装及与hadoop的区别