_测试环境安装与配置: _ docker search hbase # pull 稳定版 docker pull harisekhon/hbase:1.3 docker run -d -h app.hbase.com -p 2181:2181 -p 8080:8080 -p 8085:8085 -p 9090:9090 -p 9095:9095 -p 16020:16020 -p 16301:16301 -p 16000:16000 -p 16010:16010 -p 16201:16201 -p 16030:16030 -v /Users/val/Documents/my/hbase/data:/hbase-data --name hbase harisekhon/hbase:1.3 -h app.hbase.com 是域名,可以在 /etc/hosts 配置 * 注意,-h 不能用localhost,会有问题,java程序连不上 # 查看 web admin http://app.hbase.com:16010/master-status http://app.hbase.com:16030/rs-status # 进入客户端 hbase shell
_Hbase Shell管理命令 _ # 查看存在哪些表 list # 创建表 create '表名称','列名称1','列名称2','列名称N' # 删除表: 先屏蔽表,再drop disable '表名称' drop '表名称' # 查看删除帮助 help delete # 查看服务器状态 status # 查看版本 version # 获得表的描述 describe '表名称' # 添加列族 alter '表名称', 'Family' # 删除列族 alter '表名称', {NAME => 'Family', METHOD => 'delete’} # 启用/禁用表 is_enabled '表名称' is_disabled '表名称' # 检查表是否存在 exists '表名称' _Hbase Shell 增删改查 _ # 添加/覆盖记录 put '表名称','RowKey','Family:Qualifier','值' put 't_product', '321', 'p:width', 5.3 # hbase是强类型,这里是放入了一个小数 put 't_product', '321', 'p:width', '5.3' # hbase是强类型,这里是放入了一个字符串 # 根据rowKey查看记录 get '表名称','RowKey' get '表名称','RowKey','Family' # 查看表记录 scan '表名称' scan '表名称', {COLUMN=>'Family'} scan '表名称', {COLUMN=>'Family:Qualifier'} # 限制条数/版本数/开始行查看 scan '表名称', { STARTROW => 'RowKey', LIMIT=>1, VERSIONS=>1} # 复杂条件过滤 scan '表名称', { FILTER=>"ValueFilter(=,'Qualifier:QualifierValue')" } # 列值包含 scan '表名称', { FILTER=>"ColumnPrefixFilter('QualifierValue')" } # 列名前缀 scan '表名称', { FILTER=>"ColumnPrefixFilter('QualifierValue') AND ValueFilter ValueFilter(=,'Qualifier:QualifierValue')" } # AND / OR 构建复杂过滤 scan '表名称', { FILTER=>"PrefixFilter('RowKey')" } # RowKey前缀 # 查看表某个列记录 scan '表名称','Family:Qualifier' # 查看表记录数 count '表名称' # 根据rowKey、family、qualifier删除记录 delete '表名称','RowKey','Family:Qualifier' # 删除整行 deleteall '表名称', 'RowKey'