HBase常用操作命令

  HBase的常用操作命令

  1.进入HBase
  脚本客户端#hbase shell#进入HBase脚本客户端
  > whoami#查看当前登录用户
  >状态#查看HBase节点信息
  >版本#查看HBase版本

  2.查看HBase所有表
  > list#查看HBase里面的所有表
  > create_namespace'ns'#创建命名空间
  > drop_namespace'ns'#删除命名空间
  > describe_namespace'ns'#查看命名空间
  > list_namespace#列出所有命名空间
  >创建'ns :tablename','cf'#在namespace下创建表
  > list_namespace_tables'ns'#查看namespace下的表

  3.表操作
  创建表语法create <table>,{NAME => <family>,VERSIONS => <VERSIONS>}
  >创建'tablename','columnfamily'#创建HBase表名和列族
  删除表首先禁用,然后drop
  >禁用'tablename'
  > drop'tablename'
  查看表的结构
  - 语法:describe <table >>
  描述'tablename'
  修改表结构首先禁用,然后启用
  - 语法:alter't1 ',{NAME =>'f1 '},{NAME =>'f2',METHOD =>'delete'}
  >禁用'tablename' - 修改表tablename的cf的TTL为180天
  > alter'tablename',{NAME =>'body',TTL >'15552000'},{NAME =>'meta',TTL =>'15552000'}
  > enable'表名”

        HBase创建表设置块大小参数是1kb~16MB
   > create 'tablename',{NAME => 'cf' ,BLOCKSIZE =>'16777216'}

  4.增加改查
  添加数据
  - 语法:put <table>,<rowkey>,<family:column>,<value>,<timestamp>
  - 例如:给表t1的添加一行记录:rowkey是rowkey1,family name:f1,column name:col1,value:value01,timestamp:系统默认
  > put't1','rowkey1','f1:col1','value01'
  查询行记录
  - 语法:get <table>,<rowkey >,[<family:column>,....]
  - 例如:查询表t1,rowkey1中的f1下的col1的值
  > get't1','rowkey1','f1:col1'
  扫描表
  -语法:scan <table>,{COLUMNS => [<family:column>,....],LIMIT => num}
  - 另外,还可以添加STARTROW,TIMERANGE和FITLER等高级功能
  - 例如:扫描表t1的前5条数据
  > scan't1',{LIMIT => 5}
  查询表中的数据行数
  - 语法:count <table>,{INTERVAL => intervalNum,CACHE => cacheNum}
  - INTERVAL设置多少行显示一次及对应的rowkey,默认1000; CACHE每次去取的缓存区大小,默认是10,调整该参数可提高查询速度
  - 例如,查询表t1中的行数, - 100条显示一次,缓存区为500
  > count't1 ',{INTERVAL => 100,CACHE => 500}
  删除行中的某个列值
  - 语法:delete <table>,<rowkey>,<family: column>,<timestamp>,必须指定列名
  - 例如:删除表t1,rowkey1中的f1:col1的数据
  > delete't1','rowkey1','f1:col1'
  删除行
  - 语法:deleteall < table>,<rowkey>,<family:column>,<timestamp>,可以不指定列名,删除整行数据
  - 例如:删除表t1,rowk001的数据
  > deleteall't1','rowkey1'
  删除表中的所有数据
  - 语法:truncate <table>
  - 其具体过​​程是:disable table - > drop table - > create table
  - 例如:删除表t1的所有数据
  >截断't1'

  5.权限管理
  分配权限
  - 语法:grant <user> <permissions> <table> <column family> <column qualifier>参数后面用逗号分隔
  - 权限用五个字母表示:“RWXCA”。
  - READ('R'),WRITE('W'),EXEC('X'),CREATE('C'),ADMIN('A')
  - 例如,给用户'test'分配对表t1有读写的权限,
  >授权'测试','RW','t1'
  查看权限
  - 语法:user_permission <table>
  - 例如,查看表t1的权限列表
  > user_permission't1'
  收回权限
  - 与分配权限类似,语法:revoke <user> <table> <column family> <column qualifier>
  - 例如,收回test用户在表t1上的权限
  > revoke'test ','t1'

  > grant'admin''RW''@ ns'#授权admin用户对ns下的写权限
  > revoke'admin''@ ns'#回收admin用户对ns的所有权限

  6.Region管理
  移动区域
  - 语法:移动'encodeRegionName','ServerName'
  - encodeRegionName指的regioName后面的编码,ServerName指的是主状态的区域服务器列表
  >移动'4343995a58be8e5bbc739af1e91cd72d','db-41。 xxx.xxx.org,60020,1390274516739'
  开启/关闭区域
  - 语法:balance_switch true | false
  > balance_switch
  手动拆分
  - 语法:拆分'regionName','splitKey'
  手动触发major compaction
  #语法: -
  压缩所有区域在表中:
  > major_compact't1' -
  压缩整个区域:
  > major_compact'r1' -
  在区域内压缩单个列族:
  > major_compact'r1','c1'
  - 在表中压缩单个列族:
  > major_compact't1','c1'

  7.配置管理及节点重启
  hdfs配置目录:/ etc / hadoop / conf
  #同步hdfs配置
  cat / home / hadoop / slaves | xargs -i -t scp /etc/hadoop/conf/hdfs-site.xml hadoop @ { ip}:/ etc / hadoop / conf / hdfs-site.xml
  #关闭
  cat / home / hadoop / slaves | xargs -i -t ssh hadoop @ {ip}“sudo /data/opt/cloudera/parcels/CDH-5.9 .1-1.cdh5.9.1.p0.4 / lib / hadoop / sbin / hadoop-daemon.sh --config / etc / hadoop / conf stop datanode“
  #启动
  cat / home / hadoop / slaves | xargs -i - t ssh hadoop @ {ip}“sudo /data/opt/cloudera/parcels/CDH-5.9.1-1.cdh5.9.1.p0.4/lib/hadoop/sbin/hadoop-daemon.sh --config / etc / hadoop / conf start datanode“

  修改hbase配置:/ etc / hbase / conf
  #同步hbase配置
  cat / home / hadoop / hbase / conf / regionservers | xargs -i -t scp /home/hadoop/hbase/conf/hbase-site.xml hadoop @ {ip }:/家庭/ Hadoop的/ HBase的/ conf目录/ HBase的-site.xml中

  #hadoop fs -du / hbase#所有regionserver中所有表大小
  #hadoop fs -dus / hbase#当前regionserver中所有表大小#count'tablename
  ',INTERVAL => 10,CACHE => 1000#统计表行数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值