HBase随笔:
--------------1、HBase数据存放在hdfs集群中,是一个大表,写操作使用MapReduce处理,将(增删改)处理结果放入HBase中,读就直接读HBase,HBase的并发量在1000左右,常用的关系型数据库MySql的并发量在300到500之间,原因在于HBase启用了缓存技术.HBase中的块的单位是64k,每次读取数据以块为单位加载数据到内存中,加载到内存中的数据形同一个散列表,散列表以Key-Value的键值对方式存储,HDFS中存储的数据收到HBase的元数据管理,这种管理方式与Hive雷同,即HBase通过Zookeeper集群管理元数据,通过HDFS集群管理业务数据2、数据存储以Region作为单位(行的集合),一个Region的默认大小为128M
3、因为HBase是基于键值对(读时以块为单位读)的一个NOSQL数据库,Redis的读写纯粹是基于键值对,Redis的并发量在十万左右,并发能力高,
但没有副本机制,数据容易丢失,而HBase基于HDFS集群,具有副本机制,数据安全度高4、使用关联评估算法(属于机器学习)
HBase架构原理
------------- 1、客户端链接zookeeper集群,申请写数据 2、zookeeper返回一个地址列表给客户端 3、客户端根据地址列表链接slave节点写数据,并反馈状态 ------------slave节点会主动上报存储状态及工况信息到master ------------master则主动将元数据上报zookeeper集群 4、客户端告知zookeeper记录和状态
HBase集群搭建与基础运维操作
--------------------------A、安装HBase集群--------------- A1、解压安装包 [hadoop@master01 install]$ tar -zxcf hbase-1.2.6-bin.tar.gz -C /software/A2、系统配置环境变量
#配置/etc/profile [hadoop@master01 software]$ su -lc "vi /etc/profile" JAVA_HOME=/software/jdk1.7.0_79 HADOOP_HOME=/software/hadoop-2.7.3 HBASE_HOME=/software/hbase-1.2.6 PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/lib:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin export PATH JAVA_HOME HADOOP_HOME HBASE_HOME#分发系统配置文件
[hadoop@master01 software]$ su -lc "scp -r /etc/profile slaver03:/etc/" [hadoop@slaver03 software]$ source /etc/profile 配置HBase集群文件 ----------------- [hadoop@master01 software]$ cd hbase-1.2.6/conf/ [hadoop@master01 conf]$ vi hbase-env.sh -------- 29 export JAVA_HOME=/software/jdk1.7.0_79 132 export HBASE_MANAGES_ZK=false -------- [hadoop@master01 conf]$ vi hbase-site.xml 指定 <configuration> <property> <name>hbase.rootdir</name> <value>hdfs://ns1/userase</value> </property> 指定HBase为分布式 <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> 指定zookeeper集群节点 <property> <name>hbase.zookeeper.quorum</name> <value>slaver01:2181,slaver02:2181,slaver03:2181</value> </property> </configuration> 指定HBase从节点: [hadoop@master01 conf]$ vi regionservers [hadoop@master01 conf]$ cat regionservers slaver01 slaver02 slaver03 #将hbase安装环境拷贝到三个从节点上: [hadoop@master01 software]$ scp -r hbase-1.2.6/ slaver01:/software/ #将hdfs的配置文件放到hbase安装目录下的conf路径下(每个节点都要操作); [hadoop@master01 software]$ cp -a /software/hadoop-2.7.3/etc/hadoop/{core-site.xml,hdfs-site.xml} /software/hbase-1.2.6/conf/B、启动zookeeper集群: [hadoop@slaver01 software]$ cd zookeeper-3.4.10/bin/ && ./zkServer.sh startC、启动HDFS集群: [hadoop@master01 software]$ start-dfs.shD、启动HBase: [hadoop@master01 software]$ start-hbase.sh 在master02上启动HBase: [hadoop@master02 software]$ hbase-daemon.sh start master 手动启动slaver节点上的 regionserver进程: [hadoop@slaver01 software]$ hbase-daemon.sh start regionserverE、在终端查看: http://master01:16010/
posted on 2017-12-27 12:29 阅读( ...) 评论( ...)