java - 不是主机 :port while connecting hbase using java

标签 java hadoop hbase

public class HbaseConnectorClass {

private HTable table; 
private static final Logger log = LoggerFactory.getLogger(HbaseConnectorClass.class); 

public static void main(String[] args) throws Exception {

    System.out.println("trying to connect ......");
    Configuration conf = HBaseConfiguration.create();

    conf.set("hbase.zookeeper.quorum", "localhost");
    conf.set("hbase.zookeeper.property.clientPort", "2222");
    conf.set("hbase.master", "localhost:60000");        

    try
    {
        System.out.println("Hbase is running!");
        HTable table = new HTable(conf,"personal");
        Put put = new Put(Bytes.toBytes("doe-john-m-12345"));
        put.add(Bytes.toBytes("personal"), Bytes.toBytes("givenName"), Bytes.toBytes("John"));
        put.add(Bytes.toBytes("personal"), Bytes.toBytes("mi"), Bytes.toBytes("M"));
        put.add(Bytes.toBytes("personal"), Bytes.toBytes("surame"), Bytes.toBytes("Doe"));
        put.add(Bytes.toBytes("contactinfo"), Bytes.toBytes("email"), Bytes.toBytes("john.m.doe@gmail.com"));
        table.put(put);
        table.flushCommits();
        table.close();

        System.out.println("Table created");
    }
    catch(Exception ex)
    {
        ex.printStackTrace();
    }   
}
} 

Exception in thread "main" java.lang.IllegalArgumentException: Not a host:port pair: PBUF hadoop�}�����*�} at org.apache.hadoop.hbase.util.Addressing.parseHostname(Addressing.java:60) at org.apache.hadoop.hbase.ServerName.(ServerName.java:96)at org.apache.hadoop.hbase.ServerName.parseVersionedServerName(ServerName.java:278) at org.apache.hadoop.hbase.MasterAddressTracker.bytesToServerName(MasterAddressTracker.java:77) at org.apache.hadoop.hbase.MasterAddressTracker.getMasterAddress(MasterAddressTracker.java:61) at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getMaster(HConnectionManager.java:631) at org.apache.hadoop.hbase.client.HBaseAdmin.(HBaseAdmin.java:106) at com.networkfleet.hbase.practice.HbaseConnectorClass.creatTable(HbaseConnectorClass.java:82)at com.networkfleet.hbase.practice.HbaseConnectorClass.main(HbaseConnectorClass.java:63)

最佳答案

很可能是由于 HBase 服务器和 HBase 客户端 jar 之间的版本不匹配

检查你的服务器和客户端版本

关于java - 不是主机 :port while connecting hbase using java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39784163/

相关文章:

hadoop - java.lang.IllegalStateException : No clusters found. 检查你的 -c 路径

3次重试后,HBase错误Zookeeper存在失败

java - 泛型类的类型参数化字段在升级到 Java 7 后变得不可见

java - 这是java泛型吗?这怎么可能工作?

hadoop - HiveQL 和排名()

hadoop - 当 hive 由 hbase 支持时,是否支持所有 hive 查询?

java - 使用 JanusGraph Java API 和 HBase 时出现 TemporaryBackendException

java - Hibernate 中的 @onetomany 注释不正确

java - OSGI:如何找出哪些 bundle 订阅了我的服务引用字典中定义的特定属性?

hadoop - 找不到Hadoop日志文件