我用的是mac。我安装了VoltDB并编译了CREATE语句,但错误" 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
我检查了我的localhost:8080,显示了以下页面。(我的php版本很旧,所以请不要关心。)
我还检查了端口使用状态,结果如下:
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?
答案 0 :(得分:0)
您遇到的直接问题似乎是您在端口8080上侦听EnterpriseDB,因此VoltDB无法绑定到该端口。此处列出了VoltDB使用的端口,以及有关如何覆盖它们的说明:https://docs.voltdb.com/AdminGuide/HostConfigPortOpts.php
VoltDB不支持自制安装。不过,很高兴看到这样的事情出现了。但是,如果您继续遇到问题,我建议您从voltdb.com下载VoltDB,或者按照Github wiki instructions从源代码构建VoltDB。
最后,您似乎使用的是过时的命令。 " voltdb编译"发布v5.0时不推荐使用command,而使用交互式DDL。 " voltdb创建"命令及相关的"加入"," recover","添加"命令在v6.8中已弃用。并用很多simpler set of commands" voltdb init"和" voltdb启动"。我建议您浏览Welcome to VoltDB tutorial,其中演示了使用所有最新命令的基础知识。
免责声明:我为VoltDB工作。