我想如果可以在Hbase中从独立模式迁移到完全分布式模式。我有一些独立模式的数据,我希望在迁移过程中保持这种状态。 请帮忙。
答案 0 :(得分:2)
相当古老的问题,但最近我遇到了同样的问题,并使用以下步骤解决了这个问题:
在独立模式下
要迁移的导出表:
<?xml version="1.0"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0"/>
<httpRuntime/>
</system.web>
<connectionStrings>
<add name="MS_EAS_LocationConnectionString" connectionString="Data Source=help\sqlexpress;Initial Catalog=MS.EAS.LOCATION;User ID=sa;Password=123" providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>
在伪分布/分布式模式
使用hadoop复制hdfs中的表:
bin/hbase org.apache.hadoop.hbase.mapreduce.Driver export table_name /local/path/table_name_backup
使用hbase导入数据:
./bin/hadoop fs -copyFromLocal /local/path/table_name_backup/ table_name_backup
使用hadoop从hdfs中删除旧数据:
./bin/hbase org.apache.hadoop.hbase.mapreduce.Driver import table_name table_name_backup
U可能想要检查迁移前后的行数,以检查是否所有内容都按计划进行:
./bin/hadoop dfs -rmr table_name_backup