Cannot Connect to Cassandra API Service
1. Are YugaByte processes running?
First, ensure that the expected YugaByte DB processes on the current node. At a minimum, the tserver process needs to be running to be able to connect to this node with a CQL client or application. Additionally, depending on the setup, you might expect a master process to also be running on this node. Follow the instructions on the Check Processes page.
2. Is the YugaByte DB Cassandra server running?
If the tserver process is running, make sure the YugaByte CQL server is enabled and listening on the CQL port (default
$ lsof -i :9042 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME yb-tserve 81590 centos 131u IPv4 0xdeadbeef 0t0 TCP localhost:9042 (LISTEN)
Note: when running a local cluster with
yb-ctl you should see all the nodes here with different IPs. For instance:
$ lsof -i :9042 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME yb-tserve 81590 centos 131u IPv4 0xdeadbeef 0t0 TCP localhost:9042 (LISTEN) yb-tserve 81593 centos 131u IPv4 0xdeadbeef 0t0 TCP 127.0.0.2:9042 (LISTEN) yb-tserve 81596 centos 131u IPv4 0xdeadbeef 0t0 TCP 127.0.0.3:9042 (LISTEN)
If there is another process using this port you might need to stop that and restart the tserver process.
Otherwise, if no process is listening but the tserver is running, check the value of the
--cql_proxy_bind_address flag passed to the
3. Can the CQL shell connect locally?
Once on the machine where YugaByte DB is running, use
cqlsh to connect to the local YugaByte DB instance.
Depending on your installation, you may need to install
cqlsh, otherwise you can find it in the YugaByte
cqlsh can connect, the issue is likely a network issue with the original client not being able to access this node where YugaByte DB is running. See also Are Master or TServer Endpoints Accessible?.