1

我用的是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?

4

1 回答 1

0

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

VoltDB 不支持自制软件安装。不过,很高兴看到这样的事情出现。但是,如果您继续遇到问题,我建议您从voltdb.com下载 VoltDB ,或者按照Github wiki 说明从源代码构建 VoltDB。

最后,您似乎正在使用过时的命令。发布 v5.0 时,不推荐使用“voltdb compile”命令,以支持交互式 DDL。“voltdb create”命令和相关的“join”、“recover”和“add”命令在 v6.8 中被弃用。并替换为一组更简单的命令“voltdb init”和“voltdb start”。我建议您阅读欢迎使用 VoltDB 教程,该教程演示了使用所有最新命令的基础知识。

免责声明:我为 VoltDB 工作。

于 2017-10-10T14:00:09.997 回答