Oak
Oak

Reputation: 69

I can't open cassandra

It was always normal of Cassandra, but today when I go to bin folder of cassandra and run ./cassandra, there isn't any response, just go into a new command line and no that opening process. And I can't open cqlsh, either. Could you help me solve this issue?

system.log shows the only error:

ERROR [main] 2017-08-07 10:33:59,154 CassandraDaemon.java:655 - Port already in use: 7199; nested exception is:
java.net.BindException: Address already in use (Bind failed) 
java.net.BindException: Address already in use (Bind failed)           
at java.net.PlainSocketImpl.socketBind(Native Method) ~[na:1.8.0_141]           
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387) ~[na:1.8.0_141]
at java.net.ServerSocket.bind(ServerSocket.java:375) ~[na:1.8.0_141]           
at java.net.ServerSocket.<init>(ServerSocket.java:237) ~[na:1.8.0_141]
at javax.net.DefaultServerSocketFactory.createServerSocket(ServerSocketFactory.java:231) ~[na:1.8.0_141]
at org.apache.cassandra.utils.RMIServerSocketFactoryImpl.createServerSocket(RMIServerSocketFactoryImpl.java:33) ~[apache-cassandra-2.2.10.jar:2.2.10]           
at sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(TCPEndpoint.java:666) ~[na:1.8.0_141]     
at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:330) ~[na:1.8.0_141]       
at sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:249) ~[na:1.8.0_141]       
at sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:411) ~[na:1.8.0_141]       
at sun.rmi.transport.LiveRef.exportObject(LiveRef.java:147) ~[na:1.8.0_141]       
at sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:236) ~[na:1.8.0_141]       
at sun.rmi.registry.RegistryImpl.setup(RegistryImpl.java:213) ~[na:1.8.0_141]       
at sun.rmi.registry.RegistryImpl.<init>(RegistryImpl.java:173) ~[na:1.8.0_141]       
at sun.rmi.registry.RegistryImpl.<init>(RegistryImpl.java:144) ~[na:1.8.0_141]       
at java.rmi.registry.LocateRegistry.createRegistry(LocateRegistry.java:239) ~[na:1.8.0_141]       
at org.apache.cassandra.service.CassandraDaemon.maybeInitJmx(CassandraDaemon.java:119) [apache-cassandra-2.2.10.jar:2.2.10]       
at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:188) [apache-cassandra-2.2.10.jar:2.2.10]       
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:533) [apache-cassandra-2.2.10.jar:2.2.10]       
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:642) [apache-cassandra-2.2.10.jar:2.2.10] 

Upvotes: 1

Views: 983

Answers (2)

Aaron
Aaron

Reputation: 57738

If something is legitimately using the default JMX port (7199) you can change the port that Cassandra uses for JMX quite easily. Look for the JMX_PORT line in the cassandra-env.sh file, and change it to a port that you know isn't being used:

JMX_PORT="7199"

to:

JMX_PORT="9455"

Eliminate that port conflict, and see if Cassandra will start then.

Upvotes: 0

Uttam Kasundara
Uttam Kasundara

Reputation: 237

It seems like port are already in use. You can kill process as below

sudo fuser -n tcp 7199

It will show all process id of running on that port. You can kill using below command.

sudo kill -9 Pid

Now start Cassandra. it will start.

Upvotes: 1

Related Questions