`

向hbase导入数据

阅读更多
1.环境信息
大数据集群利用CHD5.7.0搭建,包括master节点、worker节点、name节点、secondary name节点等总共10个节点,集群通过Kerberos进行认证权限管理。
2.导入步骤
2.1 认证,执行如下命令进行kerberos认证,如果还没有kerberos用户,则需要利用kerberos 管理员创建用户
kinit -kt /keytab/testuser.keytab  testuser

2.1 将数据放到hdfs上
hdfs fs -put 服务器上文件路径(如:/home/me/data) hdfs上文件路径(如 /user/me/data)

在网上也有一些人写的导入hbase时不用将数据推送到hdfs上,直接利用本地文件导入,命令如下,

hbase org.apache.hadoop.hbase.mapreduce.Driver import 'testme:test' file:///test/testdata


这在单节点机器上是可以执行的,或者是运行MR的节点是一个并且和存放数据的服务器一致才能实现,若是在集群环境下执行,MR对应的job调度到其他节点上,放在服务器本机的数据就无法找到。所以在集群环境下还是要先导入到hdfs上。
2.2 利用具有创建hbase命名空间的用户认证,在我这边的环境中hbase具有这样的权限
2.2.1 认证
kinit -kt /keytab/hbase.keytab hbase

2.2.2 创建命名空间




2.2.3 将在命名空间testme下新建表、及增删改的权限赋予我们新创建的用户





2.3 利用新创建的用户进入hbase shell,创建要导入数据的表

create 'testme:test', 'fam'

2.4 执行命令开始导入数据
hbase org.apache.hadoop.hbase.mapreduce.Driver import 'testme:test' hdfs上的数据目录(如:/user/me/data)

  • 大小: 52.1 KB
  • 大小: 11.9 KB
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics