Skip to content

troubleshooting: nodetool does not work

Tzach Livyatan edited this page Dec 29, 2015 · 1 revision

First some background:

Scylla implement a HTTP server, exposing REST API.

A different java program, running from service scylla-jmx, listen to JMX request, convert it to REST, and than convert the response back to JMX.

Nodetool use JMX for all of its operations.

Troubleshooting nodetool issue:

check the nodetool with nodetool info If you get a response nodetool is working with scylla and you are done.

If you get the following response:

nodetool: Failed to connect to '127.0.0.1:7199' - ConnectException: 'Connection refused'.

scylla-jmx service is probably down (see below)

If you get something like

$ nodetool invalidatekeycache
error: API call is not supported yet

The nodetool operation you are looking for is not implemented yet. Look for the relevant issue or open a new issue if its not there yet.

validate scylla itself is working

Use sudo service scylla-server status. The results should look like

● scylla-server.service - Scylla Server
   Loaded: loaded (/usr/lib/systemd/system/scylla-server.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2015-12-29 10:44:20 UTC; 6h ago

(Notice the Active)

If this is not the case, try starting scylla service with sudo service scylla-server start and check the logs for errors

validate scylla HTTP server is active

scylla should response to the following REST request:

$ curl http://localhost:10000/storage_service/release_version
"2.1.8"

The 2.1.8 response prove the HTTP server is up and running. If this is not the case, scylla might listen on a different IP:Port. Check api_port and api_address in /etc/scylla/scylla.yaml. Usually it will look like:

api_port: 10000
api_address: 127.0.0.1

scylla-smx do use scylla.yaml, so using different value is not a problem.

validate scylla-jmx is running

Use sudo service scylla-jmx status to check the service is active. If, for any reason, scylla-jmx fails to connect to scylla, the process will restart (by systemd) every few seconds. Looking at the logs with journalctl -u scylla-jmx will show that. If this is the case, make sure to add the two API params mentioned above to scylla.yaml

Clone this wiki locally