【HBase】 |
您所在的位置:网站首页 › 伪分布式和完全分布式区别 › 【HBase】 |
2019独角兽企业重金招聘Python工程师标准>>> Hbase 简介Hbase: Hadoop Database Hbase是非关系型数据库,随着现在互联网的数据量越来越多,需求更加多元化,传统的关系型数据库无法满足实际的业务需求,NoSql类型数据库孕育而生。 传统RDBMS缺陷: 对单机性能的要求比较高,当存储海量数据时,单机的性能可能达到顶峰仍然不能满足业务需求传统关系型数据库表的字段不能改变,对于一些个性化需求产生的非结构化数据,无法处理传统关系型数据库的容量有限,将海量数据存储在一张表中,通过分库/hash一致性等方法对数据的存储和查询效率比较低 Nosql数据库:可用于存储非结构化数据,同时采用分布式的设计基本可实现整个数据库容量的无限扩容,同时对单机的性能要求不高,基于Google的big table论文实现,HBase通过行键、列族、列实现表字段的无限扩展。 例如address字段,可将address设定为一个列族,address:provice、address:city、address:area 3个列来表示不同的地域,北京可只用address:city、address:area两个列,广东可使用address:provice、address:city、address:area三个列,这样就可满足不同地域的所有要求,如果需要引入国家,直接添加一个新的列:address:country即可,这样就可解决关系型数据库字段固定导致不灵活的缺陷 HBase 三种部署模式Hbase 部署模式:单机模式、伪分布式、完全分布式 基础:Hadoop技术体系框架基于Java开发,因此配置Hadoop框架需事先配置好JDK 注意:HBase和Hadoop存在版本匹配的关系 单机模式单机模式:Hbase单机独立运行 配置步骤: 配置$HBASE_HOME/conf/hbase-env.sh 设置JAVA_HOME环境变量:JAVA_HOME:/usr/local/jdk1.8.0_112 配置$HBASE_HOME/conf/hbase-site.xml hbase.rootdir file:///usr/local/hbase0.90.5/data解释: hbase.rootdir:hbase存放数据的目录:file://表示本地问文件系统存储(实际存储HDFS) 3. 启动Hbase: $HBASE_HOME/bin/start-hbase.sh 4. 验证Hbase是否成功启动:控制台输入jps,如果出现Hmaster的线程表示成功开启 5. hbase shell:若能成功进入shell界面,表示Hbase的启动和配置都没问题 伪分布模式伪分布模式:Hbase单机模拟Hbase数据库集群 安装步骤: 配置$HBASE_HOME/conf/hbase-env.sh 设置JAVA_HOME环境变量:JAVA_HOME:/usr/local/jdk1.8.0_112 设置export HBASE_CLASSPATH:export HBASE_CLASSPATH=/usr/local/hadoop-0.20.2/conf解释:HBASE_CLASSPATH绑定Hbase到Hadoop集群:主要是hadoop的core-site.xml 配置$HBASE_HOME/conf/hbase-site.xml hbase.rootdir file:///usr/local/hbase0.90.5/data hbase.cluster.distributed true解释:hbase.cluster.distributed :是否开启Hbase的分布式集群 Hbase和hadoop存在版本匹配问题:如果出现Hmaster无法或者创建的情况,可将主机上的Hadoop核心包hadoop-core-XXXX.jar替换HBase lib目录下的Hadoop-core-XXX.jar启动Hbase: $HBASE_HOME/bin/start-hbase.sh验证Hbase是否成功启动:控制台输入jps,如果出现Hmaster的线程表示成功开启hbase shell:若能成功进入shell界面,表示Hbase的启动和配置都没问题 完全分布式完全分布式:真实的HBase部署环境 安装步骤: 配置$HBASE_HOME/conf/hbase-env.sh 设置JAVA_HOME环境变量:JAVA_HOME:/usr/local/jdk1.8.0_112 设置export HBASE_CLASSPATH:export HBASE_CLASSPATH=/usr/local/hadoop-0.20.2/conf 去除注释:export HBASE_MANAGES_ZK=false 使用Hbase自带的ZooKeeper处理解释:HBASE_CLASSPATH绑定Hbase到Hadoop集群:主要是hadoop的core-site.xml 配置$HBASE_HOME/conf/hbase-site.xml以及regionservers文件(节点IP) hbase.rootdir file:///usr/local/hbase0.90.5/data hbase.cluster.distributed true hbase.zookeeper.quorum master,slaves01,slaves02解释:hbase.zookeeper.quorum:Zookeeper的Znode节点,也就是HBase集群每个节点服务器主机名,需在Hosts里面进行指定或者通过DNS服务器进行主机名解析,这里使用Hbase自带的Zookeeper进行处理 Hbase和hadoop存在版本匹配问题:如果出现Hmaster无法或者创建的情况,可将主机上的Hadoop核心包hadoop-core-XXXX.jar替换HBase lib目录下的Hadoop-core-XXX.jar 启动Hbase: $HBASE_HOME/bin/start-hbase.sh 验证Hbase是否成功启动:控制台输入jps,如果出现Hmaster的线程表示成功开启 hbase shell:若能成功进入shell界面,表示Hbase的启动和配置都没问题 注意:实际环境中Hbase的数据存储是构建于Hadoop HDFS基础上,只需配置hbase-site.xml文件指定HBase数据存储路径即可: hbase.rootdir master:9090/hbase解析: master:9090/hbase master:表示Hadoop集群的Namenode节点主机名9090:HDFS的服务端口,对应Hadoop core.site.xml: fs.default.name属性/hbase:HDFS的根目录上存储HBase数据目录(自动创建)HBase成功启动的界面:HMaster/HRegionServer |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |