• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

HBase Java API 问题:put 卡住

武飞扬头像
bule_sky_fuxing
帮助1

搭建好Hbase集群环境,熟悉其基本原理后,下载eclipse后,编写代码,操作hbase API,往Hbase中添加数据,卡在了put。

  1.  
    public static void insertData() throws IOException{
  2.  
    //put对象 数据插入的操作对象
  3.  
    System.out.println("insertData begin");
  4.  
    String rowkey="000001";
  5.  
    String cf = "C1";
  6.  
    String cn = "testdata";
  7.  
    String value = "2022/05/12";
  8.  
     
  9.  
    Put put = new Put(Bytes.toBytes(rowkey));
  10.  
    //给put对象赋值
  11.  
    put.addColumn(Bytes.toBytes(cf), Bytes.toBytes(cn), Bytes.toBytes(value));
  12.  
     
  13.  
    //插入数据
  14.  
    System.out.println("put begin");
  15.  
    table.put(put);
  16.  
    System.out.println("put end");
  17.  
    //关闭表连接
  18.  
    //table.close();
  19.  
    System.out.println("insertData end");
  20.  
    }
学新通
  1.  
    conf.set("hbase.zookeeper.quorum", "mu01:2181,cu01:2181,cu02:2181");
  2.  
     
  3.  
    上面是我的代码段,mu01,cu01,cu02是集群的地址。使用getTable可以获取到Table。当时感觉奇怪,windows怎么会识别这些域名呢,想着表都获取了,就以为没问题了。
  4.  
    put的时候出问题了。。。。。。

很长一段时间后,报错新信息如下:

  1.  
    org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException: Failed 1 action: RetriesExhaustedException: 1 time, servers with issues: null
  2.  
    closed success!
  3.  
    at org.apache.hadoop.hbase.client.AsyncProcess$BatchErrors.makeException(AsyncProcess.java:295)
  4.  
    at org.apache.hadoop.hbase.client.AsyncProcess$BatchErrors.access$2300(AsyncProcess.java:271)
  5.  
    at org.apache.hadoop.hbase.client.AsyncProcess.waitForAllPreviousOpsAndReset(AsyncProcess.java:1924)
  6.  
    at org.apache.hadoop.hbase.client.BufferedMutatorImpl.backgroundFlushCommits(BufferedMutatorImpl.java:303)
  7.  
    at org.apache.hadoop.hbase.client.BufferedMutatorImpl.flush(BufferedMutatorImpl.java:266)
  8.  
    at org.apache.hadoop.hbase.client.HTable.flushCommits(HTable.java:1477)
  9.  
    at org.apache.hadoop.hbase.client.HTable.put(HTable.java:1024)
  10.  
    at hbase_test1.testconnection.insertData(testconnection.java:96)
  11.  
    at hbase_test1.testconnection.main(testconnection.java:108)

上网查询资料,提到hosts文件,才恍然大悟,需要修改windows(windows下安装的eclipse,调用的Hbase java API)下的hosts文件,添加Hbase集群域名地址。windows下的hosts文件路径:  C:\Windows\System32\drivers\etc\hosts

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhghakfg
系列文章
更多 icon
同类精品
更多 icon
继续加载