gpt4 book ai didi

java - Hbase Java API TableNotDisabledException

转载 作者:可可西里 更新时间:2023-11-01 14:56:53 24 4
gpt4 key购买 nike

我已经在我的本地系统上配置了 Apache hbase 0.94.14。我必须通过 java API 与 hbase 通信。我编写了简单的代码来在现有的 hbase 表中添加一个新的列族。

Java类代码

         // Instantiating configuration class.
Configuration conf = HBaseConfiguration.create();
// Instantiating HBaseAdmin class.
HBaseAdmin admin = new HBaseAdmin(conf);

// Instantiating columnDescriptor class
HColumnDescriptor columnDescriptor =new
HColumnDescriptor("contactDetails");
// Adding column family
admin.addColumn("local_webpage", columnDescriptor);
System.out.println("column added");

当我运行这段代码时,发生了以下异常。

16/08/11 14:07:37 INFO zookeeper.ClientCnxn: EventThread shut down
Exception in thread "main" org.apache.hadoop.hbase.TableNotDisabledException: org.apache.hadoop.hbase.TableNotDisabledException: local_webpage
at org.apache.hadoop.hbase.master.HMaster.checkTableModifiable(HMaster.java:1525)
at org.apache.hadoop.hbase.master.handler.TableEventHandler.<init>(TableEventHandler.java:72)
at org.apache.hadoop.hbase.master.handler.TableAddFamilyHandler.<init>(TableAddFamilyHandler.java:41)
at org.apache.hadoop.hbase.master.HMaster.addColumn(HMaster.java:1402)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:323)
at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1426)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at org.apache.hadoop.hbase.RemoteExceptionHandler.decodeRemoteException(RemoteExceptionHandler.java:96)
at org.apache.hadoop.hbase.client.HBaseAdmin.addColumn(HBaseAdmin.java:1071)
at org.apache.hadoop.hbase.client.HBaseAdmin.addColumn(HBaseAdmin.java:1054)
at hbaseclient.HbaseClient.main(HbaseClient.java:44)
/home/user/.cache/netbeans/8.1/executor-snippets/run.xml:53: Java returned: 1

如果我通过 hbase shell 添加列族,不会出现问题。问题出在哪里。正在通过 Apache Nutch 2.3.1 创建表

最佳答案

您必须先禁用表格,然后才能向其中添加家庭。

HBaseAdmin#disableTable()...

我认为这是绕过异常的唯一问题。

关于java - Hbase Java API TableNotDisabledException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38892091/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com