2016-07-06 7 views
2

昨日、opscenterをインストールしようとしましたが、既存のDSE 5.0クラスタのインポートを開始しました。インストールされたバージョンがopscenter 6.0ではないことを指摘した特定のエラーで失敗しました。根本的な原因 - opscenterのインストールは、エンタープライズのものではなくdatastaxコミュニティリポジトリから行われました。私はレポ情報を修正してenterprose repoを指摘し、既存のopscenter 5.2.4を削除し、新しいopscenter 6.0をインストールしました。最後に私がサービスを開始したとき - 起動に失敗し、opscenterが起動せず、ログファイルに何も入っていない。Opscenter 6.0起動問題

私はOpsCenterの5.xのを除去し、OpsCenterのインストールするには、以下のなかった

6.0

  1. 削除ospcenterの旧バージョン - 須藤は、yumの企業のレポを指すようにOpsCenterの
  2. 修正reporを削除するなどのsudo viのは/ etc/yum.repos.d/datastax.repo
  3. opscenterの6.0-1バージョンがインストールされています。 sudoのサービス

のOpsCenterプロセスが実行されていない開始opscenterd - 須藤yumのOpsCenterが

  • 開始OpsCenterがインストールされます。それは数秒後に始まり、殺される - 私はトップコマンドを使ってそれを確認することができた。私はログファイルをチェックして、2つのログファイルstartup.log & gc.log.0.currentしか見つけることができなかった。関連

    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 
    

    場合、私はいくつかのトレースわからないを見ることができます - インストールの

    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のバージョンopscenterd.logログファイルには何も2.7.5

    私はフォアグラウンドモードでのOpsCenterの起動時ではありませんPythonのインストールされたバージョンで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をインストールしたので、2つの環境の違いを知ることができました。私は/ tmpフォルダをnoedecにして、起動時にopscenterを終了させる権限の問題を解決しました。

    解決策 - opscenter用のtmpディレクトリを明示的に設定する。


    JVM引数のopscenter用の明示的なjava一時ディレクトリを設定します。 -Djava.io.tmpdir =/usr/share/opscenter/tmpを設定します。RPMベースのインストール
    1のsudo viのは、/ usr/share/OpsCenterの/ binに/ OpsCenterのために


    2. JVMオプションに
    OPSC_JVM_OPTS = "Javaの一時ディレクトリのパラメータを追加 - サーバー-Xmx1024m -Xms1024m -XXを: MaxPermSizeを= 128メートル-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 "

    +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を確認してください、私はoOSがサポートリストにないCentOS 6.2であると思います。

    私はちょうどバージョン5.2を使用し、正常に動作します。

    関連する問題