昨天,我尝试安装opscenter并启动了现有DSE 5.0集群的导入。它失败了某些错误,指出安装的版本不是opscenter 6.0。根本原因 - opscenter安装是从datastax社区仓库而不是企业仓库完成的。我纠正了回购信息指向enterprose repo,删除了现有的opscenter 5.2.4,安装了新的opscenter 6.0 - 一切看起来不错。最后当我启动服务时 - 启动失败,opscenter无法启动,日志文件中没有任何内容。
我做了以下操作,删除了opscenter 5.x并安装了opscenter 6.0
Opscenter进程未运行。它开始并在几秒钟后被杀死 - 我能够使用top命令验证它。我去检查日志文件,只能找到两个日志文件startup.log& gc.log.0.current。日志文件opscenterd.log
中没有任何内容startup.log
-----------
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
2016-07-06 15:00:22,763 [opscenterd] INFO: Loading OpsCenter...
2016-07-06 15:00:22,779 [opscenterd] INFO: Updating system path
2016-07-06 15:00:22,780 [opscenterd] INFO: Importing twisted logging
2016-07-06 15:00:25,710 [opscenterd] INFO: Finished importing twisted logging
2016-07-06 15:00:25,710 [opscenterd] INFO: Opscenterd starting up...
安装时的Python版本是2.7.5
当我以前台模式启动Opscenter时 - 我可以看到一些跟踪不确定是否相关
sudo ./opscenter -f
--------------------
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
2016-07-06 15:00:22,763 [opscenterd] INFO: Loading OpsCenter...
2016-07-06 15:00:22,779 [opscenterd] INFO: Updating system path
2016-07-06 15:00:22,780 [opscenterd] INFO: Importing twisted logging
2016-07-06 15:00:25,710 [opscenterd] INFO: Finished importing twisted logging
2016-07-06 15:00:25,710 [opscenterd] INFO: Opscenterd starting up...
Traceback (most recent call last):
File "./bin/twistd", line 63, in <module>
from twisted.scripts.twistd import run
File "/usr/share/opscenter/lib/py/twisted/scripts/twistd.py", line 13, in <module>
from twisted.application import app
File "/usr/share/opscenter/lib/py/twisted/application/app.py", line 17, in <module>
from twisted.application import service, reactors
File "/usr/share/opscenter/lib/py/twisted/application/service.py", line 24, in <module>
from twisted.internet import defer
File "/usr/share/opscenter/lib/py/twisted/internet/defer.py", line 29, in <module>
from twisted.python import lockfile, failure
File "/usr/share/opscenter/lib/py/twisted/python/lockfile.py", line 23, in <module>
from os import kill
ImportError: cannot import name kill
我尝试验证安装的Python版本中是否有Kill可用 - 看起来不错
$ python -c "import os; from os import kill;print kill"
<built-in function kill>
opscenter没有运行,我无法在opscenter.log中找到任何内容。
可以解决这个问题,因为我已经删除了旧版本并且应该采用升级路径吗?
编辑 - 如果我将opscenter 6.0恢复为5.2.4,那么它就会开始工作。看起来我弄乱了一些东西,需要干净的方法来删除5.2.4,以使opscenter 6.0工作。非常感谢任何帮助或指导。
答案 0 :(得分:3)
我找到了opscenter 6.0启动问题的根本原因和解决方法。
Root Cause - /tmp folder of My RHEL machine is mounted witn noexec permissions.
----------
日志没有提供任何线索。我在虚拟机上安装了opscenter 6.0并且它全部工作,所以它鼓励我找到两个环境之间的区别。我将/ tmp文件夹归零是noexec和权限问题导致opscenter在启动时终止。
解决方案 - 明确设置opscenter的tmp目录。
在JVM参数中为opscenter设置显式的java临时目录,例如设置-Djava.io.tmpdir = / usr / share / opscenter / tmp。
对于基于RPM的安装
1. sudo vi / usr / share / opscenter / bin / opscenter
2。将java临时目录参数添加到JVM选项
OPSC_JVM_OPTS =&#34; -server -Xmx1024m -Xms1024m -XX:MaxPermSize = 128m -Dpython.cachedir.skip = false
-XX:+ CMSClassUnloadingEnabled -XX:+ UseConcMarkSweepGC
-XX:+ CMSParallelRemarkEnabled
-XX:+ ScavengeBeforeFullGC -XX:+ CMSScavengeBeforeRemark -verbose:gc
-XX:+ PrintGCDateStamps
-XX:+ PrintGCDetails -XX:+ PrintGCCause
-XX:+ PrintTenuringDistribution -XX:+ PrintGCApplicationStoppedTime
-XX:+ UseGCLogFileRotation -XX:NumberOfGCLogFiles = 5
-XX:GCLogFileSize = 1M -Xloggc:$ OPSC_GC_LOG_PATH / gc.log
-Djava.io.tmpdir = / usr / share / opscenter / tmp
$ OPSC_JVM_OPTS&#34;
答案 1 :(得分:0)
我也遇到了同样的问题。但opscenter 6.0无法开始使用上述解决方案。
检查support platfrom list,我认为这是因为我的操作系统是CentOS 6.2,它不在支持列表中。
所以我只使用5.2版本,它运行正常。