2016-07-16 5 views
0

私はちょうどCrate(バージョンcrate-0.55.2)を使い始めました。 私はJDBC経由でCrateに接続したいです。私は私のJavaのビルド・パスにライブラリ "クレート-JDBC-スタンドアロン-1.9.3.jar" を追加しましたcrate.io jdbc接続に失敗しました

import java.sql.*; 
//import io.crate.*; 
public class CrateTestDemo { 
    private Connection connection; 
    public static void main(String[] args) {  
     CrateTestDemo t = new CrateTestDemo(); 
     try { 
      t.setupDatabase(); 
     } catch (ClassNotFoundException | SQLException e) { 
      e.printStackTrace(); 
      System.out.println("e="+e.getMessage()); 
     } 
    } 
    public void setupDatabase() throws ClassNotFoundException, SQLException { 
     Class.forName("io.crate.client.jdbc.CrateDriver"); 
     connection = DriverManager.getConnection("crate://127.0.0.1:4301"); 
    } 
} 

: は、ここに私のJavaコードのサンプルです。そして私は "transport.tcp.port"を "crate.yml"ファイルの4301に変更しました。 (他のすべての設定は変更されず、このポートのみ)。 私は私のJavaコードを実行すると、私はEclipseで次の出力取得しています:

[2016-07-16 16:26:00,983][WARN ][transport.netty   ] [Grasshopper II] exception caught on transport layer [[id: 0x98b5bc2f, /127.0.0.1:64412 => /127.0.0.1:4301]], closing connection 
java.lang.IllegalStateException: Message not fully read (request) for requestId [0], action [cluster/nodes/info], readerIndex [39] vs expected [57]; resetting 
    at org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(MessageChannelHandler.java:120) 
    at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70) 
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) 
    at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791) 
    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296) 
    at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462) 
    at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:443) 
    at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303) 
    at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70) 
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) 
    at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791) 
    at org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(OpenChannelsHandler.java:75) 
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) 
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559) 
    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268) 
    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255) 
    at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88) 
    at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:108) 
    at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:337) 
    at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89) 
    at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178) 
    at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) 
    at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 

誰もが持っているものを知っています:私は、この取得しています「crate.log」ファイルで

log4j:WARN No appenders could be found for logger (io.crate.shade.org.elasticsearch.common.compress.lzf). 
log4j:WARN Please initialize the log4j system properly. 
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 
java.sql.SQLException: Connect to '127.0.0.1:4301' failed 
    at io.crate.client.jdbc.CrateConnection.connect(CrateConnection.java:58) 
    at io.crate.client.jdbc.CrateDriver.connect(CrateDriver.java:67) 
    at java.sql.DriverManager.getConnection(DriverManager.java:664) 
    at java.sql.DriverManager.getConnection(DriverManager.java:270) 
    at CrateTestDemo.setupDatabase(CrateTestDemo.java:19) 
    at CrateTestDemo.main(CrateTestDemo.java:10) 
Caused by: io.crate.shade.org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes are available: [] 
    at io.crate.shade.org.elasticsearch.client.transport.TransportClientNodesService.ensureNodesAreAvailable(TransportClientNodesService.java:309) 
    at io.crate.shade.org.elasticsearch.client.transport.TransportClientNodesService.execute(TransportClientNodesService.java:201) 
    at io.crate.client.InternalCrateClient.execute(InternalCrateClient.java:87) 
    at io.crate.client.InternalCrateClient.execute(InternalCrateClient.java:70) 
    at io.crate.client.InternalCrateClient.sql(InternalCrateClient.java:59) 
    at io.crate.client.CrateClient.sql(CrateClient.java:152) 
    at io.crate.client.jdbc.CrateStatement.execute(CrateStatement.java:65) 
    at io.crate.client.jdbc.CrateStatementBase.executeQuery(CrateStatementBase.java:37) 
    at io.crate.client.jdbc.CrateDatabaseMetaData.getDatabaseProductVersion(CrateDatabaseMetaData.java:79) 
    at io.crate.client.jdbc.CrateConnection.connect(CrateConnection.java:56) 
    ... 5 more 
e=Connect to '127.0.0.1:4301' failed 

を私の小さなJavaコードを稼働させるために実行する必要がありますか?ありがとう。

答えて

関連する問題