基于单机版demo服务简单测试obkv-table报错

1、下载一键部署包后安装部署后,执行odb demo,启动单机版demo服务;
2、参照官网教程https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002022344,编写obkv-table的简单测试代码;
3、测试代码如下:
String paramURL = “http://10.11.3.83:2882/services?Action=ObRootServiceInfo&ObCluster=demo&database=mysql”;

    ObTableClient obkvHandle = new ObTableClient();
    obkvHandle.setParamURL(paramURL);
    obkvHandle.setFullUserName("root@sys#demo");
    obkvHandle.setPassword("F9IdNy2CEcSxhHHqGKmh");
    obkvHandle.setSysUserName("root");
    obkvHandle.setSysPassword("F9IdNy2CEcSxhHHqGKmh");
    try {
        obkvHandle.init();
    } catch (Exception e) {
        throw new RuntimeException(e);
    }

4、启动执行一直报错,请教大佬,初始化ObTableClient对象正确方法。

报错发一下看看

url里端口应该是8080
此外用户名应该是业务租户的用户名,不是 sys租户。

您好,url里的端口8080,是什么类型的端口?我看了启动demo服务,没有8080端口,我使用obd demo启动的简单测试用的ob服务。

如果是简单测试,也不能用sys租户吗?必须要用普通业务租户的用户名吗?

文档中给的是8080端口
Config URL: http://127.0.0.1:8080/services?Action=ObRootServiceInfo&ObCluster=obkv
简单测试建议也不要使用系统租户

1 个赞

如果使用ODP模式,也是报错,测试代码如下:
ObTableClient obkvHandle = new ObTableClient();

    obkvHandle.setOdpMode(true);
    obkvHandle.setOdpAddr("10.11.3.83");
    obkvHandle.setOdpPort(2885);
    obkvHandle.setDatabase("mysql");
    obkvHandle.setFullUserName("root@sys#demo");
    obkvHandle.setPassword("F9IdNy2CEcSxhHHqGKmh");
    try {
        obkvHandle.init();
    } catch (Exception e) {
        throw new RuntimeException(e);
    }

    System.exit(0);

报错信息如下:
Sofa-Middleware-Log:WARN [com.alipay.remoting] No log util is usable, Default app logger will be used.
Exception in thread “main” java.lang.RuntimeException: java.lang.RuntimeException: java.lang.NumberFormatException: For input string: “0:0:0:0:0:0:0:1”
at cn.bitnei.gpd.vecc.App.main(App.java:35)
Caused by: java.lang.RuntimeException: java.lang.NumberFormatException: For input string: “0:0:0:0:0:0:0:1”
at com.alipay.oceanbase.rpc.ObTableClient.init(ObTableClient.java:199)
at cn.bitnei.gpd.vecc.App.main(App.java:33)
Caused by: java.lang.NumberFormatException: For input string: “0:0:0:0:0:0:0:1”
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Long.parseLong(Long.java:589)
at java.lang.Long.parseLong(Long.java:631)
at com.alipay.oceanbase.rpc.bolt.transport.ObTableConnection.ipToLong(ObTableConnection.java:56)
at com.alipay.oceanbase.rpc.bolt.transport.ObTableConnection.connect(ObTableConnection.java:133)
at com.alipay.oceanbase.rpc.bolt.transport.ObTableConnection.init(ObTableConnection.java:91)
at com.alipay.oceanbase.rpc.table.ObTable$ObTableConnectionPool.init(ObTable.java:743)
at com.alipay.oceanbase.rpc.table.ObTable.init(ObTable.java:95)
at com.alipay.oceanbase.rpc.table.ObTable$Builder.build(ObTable.java:701)
at com.alipay.oceanbase.rpc.ObTableClient.initMetadata(ObTableClient.java:437)
at com.alipay.oceanbase.rpc.ObTableClient.init(ObTableClient.java:191)
… 1 more

进程已结束,退出代码为 1

ob的版本是什么 使用425bp2。端口有测试使用8080么