Influxdb “Linux Windows子系统上的XDB”;“无法分配内存”;

Influxdb “Linux Windows子系统上的XDB”;“无法分配内存”;,influxdb,windows-subsystem-for-linux,Influxdb,Windows Subsystem For Linux,在运行Ubuntu 16.04的Windows Linux子系统上,我根据。我无法将其作为服务或使用systemctl运行,可能是因为WSL不支持这一点(请参阅GitHub问题和),因此这两种方法都不起作用: $ sudo service influxdb start influxdb: unrecognized service $ sudo systemctl start influxdb Failed to connect to bus: No such file or directory

在运行Ubuntu 16.04的Windows Linux子系统上,我根据。我无法将其作为服务或使用systemctl运行,可能是因为WSL不支持这一点(请参阅GitHub问题和),因此这两种方法都不起作用:

$ sudo service influxdb start
influxdb: unrecognized service
$ sudo systemctl start influxdb
Failed to connect to bus: No such file or directory
如果我运行
$sudo influxd
,Influx将启动,但随后会随着消息崩溃

run: open server: open tsdb store: cannot allocate memory

如何修复“无法分配内存”错误?

在Win10 Spring 2018更新中,我运行了以下操作:

sudo apt install influxdb influxdb-client -y
安装良好

根据文件…

…已使用以下命令启动服务:

sudo service influxdb start
一开始很好:

让我们连接、检查并创建一个数据库:


如果我在这里重新编程时出错,请告诉我,否则,这个问题看起来已经解决。

我刚在WSL中安装时遇到这个问题,但是安装了
systemd
。安装XDB包时,它注册了一个systemd单元,因此我无法使用init.d启动它。我用计算机解决了这个问题。我没有找到init.sh脚本的死链接,而是搜索了一个旧版本并找到了它

使XDB在WSL中工作的步骤(至少在安装systemd时):
  • 使用sudo apt Install influxdb安装influxdb
  • 将的内容复制到位置
    /etc/init.d/influxdb
  • 您现在可以使用
    sudo服务influxdb start
    启动influxdb

  • 对我来说,它在启动时显示了一条错误消息,但它仍然正确启动。

    我卸载并删除了我的数据库(
    $sudo apt get purge influxdb;sudo rm-rf/var/lib/influxdb
    ),然后重新安装,现在它可以工作了,但我很想知道首先出了什么问题。这意味着数据库需要比可用内存更多的内存。WSL是如何处理这一问题的还不得而知。您最好在实际的Linux上运行,即使是虚拟的。我没有尝试手动启动它,但是没有像问题中那样创建init.d单元。相反,它创建了一个符号链接,就像你在systemd中需要它一样。对我不起作用(它不会启动任何进程):-/你在运行WSL2吗?我想我在运行WSL2。因为这个答案已经有一年了,并且步骤2中的链接指向一个特定的版本,所以您可以尝试使用该文件。