程序源宝宝

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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 start
C、启动HDFS集群:
[hadoop@master01 software]$ start-dfs.sh
D、启动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 regionserver
E、在终端查看:
http://master01:16010/

 

posted on 2017-12-27 12:29  程序源宝宝  阅读(201)  评论(0编辑  收藏  举报