2012-12-27 3 views
1

절약과 함께 카산드라를 사용하여 예외가 발생했습니다. 일부 데이터를 삽입하고 싶습니다. 내가 가진 예외는 여기카산드라의 유모차 운송 예외

package pacan.java.eee; 
import java.nio.ByteBuffer; 
import org.apache.cassandra.thrift.Cassandra; 
import org.apache.cassandra.thrift.Column; 
import org.apache.cassandra.thrift.ColumnParent; 
import org.apache.cassandra.thrift.ConsistencyLevel; 
import org.apache.cassandra.thrift.InvalidRequestException; 
import org.apache.cassandra.thrift.NotFoundException; 
import org.apache.cassandra.thrift.TBinaryProtocol; 
import org.apache.cassandra.thrift.TimedOutException; 
import org.apache.cassandra.thrift.UnavailableException; 
import org.apache.thrift.TException; 
import org.apache.thrift.protocol.TProtocol; 
import org.apache.thrift.transport.TFramedTransport; 
import org.apache.thrift.transport.TSocket; 
import org.apache.thrift.transport.TTransport; 

    public class Main { 

     private static final String UTF8 = "UTF8"; 

     /** 
     * @param args 
     * @throws TException 
     * @throws InvalidRequestException 
     * @throws NotFoundException 
     * @throws TimedOutException 
     * @throws UnavailableException 
     */ 
     public static void main(String[] args) throws InvalidRequestException, TException, NotFoundException, UnavailableException, TimedOutException { 
      TTransport tr = new TFramedTransport(new TSocket("localhost", 7199)); 
      TProtocol protocol = new TBinaryProtocol(tr); 
      Cassandra.Client client = new Cassandra.Client(protocol); 
      tr.open(); 
      client.set_keyspace("keyspace"); 
      ColumnParent colParent = new ColumnParent("User"); 
      ByteBuffer rowid = ByteBuffer.wrap("100".getBytes()); 
      Column column = new Column(); 
      column.setName("description".getBytes()); 
      column.setValue("some value".getBytes()); 
      column.setTimestamp(System.currentTimeMillis()); 
      client.insert(rowid, colParent, column, ConsistencyLevel.ONE); 
      tr.flush(); 
      tr.close(); 
     } 

    } 

: 그리고 여기에 자바 코드는

Exception in thread "main" org.apache.thrift.transport.TTransportException 
    at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:132) 
    at org.apache.thrift.transport.TTransport.readAll(TTransport.java:84) 
    at org.apache.thrift.transport.TFramedTransport.readFrame(TFramedTransport.java:129) 
    at org.apache.thrift.transport.TFramedTransport.read(TFramedTransport.java:101) 
    at org.apache.thrift.transport.TTransport.readAll(TTransport.java:84) 
    at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:378) 
    at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:297) 
    at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:204) 
    at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:69) 
    at org.apache.cassandra.thrift.Cassandra$Client.recv_set_keyspace(Cassandra.java:493) 
    at org.apache.cassandra.thrift.Cassandra$Client.set_keyspace(Cassandra.java:480) 
    at pacan.java.eee.Main.main(Main.java:37) 

도움말, 제발! =) 저는 이미 그것을 Google로 해답을 찾을 수 없었습니다.

답변

4
  • "keyspace"라는 이름으로 키 공간을 정의/생성 했습니까?
  • 포트 7199에서 절약/rpc를 실행하고 있습니까? 기본값은 9160입니다.