我是Cassandra数据库的新手。我已经下载了Cassandra并设置了JAVA_HOME。当我尝试运行时,抛出以下异常:
Exception thrown by the agent : java.rmi.server.ExportException: Port already in use: 7199; nested exception is:
java.net.BindException: Address already in use: JVM_Bind.
有人可以帮我解决这个问题吗?
答案 0 :(得分:12)
对于那些使用Ubuntu OS遇到同样问题的人来说,一个解决办法就是杀死CassandraDaemon:
pkill -f CassandraDaemon
第一次启动时,命令“cassandra -f”后台守护程序正在运行,因此Ctrl ^ C不会停止该过程。
答案 1 :(得分:2)
我看来Cassandra已经在后台运行了。尝试使用cassandra-cli
进行连接。
答案 2 :(得分:2)
您可以通过检查端口
来检查cassandra是否正在运行lsof -i :9160
如果你得到的结果意味着它正在运行
如果要杀死它,请执行kill -9 "then the pid you got from the last step"
如果您想查看正在进行的日志运行
cassandra -f when you start cassandra
答案 3 :(得分:1)
ps -ax | grep cassandra
,请注意流程ID
kill <pid>
sudo ./cassandra
答案 4 :(得分:0)
从http://technet.microsoft.com/en-us/sysinternals/bb897437
下载TCPView打开TCPView应用程序并按端口
对输出进行排序点击指向Port - 7199
的记录右键单击并“结束流程”
现在,运行Cassandra.bat它应该可以工作。
答案 5 :(得分:0)
我正在写相同的内容,但对于Windows Developer命令提示符: 可以说它与9042端口有关的显示问题
netstat -ano | findstr:9042
列出使用端口9042的所有进程
taskkill / PID 237979 / F
此处237979是使用端口9042的进程ID
答案 6 :(得分:0)
端口7199是默认的Cassandra的JMX端口(用于监视)。
如果您要在一台物理计算机上运行多个实例,请修改$CASSANDRA_HOME/conf/cassandra-env.sh
配置文件并设置其他端口,例如7299
JMX_PORT="7299"