热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

HBase讲解及部署

HBase是一个NoSQL数据库什么是NoSQL数据库?         基于Key-value 来保存数据 &n

HBase 是一个 NoSQL 数据库

什么是 NoSQL 数据库?
            基于 Key-value  来保存数据
            NoSQL 数据库不支持事物
        
常见的 NoSQL 数据库:
    HBase:  基于 HDFS ,面向列的数据库
                表     ---->  目录
                数据 ---->  文件
                
        Redis:  基于内存的一个 NoSQL 数据库, 支持持久化(RDB,AOF)
            前身: MemCached    不支持持久化
                
        MongoDB: 文档型的 NoSQL 数据库(BSON文档,JSON的二进制)
        
        Cassandra:  面向列的 NoSQL 数据库

HBase 的表结构

article(表)

rowkey
内容
作者
评论
标题
正文

用户
内容
文章1
先有鸡还是先有蛋
……
某人
喷手
鸡都不造你是肿么造的
文章……
……
……………………


体系结构

HBase讲解及部署

HBase讲解及部署


HBase 环境部署:

            本地模式   ---1台主机: 不需要 HDFS ,直接把数据存在操作系统上

                      1. 安装 JAVA 环境,修改环境变量

                      2. 安装 HBase

            伪分布模式---1台主机: 需要HDFS 支持,数据直接存在 HDFS 上

                      1. 安装 JAVA 环境,修改环境变量

                      2. 部署 HDFS 伪分布式

                      3. 部署 HBase 伪分布式

            全分布模式---3台主机: 需要HDFS 支持,数据直接存在 HDFS 上

                      1. 安装 JAVA 环境,修改环境变量

                      2. 部署 HDFS 全分布式

                      3. 部署 HBase 全分布式

            HA 全分布模式---3台主机


        环境部署前期准备:

            设置环境变量  vi ~/.bash_profile
                HBASE_HOME=/root/training/hbase-1.3.1
                export HBASE_HOME

                PATH=$HBASE_HOME/bin:$PATH
                export PATH

        本地模式:
        hbase-env.sh
                28 export JAVA_HOME=/root/training/jdk1.8.0_144
                
        hbase-site.xml
                
                   hbase.rootdir
                   file:///root/training/hbase-1.3.1/data
                

         启动 HBase:  start-hbase.sh


伪分布模式
        hbase-env.sh
                129 export HBASE_MANAGES_ZK=true
                
        hbase-site.xml
                
                   hbase.rootdir
                   hdfs://192.168.157.11:9000/hbase
                


                
                   hbase.cluster.distributed
                   true
                


                
                   hbase.zookeeper.quorum
                   192.168.157.11
                


                
                   dfs.replication
                   1
                
            

        regionservers
                192.168.157.11

          启动 HBase:  start-hbase.sh       

全分布模式
        hbase-site.xml
            
               hbase.rootdir
               hdfs://192.168.157.12:9000/hbase
            


            
               hbase.cluster.distributed
               true
            


            
               hbase.zookeeper.quorum
               192.168.157.12
            


            
               dfs.replication
               2
            
            

            
               hbase.master.maxclockskew
               180000
            
                    
                
        regionservers
                192.168.157.13
                192.168.157.14
                
        scp -r hbase-1.3.1/ root@bigdata13:/root/training
        scp -r hbase-1.3.1/ root@bigdata14:/root/training

         启动 HBase:  start-hbase.sh

HBase的HA
        不需要额外配置,只用在其中一个从节点上单点启动Hmaster

         启动 HBase:  start-hbase.sh

        bigdata13:hbase-daemon.sh start master


HBase Web Console网页端口:16010


HBase 命令行操作:

         进入命令行:hbase  shell

            查看:

                    查看表:list

                    查询数据:

                             scan   相当于  select   *  from   表名

                            get    相当于  select  *   from  表名  where  rowkey=?

                   插入数据:

                            put   '表', ' 行',  '列族:列名',   '值'

                            put   'students',  'stu1',  'info:name', 'Tom'

                  清空表中的数据:

                            truncate  '表名'   ---------> 其实质就是先删除表,然后再创建

                            truncate   'students'

                  删除表:

                            disable  '表名'

                            drop   '表名'



推荐阅读
  • 本文介绍如何使用 Android 的 Canvas 和 View 组件创建一个简单的绘图板应用程序,支持触摸绘画和保存图片功能。 ... [详细]
  • 近期我们开发了一款包含天气预报功能的万年历应用,为了满足这一需求,团队花费数日时间精心打造并测试了一个稳定可靠的天气API接口,现正式对外开放。 ... [详细]
  • 本文探讨了SSDP(简单服务发现协议)和WSD(Web服务发现)协议,特别是SSDP如何通过固定多播地址239.255.255.250:1900实现局域网内的服务自发现功能。文中还详细介绍了SSDP协议的关键操作类型及其应用场景。 ... [详细]
  • 字节跳动夏季招聘面试经验分享
    本文详细记录了字节跳动夏季招聘的面试经历,涵盖了一、二、三轮面试的技术问题及项目讨论,旨在为准备类似面试的求职者提供参考。 ... [详细]
  • MapReduce原理是怎么剖析的
    这期内容当中小编将会给大家带来有关MapReduce原理是怎么剖析的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1 ... [详细]
  • 本文详细记录了一次 HBase RegionServer 异常宕机的情况,包括具体的错误信息和可能的原因分析。通过此案例,探讨了如何有效诊断并解决 HBase 中常见的 RegionServer 挂起问题。 ... [详细]
  • 本文介绍了在Java环境中使用PDFBox和XPDF工具从PDF文件中提取文本内容的方法。重点讨论了处理中文字符集及解决相关错误的技术细节,特别是针对某些特定格式的PDF文件(如网上填写的报名表和下载的论文)遇到的问题及解决方案。 ... [详细]
  • 深入解析Java枚举及其高级特性
    本文详细介绍了Java枚举的概念、语法、使用规则和应用场景,并探讨了其在实际编程中的高级应用。所有相关内容已收录于GitHub仓库[JavaLearningmanual](https://github.com/Ziphtracks/JavaLearningmanual),欢迎Star并持续关注。 ... [详细]
  • 本文将详细探讨 Linux 系统中的 netstat 命令,该命令用于查看网络状态和连接情况。通过了解 IP 地址和端口的基本概念,我们将更好地理解如何利用 netstat 命令来监控和管理网络服务。 ... [详细]
  • 优化使用Apache + Memcached-Session-Manager + Tomcat集群方案
    本文探讨了使用Apache、Memcached-Session-Manager和Tomcat集群构建高性能Web应用过程中遇到的问题及解决方案。通过重新设计物理架构,解决了单虚拟机环境无法真实模拟分布式环境的问题,并详细记录了性能测试结果。 ... [详细]
  • 近期参与了一个旨在提高在线平台大规模查询响应速度的项目,预计处理的数据量为2-3亿条,数据库并发量约为每秒1500次,未来可能增至3000次。通过对比Redis和MongoDB,最终选择了MongoDB,因其具备优秀的横向扩展性和GridFS支持下的Map/Reduce功能。 ... [详细]
  • 深入理解Play Framework 1.2.7中的缓存机制
    本文探讨了Play Framework 1.2.7版本中提供的缓存解决方案,包括Ehcache和Memcached的集成与使用。文章详细介绍了缓存相关的类及其功能,以及如何通过配置选择合适的缓存实现。 ... [详细]
  • 开发笔记:Mongodb副本集集群搭建 ... [详细]
  • 构建高性能Feed流系统的设计指南
    随着移动互联网的发展,Feed流系统成为了众多社交应用的核心组成部分。本文将深入探讨如何设计一个高效、稳定的Feed流系统,涵盖从基础架构到高级特性的各个方面。 ... [详细]
  • 本文详细介绍了如何在PHP中使用Memcached进行数据缓存,包括服务器连接、数据操作、高级功能等。 ... [详细]
author-avatar
觅树知音
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有