I am starting to work with Titan and I am using cassandra as backend store.
When I start titan.sh cassandra and elasticsearch were started but the gremlin server did not.
I was looking at titan.sh and I have seen that it start gremlin server with conf/gremlin-server/gremlin-server.yaml. The problem is that the gremlin-server.yaml is configured as this:
graphs: {
graph: conf/gremlin-server/titan-berkeleyje-server.properties}
Using BerkeleyDb. I have not seen the cassandra.yaml for Gremlin Server.
How can I configure the it for Cassandra ?
Thanks
A fix from Stephen has been checked in to address this https://github.com/thinkaurelius/titan/commit/89c0a2b30e798a13e098949c219730b228bcc82a
Related
I am using Cassandra 3.11 docker image for my application. But I am getting below. Can someone suggest a fix here
Enable Thrift server of Cassandra
The error means that JanusGraph can't connect to cassandra with thrift, So you have to enable thrift on cassandra.
Use the below command to enable thrift
nodetool enablethrift
I've read most of their documentation, looked into TinkerPop. Tried setting up Docker instances, EC2 instances using AWS CloudFormation template they recommended for Titan 1.0.0 but still can't work it out.
I can start the Titan database, connect gremlin to it and make queries etc. but how do I use it from NodeJs. It seems like since they upgraded to 1.0.0 the documentation doesn't explain it very well. Rexster is now gone as far as I'm aware and was replaced by Gremlin Server but I still can't find anything on remotely working with it.
Really tempted to sack it and move over to Neo4j but don't want to be bound to using a single machine, I want the scalability that Titan allows. I've managed to get older versions of Titan working with Rexster but I need to get the new version running.
Can anyone explain what I need to do or if it's perhaps broken? Or just point me in the right direction.
Thanks
Gremlin Server is the replacement for Rexster in TinkerPop3, which Titan 1.0 uses. In the Gremlin Server documentation, you can find a lot more detail on configuration than the Titan docs.
Under titan-1.0.0-hadoop1/conf/gremlin-server/gremlin-server.yaml, you can find the configuration settings for the server. Out of the box, it uses WebSockets and a BerkeleyDB backend. You can update those settings to match your set up. For example, here's a Titan server configuration for Cassandra and Elasticsearch. If you are planning to connect to it from a different computer, make sure to update the host property.
Start the server with bin/gremlin-server.sh conf/gremlin-server/gremlin-server.yaml then you can connect to it with a remote connection. As described in the TinkerPop docs, you could connect with a Gremlin Console then issue commands to the remote server.
gremlin> :remote connect tinkerpop.server conf/remote.yaml
gremlin> :> g.V().values('name')
For using Node, you can use this WebSockets Gremlin client. You can find client libraries for other languages on the TinkerPop homepage.
I have a cassandra cluster (2.1.0) running fine.
After installing titan 5.1, and editing the titan-cassandra.properties to point to cluster hostname list rather than localhost, i run following -
titan.sh -c conf/titan-cassandra.properties start
It is able to recognize running cassandra instance, starts elastic search, but times out while connecting to rexster.
If i run it with local cassandra, everything runs fine using following ->br>
titan.sh start
do i need to make any change in rexster properties to point to running cassandra cluster..
Thanks in advance
Titan Server started by titan.sh represents a quick way to get started with Titan/Rexster/ES. It is designed to simplify running all those things with one startup script. Once you start breaking things apart (e.g. a separate cassandra cluster), you might not want to use titan.sh anymore because, it still forks a cassandra process when it starts up. Presumably, you don't need that anymore, given that you have a separate cassandra cluster.
Given the more advanced nature of your environment, I would simply download Rexster and configure it to connect to your cluster.
I am trying to learn Cassandra and have setup a 2 node Cassandra cluster. I have written a client in Java using cassandra jdbc driver, which currently connects to a hard coded single node in the cluster. Ideally, I would like my client to connect to the "cluster" rather then a specific node.
So that client code automatically connects to other node if the first node is down.
Is this possible using cassandra jdbc driver? Currently using below code to create connection
DriverManager.getConnection("jdbc:cassandra://localhost:9160/testdb");
Yes. If you're using the Datastax Java driver, you can get all of these benefits and more. From the documentation:
The driver has the following features:
connection pooling
node discovery
automatic failover
load balancing
What is your language? If you're using Java, I suggest for Hector framework.
http://hector-client.github.io/hector/build/html/index.html
I think it's very good for correspond on Cassandra db.
Have anyone tried using Play framework(2.0.4) application with connect to cassandra db via kundera? I want to implement Zookeeper on top of cassandra DB. Have anyone tried combining them before?
I guess integration with play framework via Kundera is possible. Implementing zookeeper on top of cassandra is also possible, i guess. Did you look into cage API for this?
-Vivek