Hi all (long msg, sorry),
My name is Manuel, I'm a PhD student and I'm trying to implement a
distributed p2pDB using Cassandra.
I successfully installed Cassandra on a virtual linux box (after
trying unsuccessfully on a OSX - jdk stuffs). Now it works (the output
is compliant with the one described in the "README" file ).
Then I replicated the linux vm twice, properly editing the network
settings in order to avoid duplicate hostnames/ip addresses obtaining
the following network topology:
10.0.1.1 -> linux01
10.0.1.2 -> linux02
10.0.1.3 -> linux03
Now I have some questions:
1. each "storage-conf.xml" should contain just one of the above ip-
addresses (obviously not the localhost's IP address) in the <Seeds>
section to let cassandra learn the whole topology? Or it must contain
the whole list?
2. how can I see if the nodes of the cluster are "talking" (some
logfile, ...)? (I supposed to find it into the localhost:7002
interface but i see just a host -localhost - and I suppose hosts are
not "talking")
3. What should differ between the "storage-conf.xml" files of each
node?
3.1. the "storage-conf.xml" of each node should contain the table
structure to replicate/propagate the information of the data of a table?
<Tables>
<Table Name="Table1">
<ColumnFamily ColumnSort="Name" Name="Standard1"/>
<ColumnFamily ColumnSort="Name" Name="Standard2"/>
<ColumnFamily ColumnSort="Time" Name="StandardByTime1"/>
<ColumnFamily ColumnSort="Time" Name="StandardByTime2"/>
<ColumnFamily ColumnType="Super" ColumnSort="Name"
Name="Super1"/>
<ColumnFamily ColumnType="Super" ColumnSort="Name"
Name="Super2"/>
</Table>
</Tables>
3.2 finally: should I start a cluster with an empty DB or I can
replicate an existing DB?
My doubt is due to the fact that the VM replication was made after the
installation of Cassandra.
I also submit a couple of errors that raised using the command-line
client:
1. I tried to run the following from linux01:
$> bin/cassandra-cli --host 10.0.1.2 --port 9160
Obtaining the following.
Exception java.net.ConnectException: Connection refused
org.apache.thrift.transport.TTransportException:
java.net.ConnectException: Connection refused
at org.apache.thrift.transport.TSocket.open(TSocket.java:184)
at org.apache.cassandra.cli.CliMain.connect(CliMain.java:59)
at org.apache.cassandra.cli.CliMain.main(CliMain.java:167)
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at
java
.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:310)
at
java
.net
.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:
176)
at
java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:
163)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:381)
at java.net.Socket.connect(Socket.java:537)
at java.net.Socket.connect(Socket.java:487)
at org.apache.thrift.transport.TSocket.open(TSocket.java:179)
... 2 more
Connected to 10.0.1.2/9160
Welcome to cassandra CLI.
No connection has really been made to 10.0.1.2
2. $> bin/cassandra-cli --host localhost --port 9160
cassandra> show config file
Exception Cannot read. Remote side has closed. Tried to read 4 bytes,
but only got 0 bytes.
org.apache.thrift.transport.TTransportException: Cannot read. Remote
side has closed. Tried to read 4 bytes, but only got 0 bytes.
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:86)
at
org
.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:
314)
at
org
.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:
262)
at
org
.apache
.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:
192)
at org.apache.cassandra.service.Cassandra
$Client.recv_getStringProperty(Cassandra.java:696)
at org.apache.cassandra.service.Cassandra
$Client.getStringProperty(Cassandra.java:681)
at
org.apache.cassandra.cli.CliClient.executeShowProperty(CliClient.java:
211)
at org.apache.cassandra.cli.CliClient.executeCLIStmt(CliClient.java:69)
at org.apache.cassandra.cli.CliMain.processCLIStmt(CliMain.java:121)
at org.apache.cassandra.cli.CliMain.processLine(CliMain.java:153)
at org.apache.cassandra.cli.CliMain.main(CliMain.java:187)
cassandra>
No firewall was enabled.
Regards,
Manuel.