Port 9160 is the Apache Cassandra legacy Thrift API port. Thrift was Cassandra's original client protocol, now deprecated in favor of the native CQL protocol on port 9042. Port 9042 should be used for all new Cassandra clients. Port 9160 can be disabled in most Cassandra 4+ deployments.
Port Number
9160
Protocol
TCP
Service
Cassandra Thrift API (legacy)
Range
IANA Registered (1024–49151)
Check if Thrift server is running (should say 'not running' in modern clusters)
nodetool statusthriftDisable Thrift server without restart (temporary, resets on restart)
nodetool disablethriftCheck if Thrift is enabled in config (should be false or absent)
grep 'start_rpc' /etc/cassandra/cassandra.yamlVerify nothing is listening on 9160
ss -tlnp | grep 9160cqlsh localhost 9042
nodetool status
netstat -tlnp | grep 9042Cassandra originally used Facebook's Thrift RPC framework (port 9160) as its client protocol when open-sourced in 2008. CQL (Cassandra Query Language) was introduced in Cassandra 0.8 (2011) on port 9042 as a SQL-like replacement. Thrift was deprecated in Cassandra 3.0 (2015) and completely removed in Cassandra 4.0 (2021). The Thrift API lacked features like prepared statements, pagination, and lightweight transactions.
My application uses port 9160 – how do I migrate to CQL?
Replace Thrift client libraries (Hector, Astyanax, pycassa) with CQL drivers (DataStax Java Driver, python-driver, gocql). CQL uses port 9042. Key differences: CQL uses tables instead of column families, prepared statements for performance, and native protocol v4/v5 for streaming. Schema migration: CQL tables map 1:1 to Thrift column families. Test with dual-read (read from both) before cutting over.
Does ScyllaDB still support Thrift?
ScyllaDB maintained Thrift compatibility longer than Apache Cassandra for migration ease, but deprecated it in ScyllaDB 5.0 (2022) and removed it in 6.0. All ScyllaDB deployments should use CQL on port 9042. ScyllaDB's CQL implementation is wire-compatible with Cassandra's native protocol.