问题:

hbase 集群启动不了,maste一直在初始化,数据面临丢失风险。

解决:

  1. 把hbfs上 /hbase 目录移走 改名为/hbase-bak

  2. 删除zk上的数据,重新建立一个新的hbase集群.

  3. 使用如下代码, 把/hbase-bak里面的数据恢复到 现有的hbase集群中.

public class RestoreData {

    public static final String HBASE_ZOOKEEPER_QUORUM = "hbase.zookeeper.quorum";
public static final String HBASE_CLIENT_RETRIES_NUMBER = "hbase.client.retries.number";
public static final String HBASE_MASTER_INFO_PORT = "hbase.master.info.port";
public static final String HBASE_ZOOKEEPER_PROPERTY_CLIENTPORT = "hbase.zookeeper.property.clientPort";
public static final String HBASE_RPC_TIMEOUT = "hbase.rpc.timeout";
public static final String HBASE_CLIENT_OPERATION_TIMEOUT = "hbase.client.operation.timeout";
public static final String HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD = "hbase.client.scanner.timeout.period";
public static final String HBASE_WRITEBUFFER_SIZE = "hbase.writebuffer.size"; private static Connection hbaseConn;
private static Configuration hbaseConf; public static void main(String[] args) throws IOException {
hbaseConf = HBaseConfiguration.create();
hbaseConf.set(HBASE_ZOOKEEPER_QUORUM, "master");
hbaseConf.set(HBASE_ZOOKEEPER_PROPERTY_CLIENTPORT, "2181");
hbaseConf.set(HBASE_RPC_TIMEOUT, "30000");
hbaseConf.set(HBASE_CLIENT_OPERATION_TIMEOUT, "30000");
hbaseConf.set(HBASE_CLIENT_SCANNER_TIMEOUT_PERIOD, "30000");
hbaseConn = ConnectionFactory.createConnection(hbaseConf); String hfile = "hdfs://master:9000/hbase-bak/data/default/student/ab4112439aee7a2dea88f1b5119f0f4d";
String tableName = "student";
String[] array = new String[2];
array[0] = hfile;
array[1] = tableName; try {
new LoadIncrementalHFiles(hbaseConf).run(array);
} catch (Exception e) {
e.printStackTrace();
} }
}

pom文件

<dependencies>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-client</artifactId>
<version>1.4.13</version>
</dependency>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-server</artifactId>
<version>1.4.13</version>
</dependency>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-common</artifactId>
<version>1.4.13</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>1.0.4</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.8.3</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-hadoop2-compat</artifactId>
<version>1.4.13</version>
</dependency> </dependencies>

打包

脚本

在集群上运行的脚本

export LD_LIBRARY_PATH=/data/hadoop-2.8.3/lib/native

java -cp /data/hadoop/data/hbase_production.jar\
:/data/hbase/lib/log4j-1.2.17.jar\
:/data/hbase/lib/slf4j-log4j12-1.7.25.jar\
:/data/hbase/lib/slf4j-api-1.7.25.jar\
:/data/hbase/lib/snappy-java-1.0.5.jar\
:/data/hadoop-2.8.3/share/hadoop/common/hadoop-nfs-2.8.3.jar\
:/data/hadoop-2.8.3/share/hadoop/common/hadoop-common-2.8.3.jar\
com.xxxx.hbase.RestoreData \
hdfs://master:9000/hbase-bak/data/default/student/$1 \
student

执行

./脚本  HFile路径

也可用于hbase 备份.

最新文章

  1. C程序设计语言学习笔记
  2. IIS7 Application Pool Integrate Mode 和 Classic Mode 的区别
  3. exists的用法
  4. 使用 Object.create 创建对象,super 关键字,class 关键字
  5. form 上传 html 代码
  6. 学习bash
  7. Linq&amp;Lumbda (2)
  8. 求以下表达式的值,写出您想到的一种或几种实现方法: 1-2+3-4+……+m
  9. Rudolph javascript 监听简单对象属性的变化 -- 回调函数的应用
  10. for each 循环
  11. 收集几个Web前端UI框架
  12. BZOJ 1406 密码箱
  13. 20140912-.NET平台技术思维导图
  14. 【java学习笔记】反射基础
  15. UNIX网络编程——TCP连接的建立和断开、滑动窗口
  16. docker-1-环境安装及例子实践
  17. 自动化安装-【kickstart】
  18. python全栈开发day15-递归函数、二分查找
  19. DOCTYPE的作用以及标准模式和兼容模式的区别
  20. 一种高效的序列化方式——MessagePack

热门文章

  1. Mate 40系列发布 搭载华为运动健康服务带来健康数字生活
  2. 文件误删了怎么办,EasyRecovery来帮忙
  3. 如何使用系统清理缓存软件优化MacBook
  4. java工作两年了,连myBatis中的插件机制都玩不懂,那你工作危险了!
  5. python批量生成SQL语句
  6. 移动自动化测试框架--openatx
  7. LIKE 运算符
  8. 如何获取公网IP的mac地址
  9. NameServer 与zk
  10. day1(初始化项目结构)