質問: new Cassandra.Client(protocol); port.open(); // クラスタ名の表示 System.out.printf("Cluster name : [%s]\n", client.describe_cluster_name()); // バージョンの表示 System.out.printf("Version : [%s]\n", client.describe_version()); // // 接続中クラスタの全キースペースを取得 // for (String keyspace : client.describe_keyspaces()) { // // キースペース名の表示 // System.out.printf("Keyspace : [%s]\n", keyspace); // // キースペース内の全 Column Family の取得 // for (Map.Entry> entry : client.describe_keyspace(keyspace).entrySet()) { // System.out.printf("\tColumn Family : [%s]\n", entry.getKey()); // for (Map.Entry innerEntry : entry.getValue().entrySet()) { // System.out.printf("\t\t[%s]:[%s]\n", innerEntry.getKey(), innerEntry.getValue()); // } // } // } port.close(); } catch (Exception e) { e.printStackTrace(); } } } ``` ### 補足情報(使用バージョンなど) Eclipse:Version: 2018-09 (4.9.0) cassandra:apache-cassandra-3.11.3 6 ### 発生している問題・エラーメッセージ 上記バージョンでおこなていますが、デバッグするとport.open();のところでエラーが検出されます。 一体どういう理由が考えられるのでしょうか? ``` org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused (Connection refused) at org.apache.thrift.transport.TSocket.open(TSocket.java:187) at SimpleInsert1.main(SimpleInsert1.java:34) Caused by: java.net.ConnectException: Connection refused (Connection refused) at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at org.apache.thrift.transport.TSocket.open(TSocket.java:182) ... 1 more ``` 以下のメッセージにもはまっており、デバッグができかねる状況です。 ``` 「注: この要素の Javadoc は、添付されたソースまたは添付された Javadoc で見つかりませんでした。」 ``` ### 試したこと 以下を設定しましたが表示されません。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/febdc06d193c2cfc28ec1476cce6cbf7.png) 調べていますが解決していません。可能であればこちらもご教授頂ければ助かります。 ### 状況 これくらいは自力で調査していけと言われそうですが、このテーマを行ってから結構時間がたっています。 java、eclipseにもそんなに詳しいわけではなく、調べるところが多いです。 効率のいい道筋があればいいですが試行錯誤でできることから少しずつでも前に進めています。 もう少しスピードをあげたいです。 解決の方向としておそらく今回のバージョンに合わせ、接続箇所を変更する必要があると思いますので、そこを中心に調査中です。 しかしながらその調査にあたりわからないことが色々あり、例えば上記のjavadocに関してで、これを設定しないとデバッグの調査が進みません。 1つ1つの調査に時間がかかりすぎています。 調査はもちろん進めますが、何かわかることがあればお力いただきたいです。 どうかよろしくお願いします。
回答: 【1】 エラーメッセージに**Connection refused (Connection refused)**とありますので、接続できなかったよエラーですね。 現時点で出されている情報から推測すると、下記が考えられます。 * ローカルにCassandraが構築されていない。 * Cassandraのポートが空いていない。 * Cassandraにログインするための情報を別の場所で持ってるんでしょうけど、そのパスワード等が間違っている。 【2】 自分が業務で、WebアプリケーションでCassandraを使用した時は、下記URLに乗ってる感じで接続させましたが、絶対Thrift使わないといけないんでしょうか?(datastaxのJavaのドライバーとか http://blog.katty.in/6408 【3】 **注: この要素の Javadoc は、添付されたソースまたは添付された Javadoc で見つかりませんでした。** については、単純にJavadocが書かれていないか、関連付いてないかと思うので下記を試すのはいかがでしょうか。 http://www.atmarkit.co.jp/ait/articles/0408/03/news106.html