最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
打印 上一主题 下一主题
开启左侧

[Hbase] NoSQL数据库之:HBase

[复制链接]
跳转到指定楼层
楼主
发表于 2019-3-30 21:23:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
一、NoSQL的基础、常见的NoSQL数据库
        1、not only sql
        2、回顾:关系型数据库: Oracle、MySQL等等 -----> 面向行:适合insert update delete
        3、常见的NoSQL数据库
                (*)基于Key-Value模型:Redis(内存)-----> 前身:MemCached(不足:不支持持久化)
                (*)面向列的模型:HBase、Cassandra------> 适合 select
                (*)基于文档型:MongoDB  -----> 文档:BSON文档 是json的二进制
                        举例:设计一个数据库,保存电影的信息

二、HBase的表结构和体系结构



三、搭建HBase环境
        tar -zxvf hbase-1.3.1-bin.tar.gz -C ~/training/
        设置环境变量  vi ~/.bash_profile
        HBASE_HOME=/root/training/hbase-1.3.1
        export HBASE_HOME


        PATH=$HBASE_HOME/binPATH
        export PATH
        source ~/.bash_profile
        1、本地模式:  不需要HDFS,保存在Linux的文件系统
            bigdata111配置
               
                建个目录: mkdir data
                修改文件:hbase-env.sh
                        export JAVA_HOME=/root/training/jdk1.8.0_144
               
                核心配置文件:  conf/hbase-site.xml
                        <property>
                          <name>hbase.rootdir</name>
                          <value>file:///root/training/hbase-1.3.1/data</value>
                        </property>
                启动HBase:start-hbase.sh
                starting master, logging to /root/training/hbase-1.3.1/logs/hbase-root-master-bigdata111.out
                只有HMaster       
        2、伪分布模式(bigdata111)
                修改文件:hbase-env.sh
                        HBASE_MANAGES_ZK        true  ---> 使用HBase自带的ZK
                       
                核心配置文件:  conf/hbase-site.xml
               
                        <!--HBase的数据保存在HDFS对应目录-->
                        <property>
                          <name>hbase.rootdir</name>
                          <value>hdfs://192.168.157.111:9000/hbase</value>
                        </property>       
                        <!--是否是分布式环境-->
                        <property>
                          <name>hbase.cluster.distributed</name>
                          <value>true</value>
                        </property>                       


                        <!--配置ZK的地址-->
                        <property>
                          <name>hbase.zookeeper.quorum</name>
                          <value>192.168.157.111</value>
                        </property>                               


                        <!--冗余度-->
                        <property>
                          <name>dfs.replication</name>
                          <value>1</value>
                        </property>       
                文件regionservers:配置从节点地址
                        192.168.157.111
                       
        3、全分布模式:bigdata112  bigdata113  bigdata114
                修改文件:hbase-env.sh
                        export JAVA_HOME=/root/training/jdk1.8.0_144
                        HBASE_MANAGES_ZK        true  ---> 使用HBase自带的ZK
                核心配置文件:  conf/hbase-site.xml
                        <!--HBase的数据保存在HDFS对应目录-->
                        <property>
                          <name>hbase.rootdir</name>
                          <value>hdfs://192.168.157.112:9000/hbase</value>
                        </property>       
                        <!--是否是分布式环境-->
                        <property>
                          <name>hbase.cluster.distributed</name>
                          <value>true</value>
                        </property>                       
                        <!--配置ZK的地址-->
                        <property>
                          <name>hbase.zookeeper.quorum</name>
                          <value>192.168.157.112</value>
                        </property>                               
                        <!--冗余度-->
                        <property>
                          <name>dfs.replication</name>
                          <value>2</value>
                        </property>       
                        <!--主节点和从节点允许的最大时间误差-->
                        <property>
                          <name>hbase.master.maxclockskew</name>
                          <value>180000</value>
                        </property>       
                文件regionservers:配置从节点地址
                        192.168.157.113
                        192.168.157.114
                复制到其他节点上
                        scp -r hbase-1.3.1/ root@bigdata113:/root/training
                        scp -r hbase-1.3.1/ root@bigdata114:/root/training
四、HBase在ZK中保存的数据和HA
        1、HBase在ZK中保存的数据

        2、在bigdata113再手动启动一个HMaster
                hbase-daemon.sh start master
五、操作HBase
        1、命令行
                创建表: create 'student','info','grade'
                插入数据: put 'student','stu001','info:name','Tom'
                          put 'student','stu001','info:age','24'
                                  put 'student','stu001','info:gender','Male'
                                  put 'student','stu001','grade:math','80'
                                  put 'student','stu002','info:name','Mike'
                查询:scan 'student'
                      get格式: get '表名','行键'
                                   get 'student','stu001'
                                          
                删除表:disable 'student'
                        drop 'student'





        2、Java API
       
        3、Web Console: 端口 16010




六、数据保存的过程(重要:一定要注意Region分裂)








七、HBase的过滤器(Java程序):实现复杂的查询,类似where条件
        准备测试数据:emp表 员工表




        1、列值过滤器
        2、列名前缀过滤器
        3、多个列名前缀过滤器
        4、Rowkey过滤器
        5、在查询的时候,可以组合多个过滤器




八、HBase上的MapReduce
        测试数据:WordCount
        create 'word','content'
        put 'word','1','content:info','I love Beijing'
        put 'word','2','content:info','I love China'
        put 'word','3','content:info','Beijing is the capital of China'
       
        结果: create 'result','content'
       
        设置环境变量
        export hadoop_CLASSPATH=$HBASE_HOME/lib/*CLASSPATH
---------------------
作者:小鹏求知
来源:CSDN
原文:https://blog.csdn.net/u011081244/article/details/80205919
版权声明:本文为博主原创文章,转载请附上博文链接!

楼主热帖
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 赞 踩

168大数据 - 论坛版权1.本主题所有言论和图片纯属网友个人见解,与本站立场无关
2.本站所有主题由网友自行投稿发布。若为首发或独家,该帖子作者与168大数据享有帖子相关版权。
3.其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和168大数据的同意,并添加本文出处。
4.本站所收集的部分公开资料来源于网络,转载目的在于传递价值及用于交流学习,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
5.任何通过此网页连接而得到的资讯、产品及服务,本站概不负责,亦不负任何法律责任。
6.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源,若标注有误或遗漏而侵犯到任何版权问题,请尽快告知,本站将及时删除。
7.168大数据管理员和版主有权不事先通知发贴者而删除本文。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-5-4 00:16

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表