2016-07-06 4 views
2

어제 opscenter를 설치하려고 시도했으나 기존 DSE 5.0 클러스터 가져 오기를 시작했습니다. 설치된 버전이 opscenter 6.0이 아니라는 특정 오류로 인해 실패했습니다. 근본 원인 - opscenter 설치가 datastax 커뮤니티 repo에서 이루어지며 기업용 설치는 수행되지 않았습니다. reppro 정보를 수정하여 enterprose repo를 가리키고 기존 opscenter 5.2.4를 제거하고 새로운 opscenter 6.0을 설치했습니다. 마지막으로 서비스 시작 - 시작에 실패하면 opscenter가 시작되지 않고 로그 파일에 아무것도 표시되지 않습니다.Opscenter 6.0 시작 문제

내가 opscenter 5.x를 제거하고 opscenter 설치하려면 다음 않았다

6.0

  1. 제거 ospcenter의 이전 버전 - 도우는 냠 기업의 repo를 가리 키도록 opscenter
  2. 수정 REPOR을 제거 예를 들어, sudo는 VI/등/yum.repos.d/datastax.repo
  3. opscenter 6.0-1 버전이 설치되어 있습니다. sudo는 서비스

Opscenter 프로세스가 실행되고 있지 시작 opscenterd - sudo는 냠 opscenter는

  • 시작 Opscenter 설치. 몇 초가 지나면 시작되고 죽습니다. 맨 위 명령을 사용하여이를 확인할 수있었습니다. 로그 파일을 확인하기 위해 갔고 로그 파일 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... 
    
    내가 전경 모드에서 Opscenter를 시작하면 설치에

    파이썬 버전은 2.7.5

    입니다 - 나는 관련

    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 
    

    하지 않을 경우 반드시 약간의 흔적을 볼 수 있습니다 나는 Kill이 Python의 인스톨 된 버전에서 사용 가능한지 확인하려고했다. - Ok looks Look

    $ python -c "import os; from os import kill;print kill" 
    <built-in function kill> 
    

    opscenter가 실행되고 있지 않으며 실제로 opscenter.log에서 아무것도 찾을 수 없습니다.

    이전 버전을 제거하고 업그레이드 경로를 가져 왔기 때문에이 문제가있을 수 있습니까?

    편집 - opscenter 6.0을 5.2.4로 되돌릴 경우 작동합니다. 내가 뭔가 엉망이되고 opscenter 6.0 작동을 얻으려면 먼저 5.2.4를 제거하는 깨끗한 방법이 필요합니다. 어떤 도움이나 방향을 높이 평가합니다.

  • 답변

    3

    opscenter 6.0 시작 문제의 근본 원인과 해결 방법을 찾았습니다.

    Root Cause - /tmp folder of My RHEL machine is mounted witn noexec permissions. 
    ---------- 
    

    로그는이 문제에 대한 단서를 제공하지 못했습니다. 가상 머신에 opscenter 6.0을 설치 했으므로 두 환경의 차이점을 발견하도록 장려했습니다./tmp 폴더에 noedec이 있고 시작시 opscenter가 종료되는 사용 권한 문제가 있습니다.

    해결책 - opscenter에 대한 tmp 디렉토리를 명시 적으로 설정합니다.


    JVM 인수에서 opscenter의 명시 적 java temp 디렉토리를 설정합니다. -Djava.io.tmpdir =/usr/share/opscenter/tmp를 설정하십시오.RPM 기반 설치의


    1. sudo는 VI는/usr/share/opscenter/빈/opscenter에게
    JVM 옵션 2. 추가 자바 임시 디렉토리 매개 변수
    OPSC_JVM_OPTS의 = "- 서버 -Xmx1024m -Xms1024m -XX : 를 MaxPermSize = 128m -Dpython.cachedir.skip = 거짓 -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 "

    +0

    다행이 작업을 얻을 수있었습니다! Java는/tmp 디렉토리를 사용하여 임시 가비지 콜렉션 파일과 같은 것을 저장합니다. 이 디렉토리는 Jython이 내부적으로 사용하는 파일을로드하기 위해 JNA에서 사용됩니다. DataStax에는 이에 대한 문서가 있지만 DSE 용으로 작성되었습니다. http://docs.datastax.com/en/datastax_enterprise/4.8//datastax_enterprise/sec/secMakingTmpNonexecutable.html. –

    0

    나는 또한 같은 문제를 만났다. 그러나 opscenter 6.0는 위의 솔루션을 사용할 수 없습니다.

    support platfrom list을 확인해보십시오. 내 os가 지원 목록에없는 CentOS 6.2이기 때문에 생각합니다.

    그래서 버전 5.2를 사용하면 정상적으로 작동합니다.