• HBase安装过程


    1).上传,解压,重命名,修改环境变量/etc/profile

    2).修改 hbase-env.sh 文件

    export JAVA_HOME=/usr/java/jdk1.7.0_27 //Java 安装路径
    export HBASE_CLASSPATH=/hadoop/hbase-0.96.2 //HBase 类路径
    export HBASE_MANAGES_ZK=true //由 HBase 自己负责启动和关闭 Zookeeper

    3).编辑 hbase-site.xml 文件

    <property>
        <name>hbase.rootdir</name>
        //hbase 中数据存放的HDFS根路径
        <value>hdfs://hadoop01:9000/hbase</value>
    </property>
    <property>
        <name>hbase.cluster.distributed</name>
        //hbase 是否安装在分布式环境中
        <value>true</value>
    </property>
    <property>
        //指定 Hbase 的 ZK 节点位置,由于上述已指定 Hbase 自己管理 ZK
        <name>hbase.zookeeper.quorum</name>
        <value>hadoop01</value>
    </property>
    <property>
        <name>dfs.replication</name>
        //伪分布环境,副本数为 1
        <value>1</value>
    </property>

    4).(可选)文件regionservers

    //这个文件指定了 regionservers,即子节点所在的位置
    hadoop01(即本机主机名或IP)

    5).启动 HBase

    ******启动 hbase 之前,确保 hadoop 是运行正常的,并且可以写入文件*******

    启动脚本:start-hbase.sh
    验证方式:(1)执行 jps,发现新增加了 3 个 java 进程,分别是 HMaster、HRegionServer、HQuorumPeer
    (2)使用浏览器访问 http://hadoop01:60010

    6).shell 操作

    命令:hbase shell 进入 shell 操作的终端。

    ***对于在使用 SecureCRT 在 shell 终端无法使用删除键的问题:在 secureCRT 中,点击【选项】【会话选项】【终端】【仿真】,右边的终端选择 linux,在 hbase shell 中如输入出错,按住 Ctrl+删除键 即可删除!

    7).基本操作

     创建表  Create

    --Create '表名称','列族1','列族2','列族N'

    --【注意结尾处没有;】【RowKey 是天然自带的,不用手动指定

     查看表信息  List 和 Describe

     

     插入数据  Put

    --Put '表名','行键Row Key','列族:列','列值'
    put 'users','xiaoming','user_id:id','007' --批量插入,每行结尾木有; put 'users','xiaoming','info:age','24' put 'users','xiaoming','info:birthday','1987-06-17' put 'users','xiaoming','info:company','alibaba' put 'users','xiaoming','address:contry','china' put 'users','xiaoming','address:province','zhejiang' put 'users','xiaoming','address:city','hangzhou' put 'users','zhangyifei','info:birthday','1987-4-17' put 'users','zhangyifei','info:favorite','movie' put 'users','zhangyifei','info:company','alibaba' put 'users','zhangyifei','address:contry','china' put 'users','zhangyifei','address:province','guangdong' put 'users','zhangyifei','address:city','jieyang' put 'users','zhangyifei','address:town','xianqiao'

     全表扫描  Scan

    两个RowKey:‘xiaoming’和'zhangyifeng'对应两行记录

     查询一个 RowKey 中所有数据(即一行数据)  Get

     查询一个RowKey中一个列族的所有数据

     

     查询一个RowKey的列族中一个列的所有数据

     同时查询两个列族的所有数据(两种方法)

    注意:第二种方法中的COLUMN关键字大小写敏感

     同时查询两个列族中两个列的所有数据(两种方法)

     更新表中的数据  Put

    由于hdfs只支持写入和追加操作,所以hbase对于修改数据,只能进行准加覆盖操作

     获取单元格Cell数据的时间戳

    对于操作VERSIONS=>2也只返回一行数据,这是由于在创建表时,没有显示指定VERSIONS版本个数,则会设置为默认值1。通过命令describe ‘users’可以发现VERSION=>’1’。

     通过TIMESTAMP读取数据

     删除某行数据  Delete 

    deleteall 'users','xiaoming'

      删除某一列的数据  Delete 

    这里和SQL有区别SQL中删除某一列的话整行数据都会被删除。而HBase则不然,它可以删除指定的列而不影响其它列的数据

     修改表的结构:删除某一列族  Alter

     全表扫描  Scan

    红圈表示此表中现在只有两条记录,因为只有两个RowKey: ’xiaoming’ + ‘zhangyifei’

    这时我们发现,表中的”user_id”这个列族已经被删掉,并且它对应的值‘007’也一并被删除---这是DDL的操作

     统计表的行数  Count

     清空表的数据  Truncat

    这个指令实际包含三个操作:disable + drop + create

     判断一个表是否存在  exists

    exit是退出HBase shell,切记

     判断表是否enable或disable  is_enabled 'users'

    删除表Drop TableName之前,必须先使其disable:disable TableName 不然报错

  • 相关阅读:
    在简单地形上小车运动轨迹的数学表达(一)
    结尾
    第十四章 多线程编程
    第十五章 进程池与线程池
    第十章 信号
    第十一章 定时器
    第十三章 多进程编程
    第八章 高性能服务器程序框架
    KMP 专场 POJ2752
    约瑟夫问题 双链表实现
  • 原文地址:https://www.cnblogs.com/skyl/p/4796065.html
Copyright © 2020-2023  润新知