1

JDBC API 経由で voltdb に接続しようとしましたが、常に OutOfMemoryError が発生します。ヒープサイズを大きくすることでそれを取り除くことができますが、なぜ大きなヒープサイズが必要なのか知りたいですか? 私はすでにヒープサイズとして1028Mを設定しています。

Exception in thread "http-bio-8080-exec-206" java.lang.OutOfMemoryError: Java heap space
        at java.nio.HeapByteBuffer.<init>(HeapByteBuffer.java:39)
        at java.nio.ByteBuffer.allocate(ByteBuffer.java:312)
        at org.voltdb.client.ConnectionUtil.getAuthenticatedConnection(ConnectionUtil.java:213)
        at org.voltdb.client.ConnectionUtil.getAuthenticatedConnection(ConnectionUtil.java:143)
        at org.voltdb.client.ConnectionUtil.getAuthenticatedConnection(ConnectionUtil.java:118)
        at org.voltdb.client.Distributer.createConnectionWithHashedCredentials(Distributer.java:614)
        at org.voltdb.client.ClientImpl.createConnectionWithHashedCredentials(ClientImpl.java:171)
        at org.voltdb.client.ClientImpl.createConnection(ClientImpl.java:542)
        at org.voltdb.jdbc.JDBC4ClientConnection.<init>(JDBC4ClientConnection.java:141)
        at org.voltdb.jdbc.JDBC4ClientConnectionPool.get(JDBC4ClientConnectionPool.java:83)
        at org.voltdb.jdbc.Driver.connect(Driver.java:91)
        at java.sql.DriverManager.getConnection(DriverManager.java:582)
        at java.sql.DriverManager.getConnection(DriverManager.java:207)

Deployment.xml

<?xml version="1.0"?>
<deployment>
    <cluster hostcount="1" sitesperhost="2" kfactor="0" />
    <httpd enabled="true" port="65534">
        <jsonapi enabled="true" />
    </httpd>
</deployment>
4

1 に答える 1

1

サーバーの間違ったポートに接続しようとしているようです。HTTP ポートは、JSON プロシージャの実行と、一部の監視と管理に使用されます。クライアントを VoltDB クライアント ポート (デフォルトではポート 21212) に接続する必要があります。

VoltDB が使用するポートとそれらをオーバーライドする方法は、管理ガイドの付録 A.5 に記載されています。

于 2013-12-02T15:22:04.110 に答える