我已经编写了一个简单的java代码,用于在hbase中创建一个表,但不知何故它不起作用。我检查了所有服务都在运行,即HMaster
,Regionserver
和Zookeeper
。下面是我写的代码
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");
}
}
}
这是一个zookeeper日志。
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;将被删除 如果服务器处于r-o模式2015-01-15 07:46:01,595 - INFO [NIOServerCxn.Factory:0.0.0.0 / 0.0.0.0:2181:ZooKeeperServer @ 868] - 客户端尝试在/127.0.0.1:60599建立新会话 2015-01-15 07:46:01,619 - INFO [SyncThread:0:ZooKeeperServer @ 617] - 建立会话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] - 2015-10-15 /10.0.2.15:58102接受的套接字连接 07:46:37,152 - 警告 [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) 在org.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的闭合套接字连接(无会话 为客户建立)
运行Hbase java程序后没有任何反应。
java CreateSchema
Creating table
请让我知道可能是什么问题。
答案 0 :(得分:2)
可能发生这种情况的原因之一是您的hbase-site.xml
在类路径中不可用。
当你跑步时:
HBaseConfiguration conf = new HBaseConfiguration(new Configuration());
创建了基于hbase-site.xml的HbaseConfiguration。
PS:我在我的日食中运行了你的代码并且运行正常。创建的表样本没有任何错误。