启动cassandra时出错阻止启动

niwlg2el  于 2021-06-15  发布在  Cassandra
关注(0)|答案(4)|浏览(532)

我在试着管理Cassandra。但是,我得到了一个错误:

[root@SudeepMangu bin]# ./cassandra -f
xss =  -ea -javaagent:/home/sudeep/apache-cassandra-1.2.5-src/lib/jamm-0.2.5.jar-
XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -Xms930M -Xmx930M -Xmn200M -
XX:+HeapDumpOnOutOfMemoryError -Xss160k

Error occurred during initialization of VM Could not reserve enough space for object heap

我试过设置 JAVA_OPTS 到最大尺寸没有影响。

vjhs03f7

vjhs03f71#

Cassandra没有足够的空间。你必须在里面改变一个值 cassandra-env.sh 文件
打开cassandra-env.sh文件

sudo vi cassandra-env.sh

在文档中您将看到 JVM_OPTS="$JVM_OPTS -Xss180k" 将块大小增加到250到300之间

c9x0cxw0

c9x0cxw02#

在cassandra-env.sh中将堆栈大小设置为256k。

u59ebvdq

u59ebvdq3#

可能是因为32位的java版本。通过以下步骤,我将java\u home变量更改为64位版本:
1) 按下两个“windows+r”键并输入:sysdm.cpl
2) 在“系统属性”中,我按下了“环境变量”按钮
3) 在文本区域“环境变量”中,我选择了javau home并点击了“编辑”
4.a)在“变量值”中,我取出了路径
(看起来是这样的:c:\ProgramFiles(x86)\java\jdk1.8.0\U 192)
4.b)我输入了64位路径
现在看起来是这样的:c:\program files\java\jdk1.8.0\u 73
就这样。然后我看着Cassandra的服务器在。。。
堆内存问题消失了!

fhg3lkii

fhg3lkii4#

看看我的答案,https://stackoverflow.com/a/14447535/92463 它描述了增加堆栈段大小。编辑 conf/cassandra-env.sh 配置脚本,在185行左右,并更改 -Xss180k 更高的值。

if [ "`uname`" = "Linux" ] ; then
  # reduce the per-thread stack size to minimize the impact of Thrift
  # thread-per-client.  (Best practice is for client connections to
  # be pooled anyway.) Only do so on Linux where it is known to be
  # supported.
  # u34 and greater need 180k
  JVM_OPTS="$JVM_OPTS -Xss180k"
fi
echo "xss = $JVM_OPTS"

我建议从 -Xss200k 以20k的增量递增。我发现使用 -Xss280k 在ubuntu服务器上运行成功。

相关问题