HBase总结(二十)HBase常用shell命令详细说明

  1. 进入hbase shell console

    $HBASE_HOME/bin/hbase shell

    如果有kerberos认证,需要事先使用相应的keytab进行一下认证(使用kinit命令),认证成功之后再使用hbase shell进入可以使用whoami命令可查看当前用户

    hbase(main)>
    whoami

  2. 表的管理

    1)查看有哪些表

    hbase(main)>
    list

    2)创建表

    #
    语法:create <table>, {NAME => <family>, VERSIONS => <VERSIONS>}

    #
    例如:创建表t1,有两个family name:f1,f2,且版本数均为2

    hbase(main)>
    create
    ‘t1‘,{NAME
    =>
    ‘f1‘,
    VERSIONS => 2},{NAME =>
    ‘f2‘,
    VERSIONS => 2}

    3)删除表

    分两步:首先disable,然后drop

    例如:删除表t1

    hbase(main)>
    disable
    ‘t1‘

    hbase(main)>
    drop
    ‘t1‘

    4)查看表的结构

    #
    语法:describe <table>

    #
    例如:查看表t1的结构

    hbase(main)>
    describe
    ‘t1‘

    5)修改表结构

    修改表结构必须先disable

    #
    语法:alter ‘t1‘, {NAME => ‘f1‘}, {NAME => ‘f2‘, METHOD => ‘delete‘}

    #
    例如:修改表test1的cf的TTL为180天

    hbase(main)>
    disable
    ‘test1‘

    hbase(main)>
    alter
    ‘test1‘,{NAME=>‘body‘,TTL=>‘15552000‘},{NAME=>‘meta‘,
    TTL=>
    ‘15552000‘}

    hbase(main)>
    enable ‘test1‘

  3. 权限管理

    1)分配权限

    #
    语法 : grant <user> <permissions> <table> <column family> <column qualifier> 参数后面用逗号分隔

    #
    权限用五个字母表示: "RWXCA".

    #
    READ(‘R‘), WRITE(‘W‘), EXEC(‘X‘), CREATE(‘C‘), ADMIN(‘A‘)

    #
    例如,给用户‘test‘分配对表t1有读写的权限,

    hbase(main)>
    grant
    ‘test‘,‘RW‘,‘t1‘

    2)查看权限

    #
    语法:user_permission <table>

    #
    例如,查看表t1的权限列表

    hbase(main)>
    user_permission
    ‘t1‘

    3)收回权限

    #
    与分配权限类似,语法:revoke <user> <table> <column family> <column qualifier>

    #
    例如,收回test用户在表t1上的权限

    hbase(main)>
    revoke
    ‘test‘,‘t1‘

  4. 表数据的增删改查

    1)添加数据

    #
    语法:put <table>,<rowkey>,<family:column>,<value>,<timestamp>

    #
    例如:给表t1的添加一行记录:rowkey是rowkey001,family name:f1,column name:col1,value:value01,timestamp:系统默认

    hbase(main)>
    put
    ‘t1‘,‘rowkey001‘,‘f1:col1‘,‘value01‘

    用法比较单一。

    2)查询数据

    a)查询某行记录

    #
    语法:get <table>,<rowkey>,[<family:column>,....]

    #
    例如:查询表t1,rowkey001中的f1下的col1的值

    hbase(main)>
    get
    ‘t1‘,‘rowkey001‘,
    ‘f1:col1‘

    #
    或者:

    hbase(main)>
    get
    ‘t1‘,‘rowkey001‘,
    {COLUMN=>
    ‘f1:col1‘}

    #
    查询表t1,rowke002中的f1下的所有列值

    hbase(main)>
    get
    ‘t1‘,‘rowkey001‘

    b)扫描表

    #
    语法:scan <table>, {COLUMNS => [ <family:column>,.... ], LIMIT => num}

    #
    另外,还可以添加STARTROW、TIMERANGE和FITLER等高级功能

    #
    例如:扫描表t1的前5条数据

    hbase(main)>
    scan
    ‘t1‘,{LIMIT=>5}

    c)查询表中的数据行数

    #
    语法:count <table>, {INTERVAL => intervalNum, CACHE => cacheNum}

    #
    INTERVAL设置多少行显示一次及对应的rowkey,默认1000;CACHE每次去取的缓存区大小,默认是10,调整该参数可提高查询速度

    #
    例如,查询表t1中的行数,每100条显示一次,缓存区为500

    hbase(main)>
    count
    ‘t1‘,
    {INTERVAL => 100, CACHE => 500}

    3)删除数据

    a )删除行中的某个列值

    #
    语法:delete <table>, <rowkey>,  <family:column> , <timestamp>,必须指定列名

    #
    例如:删除表t1,rowkey001中的f1:col1的数据

    hbase(main)>
    delete
    ‘t1‘,‘rowkey001‘,‘f1:col1‘

    注:将删除改行f1:col1列所有版本的数据

    b )删除行

    #
    语法:deleteall <table>, <rowkey>,  <family:column> , <timestamp>,可以不指定列名,删除整行数据

    #
    例如:删除表t1,rowk001的数据

    hbase(main)>
    deleteall
    ‘t1‘,‘rowkey001‘

    c)删除表中的所有数据

    #
    语法: truncate <table>

    #
    其具体过程是:disable table -> drop table -> create table

    #
    例如:删除表t1的所有数据

    hbase(main)>
    truncate
    ‘t1‘

  5. Region管理

    1)移动region

    #
    语法:move ‘encodeRegionName‘, ‘ServerName‘

    #
    encodeRegionName指的regioName后面的编码,ServerName指的是master-status的Region Servers列表

    #
    示例

    hbase(main)>move
    ‘4343995a58be8e5bbc739af1e91cd72d‘,
    ‘db-41.xxx.xxx.org,60020,1390274516739‘

    2)开启/关闭region

    #
    语法:balance_switch true|false

    hbase(main)>
    balance_switch

    3)手动split

    #
    语法:split ‘regionName‘, ‘splitKey‘

    4)手动触发major compaction

    #语法:

    #Compact
    all regions in a table:

    #hbase>
    major_compact ‘t1‘

    #Compact
    an entire region:

    #hbase>
    major_compact ‘r1‘

    #Compact
    a single column family within a region:

    #hbase>
    major_compact ‘r1‘, ‘c1‘

    #Compact
    a single column family within a table:

    #hbase>
    major_compact ‘t1‘, ‘c1‘

  6. 配置管理及节点重启

    1)修改hdfs配置

    hdfs配置位置:/etc/hadoop/conf

    #
    同步hdfs配置

    cat /home/hadoop/slaves|xargs -i
    -t
    scp /etc/hadoop/conf/hdfs-site.xml
    [email protected]{}:
    /etc/hadoop/conf/hdfs-site.xml

    #关闭:

    cat /home/hadoop/slaves|xargs -i
    -t
    ssh [email protected]{}
    "sudo
    /home/hadoop/cdh4/hadoop-2.0.0-cdh4.2.1/sbin/hadoop-daemon.sh --config /etc/hadoop/conf stop datanode"

    #启动:

    cat /home/hadoop/slaves|xargs -i
    -t
    ssh [email protected]{}
    "sudo
    /home/hadoop/cdh4/hadoop-2.0.0-cdh4.2.1/sbin/hadoop-daemon.sh --config /etc/hadoop/conf start datanode"

    2)修改hbase配置

    hbase配置位置:

    #
    同步hbase配置

    cat /home/hadoop/hbase/conf/regionservers|xargs -i
    -t
    scp /home/hadoop/hbase/conf/hbase-site.xml
    [email protected]{}:
    /home/hadoop/hbase/conf/hbase-site.xml

    #
    graceful重启

    cd ~/hbase

    bin/graceful_stop.sh
    --restart --reload --debug inspurXXX.xxx.xxx.org

时间: 2024-08-02 12:33:11

HBase总结(二十)HBase常用shell命令详细说明的相关文章

二十五、shell特殊符号cut命令、sort_wc_uniq命令、 tee_tr_split命令、

二十五.shell特殊符号cut命令.sort_wc_uniq命令. tee_tr_split命令. shell特殊符号下 一.shell特殊符号cut命令 特殊符号 *:通配. ?:任意一个字符. #:注释字符,加在命令前面命令就不会生效. \:脱义字符.会将后面的特殊符号(如*)还原为普通字符.示例: # ls -d 123\* ls: 无法访问123*: 没有那个文件或目录 cut命令:截取某一个字段.分隔. 格式:# cut -d '分隔字符' [-cf] n,n为数字. 可用选项: -

Linux简单介绍与基本使用(文件操作、压缩与解压、常用shell命令)

文件管理(查找+操作) 使用图形界面 使用文本命令行 精确查找 查找find命令,递归的方式在目录下面层次查找 find 查找路径  [ 命令选项 ] [ 动作 ] 常用命令选项 按文件属性查找命令选项 -name 按文件名查找,区分大小写 -iname 按文件名查找,不区分大小写 -empty 查找空文件或目录 -maxdepth 查找最大深度 /第一级 /var/tmp/ 就是三级 / var tmp -mindepth 从哪个深度开始查找 /var 第二级 -perm 文件权限 比如477

Hadoop常用shell命令

为了方便自己回顾记忆,将今天实验的hadoop命令总结一下,方便后续查看. 注意,下述命令是在hadoop/bin 下操作的. 1.hadoop fs -ls \    ->查看当前下面的所有目录. 2.hadoop fs -mkdir xxx ->创建xxx文件夹在hadoop文件系统上. 3.hadoop fs -rmr xxx -> 删除在文件系统上面创建的文件夹 4.hadoop fs -put /home/xuzhang/file1 xxx 将文件放入创建的xxx目录中 5.h

常用shell命令和vi编辑器

Shell 介绍 Shell:壳(区别于:核) 普通意义上的shell就是可以接受用户输入命令的程序.它之所以被称作shell是因为它隐藏了操作系统低层的细节. Bourne-Again shell(bash):应用非常广泛的一种shell工具,是一个命令处理器,bash也是大多数Linux系统默认的Shell. 常用shell命令 shell 命令的使用 1. mkdir made dirctory 创建文件夹 mkdir 文件夹名称 mkdir img 创建了一个img文件夹 mkdir i

常用shell命令中你所不熟悉的参数

1.   ls: 类似于dos下的dir命令 ls最常用的参数有三个: -a -l -F. ls –a Linux上的文件以.开头的文件被系统视为隐藏文件,仅用ls命令是看不到他们的,而用ls -a除了显示一般文件名外,连隐藏文件也会显示出来. ls –l 该参数显示更详细的文件信息. ls –F 使用这个参数表示在文件的后面多添加表示文件类型的符号,例如*表示可执行,/表示目录,@表示连结文件,这都是因为使用了-F这个参数.但是现在基本上所有的Linux发行版本的ls都已经内建了-F参数,也就

Linux常用shell命令(学习小结)

1. man 对你熟悉或不熟悉的命令提供帮助解释 eg:man ls 就可以查看ls相关的用法 注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行. 2. ls 查看目录或者文件的属性,列举出任一目录下面的文件 eg: ls /usr/man ls -l a.d表示目录(directory),如果是一个"-"表示是文件,如果是l则表示是一个连接文件(link) b.表示文件或者目录许可权限.分别用可读(r),可写(w),可运行(x). 3. cp 拷贝文

攻城狮在路上(叁)Linux(二十八)--- 打包命令:tar

首先介绍一下tar打包命令的基本格式,下面的三种之间不能混淆. tar [-j|-z] [cv] [-f 新文件名] file1 file2 ...; tar [-j|-z] [tv] [-f 新文件名]; <== 查看文件名 tar [-j|-z] [xv] [-f 新文件名] [-C 目录]; <== 解包 参数说明: -c:新建打包文件,搭配-v来查看过程中被打包的文件名 -t:查看打包文件的内容包含哪些文件名 -x:解包或解压缩功能.可搭配大写C来指定解压目录 ------------

HBase介绍(4)---常用shell命令

进入hbase shell console$HBASE_HOME/bin/hbase shell如果有kerberos认证,需要事先使用相应的keytab进行一下认证(使用kinit命令),认证成功之后再使用hbase shell进入可以使用whoami命令可查看当前用户 hbase(main)> whoami 表的管理1)查看有哪些表 hbase(main)> list 2)创建表 # 语法:create <table>, {NAME => <family>,

HBase 常用Shell命令

转自:http://www.cnblogs.com/nexiyi/p/hbase_shell.html 两个月前使用过hbase,现在最基本的命令都淡忘了,留一个备查~ 进入hbase shell console$HBASE_HOME/bin/hbase shell如果有kerberos认证,需要事先使用相应的keytab进行一下认证(使用kinit命令),认证成功之后再使用hbase shell进入可以使用whoami命令可查看当前用户 hbase(main)> whoami 表的管理1)查看