Docker + Cassandra ulimit错误

Pet*_*fel 6 cassandra docker

我想在Docker(ubuntu 14.04)上启动一个cassandra(而不是dsc)服务器.当我跑service cassandra start(作为根),我得到

/etc/init.d/cassandra: 82: ulimit: error setting limit (Operation not permitted)
Run Code Online (Sandbox Code Playgroud)

那个文件的第82行是

ulimit -l unlimited
Run Code Online (Sandbox Code Playgroud)

我不确定我需要改变它.

psa*_*ord 8

我希望你会得到那个警告,但Cassandra会继续启动并正确运行.正如另一个答案所指出的,Docker出于安全原因限制某些操作.在这种情况下,Casssandra init脚本试图允许无限制的锁定内存.假设您在禁用交换的情况下运行(因为它是Cassandra最佳实践),那么您可以安全地忽略此错误.

我在Docker中为我的开发环境运行Cassandra并且也得到了这个警告,但是Cassandra启动并运行得很好.如果它没有启动,请检查cassandra日志文件以查找其他问题.


Evg*_*kiy 1

ulimit的简短介绍:UNIX 系统上的资源限制 (ULIMIT)。该初始化脚本尝试发出的命令应该将最大锁定内存限制设置为无限。root 应该成功。whoami是否打印root

UPD:进一步的研究让我参与了Google Groups 的讨论。希望它能澄清一些事情。