当前位置:   article > 正文

HBase Region分区、数据压缩及与Sqoop集成操作_sqoop hbase报错: hbase regiontoobusyex

sqoop hbase报错: hbase regiontoobusyex

一、HBase表region预分区的几种方式

第一种:创建5个region分区表

create_namespace 'track'

create 'track:stu', 'info', SPLITS => ['10', '20', '30', '40']
  • 1
  • 2
  • 3

第二种:split强制拆分

split 'tableName', 'splitKey'

split 'track:stu', '50'
  • 1
  • 2
  • 3

第三种:将拆分的key值放在文件中

create 'track:stu_1', 'info', SPLITS_FILE => '/opt/datas/splits.txt'
  • 1

第四种:

create 't1', 'f1', {NUMREGIONS => 15, SPLITALGO => 'HexStringSplit'}
  • 1

二、HBase表数据的压缩配置

首先Hadoop安装snappy,详细请见博客:
https://blog.csdn.net/weixin_45366499/article/details/109271630

查看hbase是否支持压缩

bin/hbase --config ~/conf_hbase org.apache.hadoop.util.NativeLibraryChecker
  • 1
Native library checking:
hadoop:  true /opt/modules/hadoop-2.6.0-cdh5.9.3/lib/native/libhadoop.so.1.0.0
zlib:    true /lib64/libz.so.1
snappy:  true /opt/modules/hadoop-2.6.0-cdh5.9.3/lib/native/libsnappy.so.1
lz4:     true revision:99
bzip2:   false 
openssl: true /lib64/libcrypto.so
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

配置HBase表数据的压缩

ln -s  /opt/modules/hadoop/lib/native  /opt/modules/hbase/lib/native/Linux-amd64-64   
  • 1

创建HBase表

create 'stu_snappy','info'
  • 1

修改表的属性为snappy压缩

alter "stu_snappy",{NAME => 'info',COMPRESSION => 'SNAPPY'}
  • 1

可以使用CompressionTest工具来验证snappy的压缩器可用于HBase:

bin/hbase  org.apache.hadoop.hbase.util.CompressionTest hdfs://bigdata-pro-m01:9000/user/caizhengjie/datas/snappy snappy
  • 1

三、HBase与Sqoop集成

通常来说HBase与Sqoop集成,是将mysql的数据导入到HBase中

mysql -> HBase
  • 1

第一步:在sqoop的sqoop-env.sh文件里添加

export HBASE_HOME=/opt/modules/hbase
  • 1

第二步:创建MySQL数据表并创建数据

CREATE TABLE  user_info_hbase (
  id varchar(20) DEFAULT NULL,
  username varchar(20) DEFAULT NULL,
  address varchar(20) DEFAULT NULL
)
  • 1
  • 2
  • 3
  • 4
  • 5
insert into user_info_hbase values('0001','admin','admin');
insert into user_info_hbase values('0002','wang','111111');
insert into user_info_hbase values('0003','zhang','000000');
insert into user_info_hbase values('0004','lili','000000');
insert into user_info_hbase values('0005','henry','000000');
insert into user_info_hbase values('0006','cherry','000000');
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

第三步:创建hbase表

create 'user_info','info'
  • 1

第四步:可以查看HBase与Sqoop集成之间的参数

HBase arguments:
   --column-family <family>    Sets the target column family for the
                               import
   --hbase-bulkload            Enables HBase bulk loading
   --hbase-create-table        If specified, create missing HBase tables
   --hbase-row-key <col>       Specifies which input column to use as the
                               row key
   --hbase-table <table>       Import to <table> in HBase
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

第五步:通过sqoop导入数据

bin/sqoop import \
--connect jdbc:mysql://bigdata-pro-m01:3306/db_sqoop \
--username root \
--password 199911 \
--table user_info_hbase \
--column-family info \
--hbase-bulkload \
--hbase-row-key id -m 1 \
--hbase-table user_info
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

第六步:查看运行结果

hbase(main):012:0> scan 'user_info'
ROW                                    COLUMN+CELL                                                                                                  
 0001                                  column=info:address, timestamp=1605251319678, value=admin                                                    
 0001                                  column=info:username, timestamp=1605251319678, value=admin                                                   
 0002                                  column=info:address, timestamp=1605251319678, value=111111                                                   
 0002                                  column=info:username, timestamp=1605251319678, value=wang                                                    
 0003                                  column=info:address, timestamp=1605251319678, value=000000                                                   
 0003                                  column=info:username, timestamp=1605251319678, value=zhang                                                   
 0004                                  column=info:address, timestamp=1605251319678, value=000000                                                   
 0004                                  column=info:username, timestamp=1605251319678, value=lili                                                    
 0005                                  column=info:address, timestamp=1605251319678, value=000000                                                   
 0005                                  column=info:username, timestamp=1605251319678, value=henry                                                   
 0006                                  column=info:address, timestamp=1605251319678, value=000000                                                   
 0006                                  column=info:username, timestamp=1605251319678, value=cherry                                                  
6 row(s) in 0.3670 seconds
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

以上内容仅供参考学习,如有侵权请联系我删除!
如果这篇文章对您有帮助,左下角的大拇指就是对博主最大的鼓励。
您的鼓励就是博主最大的动力!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/724262
推荐阅读
相关标签
  

闽ICP备14008679号