HBase 常用Shell命令

转自:http://www.cnblogs.com/nexiyi/p/hbase_shell.html

两个月前使用过hbase,现在最基本的命令都淡忘了,留一个备查~

      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-07-28 21:20:18

HBase 常用Shell命令的相关文章

(转)HBase 常用Shell命令

转自:http://my.oschina.net/u/189445/blog/595232 hbase shell命令                             描述  alter 修改列族(column family)模式 count 统计表中行的数量 create 创建表 describe 显示表相关的详细信息 delete 删除指定对象的值(可以为表,行,列对应的值,另外也可以指定时间戳的值) deleteall 删除指定行的所有元素值 disable 使表无效 drop 删

HBase总结(二十)HBase常用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命令

原文地址:https://www.cnblogs.com/fanweisheng/p/11253807.html

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

HBase的Shell命令

1.HBase提供了一个shell的终端给用户交互 2.HBase Shell的DDL操作 (1)先进入HBase的 Shell命令行,即HBASE_HOME/bin/hbase shell …… >quit 创建表: >create 'users','user_id','address','info' //表users,有三个列族user_id,address,info 列出全部表: >list 得到表的描述: >describe 'users' 创建表: >create

常用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简单介绍与基本使用(文件操作、压缩与解压、常用shell命令)

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