VoltDB上的错误:HTTP服务无法绑定到端口8080.正在退出

问题描述:

我使用的是mac。我安装了VoltDB并编译了CREATE语句,但错误“HTTP服务无法绑定到端口8080.退出”。已经发生了。 我的安装流程如下:VoltDB上的错误:HTTP服务无法绑定到端口8080.正在退出

brew install voltdb 

vim users.sql 
-> CREATE TABLE users (
     user_id INTEGER UNIQUE NOT NULL, 
     user_name VARCHAR(40) NOT NULL, 
     created_at TIMESTAMP NOT NULL 
    ); 

voltdb compile -o users.jar users.sql 

voltdb create users.jar 

然后发生上述错误。

Initializing VoltDB... 

_ __  ____ ____ ____ 
| |//___// /_/ __ \/ __) 
| |// __ \//__////__ | 
| |///_/// /_/ /_///_//
|___/\____/_/\__/_____/_____/ 

-------------------------------- 

Build: 6.9 This is not from a known repository Community Edition 
Connecting to VoltDB cluster as the leader... 
Host id of this node is: 0 
FATAL: HTTP service unable to bind to port 8080. Exiting. 
java.lang.Exception: java.net.BindException: Address already in use 

我检查我的本地主机:8080,以下页面显示了(我的PHP版本很老了,所以请不要在意) enter image description here

我还检查使用的端口状态,那么结果如下:

sudo lsof -P -i:8080 
COMMAND PID USER FD TYPE    DEVICE SIZE/OFF NODE NAME 
httpd ***** root ** IPv6 *****************  0t0 TCP *:8080 (LISTEN) 
httpd ***** daemon ** IPv6 *****************  0t0 TCP *:8080 (LISTEN) 
httpd ***** daemon ** IPv6 *****************  0t0 TCP *:8080 (LISTEN) 
httpd ***** daemon ** IPv6 *****************  0t0 TCP *:8080 (LISTEN) 

然后我杀了所有上面的进程,并且“sudo lsof -P -i:8080”的结果变空了。我再次尝试执行“voltdb create users.jar”,但同样的错误已经发生,并且端口状态的结果不为空(与上述状态相同)。 如何在我的Mac上使用voltdb?

您遇到的直接问题似乎是您的EnterpriseDB在端口8080上侦听,因此VoltDB无法绑定到端口。这里列出了VoltDB使用的端口以及如何覆盖它们的说明:https://docs.voltdb.com/AdminGuide/HostConfigPortOpts.php

VoltDB不支持自制安装。不过,看到像这样的事情出现,真是太好了。但是,如果您继续遇到问题,我建议您从voltdb.com下载VoltDB,或者按照Github wiki instructions从源代码构建VoltDB。

最后,看来您使用的是过时的命令。当v5.0发布时,不推荐使用“voltdb compile”命令,而采用交互式DDL。 v6.8中不推荐使用“voltdb create”命令和相关的“join”,“recover”和“add”命令。并用很多simpler set of commands“voltdb init”和“voltdb start”代替。我建议您阅读Welcome to VoltDB tutorial,其中介绍了使用所有最新命令的基础知识。