❶ 如何将hbase表的数据导出到本地文件中
1 HBase本身提供的接口
其调用形式为:
1)导入
./hbase org.apache.hadoop.hbase.maprece.Driver import 表名 数据文件位置
其中数据文件位置可为本地文件目录,也可以分布式文件系统hdfs的路径。
当其为前者时,直接指定即可,也可以加前缀file:///
而当其伟后者时,必须明确指明hdfs的路径,例如hdfs://mymaster:9000/path
2)导出
./hbase org.apache.hadoop.hbase.maprece.Driver export 表名 数据文件位置
同上,其中数据文件位置可为本地文件目录,也可以分布式文件系统hdfs的路径。
另外,该接口类还提供了一些其它的方法,例如表与表之间的数据拷贝,导入tsv文件等,可回车键查看
2 hadoop提供的工具(hadoop tool interface)
使用该工具的话,需要首先配置hadoop-env.sh,否则在执行时会提示缺少jar包或者class文件。
1)配置
切换到hadoop安装目录下,
vim hadoop-env.sh,加以下语句
export HADOOP_CLASSPATH="hbasejar包路径:zookeeper的jar包路径:hbase的config目录"
2)使用
导入:
hadoop jar /../hbase/hbase-*.jar import mytest /export/mybakup
导出:
hadoop jar /../hbase/hbase-*.jar import mytest /import/mybackup
直接将数据导出到hdfs目录中,当不指定file前缀时。
另外:
export,fs的参数为hdfs上的路径时,该路径必须不能已经存在,否则会报错。
import的表必须是hbase中已经创建好的,否则会报错。
❷ HBase配置文件详解(一)
HBase使用与Hadoop相同的配置系统,所有配置文件都位于 conf/ 目录中,需要保持群集中每个节点的同步。
在对HBase进行配置,即编辑hbase-site.xml文件时,确保语法正确且XML格式良好。我们可以使用 xmllint 检查XML格式是否正确,默认情况下, xmllint 重新流动并将XML打印到标准输出。如果检查格式是否正确,并且只在存在错误时才打印输出,可以使用以下命令:
当在完全分布式环境下运行HBase时,在对HBase配置文件进行修改后,确保将 /conf/ 目录下的配置文件同步到集群其他节点上,可以使用 rsync 、 scp 或其他安全机制将配置文件复制到其他节点上。(对于大多数配置,服务器需要重新启动配置才能生效)