linux neo4j启动失败,在linux上启动neo4j服务器时出错

我有一个arch linux设置并通过arch用户存储库安装neo4j(yaourt -S neo4j),我能够很好地运行web控制台(sudo neo4j控制台具有看似正常的输出和完整功能),但是当我尝试启动时服务器(sudo neo4j start),我遇到以下错误信息:

/usr/share/neo4j/bin/utils: line 345: [: -lt: unary operator expected

Using additional JVM arguments: -server -XX:+DisableExplicitGC -Dorg.neo4j.server.properties=/etc/neo4j/neo4j-server.properties -Djava.util.logging.config.file=/etc/neo4j/logging.properties -Dlog4j.configuration=file:/etc/neo4j/log4j.properties -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled

Starting Neo4j Server...cat: /run/neo4j/neo4j-service.pid: No such file or directory

process []... waiting for server to be ready. Failed to start within 120 seconds.

Neo4j Server may have failed to start, please check the logs.

rm: cannot remove ‘/run/neo4j/neo4j-service.pid’: No such file or directory

在打印错误消息之前没有延迟,所以它似乎不是超时.我对neo4j很新(我使用Web控制台完成了一些用户手册,但没有开发或服务器配置经验),所以我不确定其他什么可能是相关的.我尝试查看utils脚本,错误似乎是它尝试su neo4j的地方,但它似乎也继续尝试启动服务器.我也尝试更改它在this question开始的端口,但没有变化.我能找到的唯一日志就是一遍又一遍(有适当的时间戳):

Oct 15, 2014 1:33:49 AM com.sun.jersey.server.impl.application.WebApplicationImpl _initiate

INFO: Initiating Jersey application, version 'Jersey: 1.9 09/02/2011 11:17 AM'

任何帮助都将不胜感激!

编辑:

它失败的第345行是这个片段的结尾:

if [ $UID == 0 ] ; then

OPEN_FILES=`su $NEO4J_USER -c "ulimit -n"`

else

OPEN_FILES=`ulimit -n`

fi

if [ $OPEN_FILES -lt 40000 ]; then

从做一些echo调试来看,似乎su $NEO4J_USER失败了,可能是因为$NEO4J_USER被设置为neo4j,这是我系统上不存在的用户.我尝试将其设置为root用于其中一个配置文件,但显然这样做不正常. Arch对我来说是一个持续的学习体验,但我不必在使用软件之前添加新用户.

解决方法:

这里有趣的一行是:

/usr/share/neo4j/bin/utils: line 345: [: -lt: unary operator expected

我认为这是由neo4j用户的错误默认shell引起的.当前为neo4j系统用户设置了什么默认值?尝试将其切换为bash.启动脚本应该与bash很好地协作.

标签:linux,neo4j,su,archlinux

来源: https://codeday.me/bug/20190703/1362863.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值