java - Hbase表未列出

标签 java hadoop hbase apache-zookeeper

我已经创建了一个示例Java程序来在HBase中创建一个表,它显示成功创建了该表。但是当我打开HBase终端并使用list命令时,创建的表不存在。为什么会这样?我的代码如下

    Configuration config = HBaseConfiguration.create();
    conf.set("hbase.master","192.168.1.47:60000");
       Configuration config = HBaseConfiguration.create();
         config.set("hbase.zookeeper.quorum", "192.168.1.47");
         config.set("hbase.zookeeper.property.clientPort", "2181");
         config.set("hbase.master", "192.168.1.47:60000");
         config.set("zookeeper.znode.parent", "/hbase-unsecure");
    HBaseAdmin hbase = new HBaseAdmin(conf);

    HTableDescriptor desc = new HTableDescriptor("sample");
    HColumnDescriptor meta = new  ColumnDescriptor("samplecolumn1".getBytes());
    desc.addFamily(meta);
    System.out.println( "Created Success fully..." );
hbase.createTable(desc);
192.168.1.47:60000是Hbase所在的位置。

编辑后:

我也尝试了一下,这给了我一个错误,
Eception in thread "main" org.apache.hadoop.hbase.MasterNotRunningException: com.google.protobuf.ServiceException: java.net.UnknownHostException: unknown host: sandbox.hortonworks.com
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$StubMaker.makeStub(HConnectionManager.java:1651)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$MasterServiceStubMaker.makeStub(HConnectionManager.java:1677)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getKeepAliveMasterService(HConnectionManager.java:1884)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.listTables(HConnectionManager.java:2589)
at org.apache.hadoop.hbase.client.HBaseAdmin.listTables(HBaseAdmin.java:307)
at org.HBaseJDBC.HBaseClient.main(HBaseClient.java:53)Caused by: com.google.protobuf.ServiceException: java.net.UnknownHostException: unknown host: sandbox.hortonworks.com
at org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1673)
at org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1714)
at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$BlockingStub.isMasterRunning(MasterProtos.java:42561)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$MasterServiceStubMaker.isMasterRunning(HConnectionManager.java:1688)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$StubMaker.makeStubNoRetries(HConnectionManager.java:1597)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$StubMaker.makeStub(HConnectionManager.java:1623)

最佳答案

您尚未在上面的代码中创建表,仅提供了名称和架构信息。

在添加“完全创建成功”之前,请添加以下行-

hbase.createTable(desc);

关于java - Hbase表未列出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28084087/

相关文章:

java - 将数据加载到Hbase

java - 如何获取java中抛出的IOException的文件名?

java - 简单的 Jackson XML 反序列化到 Java 不起作用

shell - 在HDFS中查找和删除零字节文件

hadoop - Google Cloud 上的 Hive 需要对/tmp 的权限,但无法更改权限

hadoop - 将制表符分隔的键值数据加载到Hadoop中

apache - 如何在不重新启动 oozie 作业的情况下重新加载 oozie 作业配置文件

java - 有没有办法使用 Universal Image Loader 主动加载照片?

java - 收到异常 ClassNotFoundException 并且不知道为什么

hadoop - 如何从映射器向驱动程序报告一个值?