首页 文章

无法使用java创建hbase

提问于
浏览
1

我已经写了一个简单的java代码用于在hbase中创建一个表,但不知何故它不起作用 . 我检查了所有服务都在运行,即 HMasterRegionserverZookeeper . 下面是我写的代码

import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.client.HBaseAdmin;
public class CreateSchema
{
public static void main(String[] args) throws IOException
{

try
{
   HBaseConfiguration conf = new HBaseConfiguration(new Configuration());
   HBaseAdmin hbase = new HBaseAdmin(conf);
   HTableDescriptor desc = new HTableDescriptor("sample");
   HColumnDescriptor meta = new HColumnDescriptor("samplecolumn1".getBytes());
   HColumnDescriptor prefix = new HColumnDescriptor("samplecolumn2".getBytes());
   desc.addFamily(meta);
   desc.addFamily(prefix);
   System.out.println("Creating table");
   hbase.createTable(desc);
   System.out.println("Done");
    }
    catch(Exception e)
    {
    System.out.println("Error Ocuured");
    }

     }
    }

这是一个动物园管理员日志 .

2015-01-15 07:46:01,594 - INFO [NIOServerCxn.Factory:0.0.0.0 / 0.0.0.0:2181:NIOServer``CnxnFactory @ 197] - 接受来自/127.0.0.1:60599的套接字连接2015-01- 15 07:46:01,595 - WARN [NIOServerCxn.Factory:0.0.0.0 / 0.0.0.0:2181:ZooKeeperServer @ 822] - 来自旧客户端的连接请求/127.0.0.1:60599;如果服务器处于ro模式,将被删除2015-01-15 07:46:01,595 - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:ZooKeeperServer @ 868] - 尝试在/127.0 Build 新会话的客户端.0.1:60599 2015-01-15 07:46:01,619 - INFO [SyncThread:0:ZooKeeperServer @ 617] - Build 会话0x14aec781bb9000b,协商超时40000 for client /127.0.0.1:60599 2015-01-15 07:46: 37,151 - INFO [NIOServerCxn.Factory:0.0.0.0 / 0.0.0.0:2181:NIOServerCnxnFactory @ 197] - 接受来自/10.0.2.15:58102的套接字连接2015-01-15 07:46:37,152 - WARN [NIOServerCxn.Factory: 0.0.0.0/0.0.0.0:2181:NIOServerCnxn@357] - 捕获流结束异常EndOfStreamException:无法从客户端sessionid 0x0读取其他数据,可能客户端已关闭org.apache.zookeeper.server.NIOServerCnxn.doIO中的套接字( NIOServerCnxn.java:228)atg.apache.zookeeper.server.NIOServerCnxnFactory.run(NIOServerCnxnFactory.java:208)at java.lang.Thread.run(Thread.java:745)2015-01-15 07:46:37,153 - INFO [NIOServerCxn .Factory:0.0.0.0 / 0.0.0.0:2181:NIOServerCnxn @ 1007] - 客户端/10.0.2.15:58102的闭合套接字连接(没有为客户端 Build 会话)

运行Hbase java程序后没有任何反应 .

java CreateSchema

Creating table

请让我知道可能是什么问题 .

1 回答

  • 2

    可能发生这种情况的原因之一是您的 hbase-site.xml 在类路径中不可用 .

    当你运行:

    HBaseConfiguration conf = new HBaseConfiguration(new Configuration());
    

    创建了基于hbase-site.xml的HbaseConfiguration .

    PS:我在我的日食中运行你的代码,它工作正常 . 创建的表样本没有任何错误 .

相关问题