最近、会社のサーバー(Datastax Enterprise 4.5.3)をDSE4.6.0にアップグレードしました。私たちが直面している唯一の問題は、新しいバックアップサービスであり、「すべてのキースペース」のバックアップを作成できません。それでも、キースペースを1つずつバックアップすることは魅力のように機能します。エラーはノードにインストールされているdatastax-agentに起因しているようです。以下で思い出せる限り、詳細を同封します。
OpsCenterイベントログ:
すべてのキースペースのバックアップに失敗しました:次の宛先のすべてのキースペースのバックアップに失敗しました:スナップショット
ノード<node-IP>上のすべてのキースペースのスナップショットが失敗しました:clojure.lang.Compiler $ CompilerException:Java.lang.ClassFormatError:無効なメソッドクラスファイルclojure/core $ eval87のコード長96939、コンパイル:(NO_SOURCE_PATH:0:0) (<ノード-IP>)
ノード<node-IP>上のすべてのキースペースのスナップショットが失敗しました:clojure.lang.Compiler $ CompilerException:Java.lang.ClassFormatError:無効なメソッドクラスファイルclojure/core $ eval87のコード長96939、コンパイル:(NO_SOURCE_PATH:0:0) (<ノード-IP>)
上記のエラー(すべてのキースペースのスナップショット...)は、クラスター上の使用可能なノードごとに1回発生するため、少し長くなり、最終的に「すべてのキースペースのバックアップに失敗しました:...」エラーが表示されます。
同時に、すべてのdatastax-agentsは次のエラーメッセージを表示します。
エラー[qtp1549990111-47] 2015-02-13 18:35:50,887未処理のルート 例外:clojure.lang.Compiler $ CompilerException: Java.lang.ClassFormatError:無効メソッドクラス ファイルclojure/core $ eval87のコード長96939、コンパイル:(NO_SOURCE_PATH:0:0) Compiler.Java:6567 clojure.lang.Compiler.analyzeSeq コンパイラ.Java:6361 clojure.lang.Compiler.analyze Compiler.Java:6616 clojure.lang.Compiler.eval Compiler.Java:6608 clojure.lang.Compiler.eval Compiler.Java:6582 clojure.lang.Compiler.eval core.clj:2852 clojure.core/eval routes.clj:58 opsagent.http.routes/fn コア.clj:94 compojure.core/make-route [fn] core.clj:40 compojure.core/if-route [fn] core.clj:25 compojure.core/if-method [fn] core.clj:107 compojure.core/routing [fn] core.clj:2443 clojure.core/some コア。 clj:107 compojure.core/routing RestFn.Java:139 clojure.lang.RestFn.applyTo core.clj:619 clojure.core/apply core.clj:112 compojure.core/routes [fn] Var.Java:415 clojure.lang.Var.invoke middleware.clj:93 opsagent.http.middleware/wrap-application-error [fn] middleware.clj:75 opsagent.http.middleware/wrap-content-type [fn] middleware.clj:112 opsagent.http.middleware/wrap-content-error [fn] middleware.clj:31 opsagent.http.middleware/wrap-request-logging [fn] middleware.clj:17 opsagent.http.middleware/wrap-op scenter-id-check [fn] middleware.clj:123 opsagent.http.middleware/wrap-version-header [fn] keyword_params.clj:32 ring.middleware.keyword-params/wrap-keyword-params [fn] params.clj:58 ring.middleware.params/wrap-params [fn] jetty.clj:19 opsagent.http.jetty/proxy-handler [ fn] (不明なソース)opsagent.http.jetty.proxy $ org.Eclipse.jetty.server.handler.AbstractHandler $ 0.handle HandlerWrapper.Java:111 org.Eclipse.jetty.server .handler.HandlerWrapper.handle Server.Java:349 org.Eclipse.jetty.server.Server.handle AbstractHttpConnection.Java:452 org.Eclipse.jetty.server.AbstractHttpConnection.handleRequest AbstractHttpConnection.Java:894 org.Eclipse.jetty.server.AbstractHttpConnection.content AbstractHttpConnection.Java:948 org.Eclipse.jetty.serv er.AbstractHttpConnection $ RequestHandler.content HttpParser.Java:857 org.Eclipse.jetty.http.HttpParser.parseNext HttpParser.Java:235 org.Eclipse.jetty.http.HttpParser.parseAvailable AsyncHttpConnection.Java:76 org.Eclipse.jetty.server.AsyncHttpConnection.handle SelectChannelEndPoint.Java:609 org.Eclipse.jetty.io.nio.SelectChannelEndPoint.handle SelectChannelEndPoint。 Java:45 org.Eclipse.jetty.io.nio.SelectChannelEndPoint $ 1.run QueuedThreadPool.Java:599 org.Eclipse.jetty.util.thread.QueuedThreadPool.runJob QueuedThreadPool.Java:534 org.Eclipse.jetty.util.thread.QueuedThreadPool $ 3.run (不明なソース)Java.lang.Thread.run原因:Java.lang.ClassFormatError:無効なメソッドコード長96939 in クラスファイルclojure/core $ eval87 (不明なソース)Java.lang.ClassLoader.def ineClass1 (不明なソース)Java.lang.ClassLoader.defineClass (不明なソース)Java.lang.ClassLoader.defineClass DynamicClassLoader.Java:46 clojure.lang.DynamicClassLoader.defineClass Compiler.Java:4663 clojure.lang.Compiler $ ObjExpr.getCompiledClass Compiler.Java:3819 clojure.lang.Compiler $ FnExpr.parse Compiler.Java:6558clojure。 lang.Compiler.analyzeSeq INFO [qtp1549990111-47] 2015-02-13 18:35:50,888 HTTP :: post /ops/take-snapshot {:req- id "c13bb101-2f9e-4880-8b1f-efc178f49b3e"}- 500
上記は、2つのデータセンター(Datastaxのデフォルト、Cassandra/Analytics DCおよびDseSimpleSnitch)の5ノードの本番クラスターに適用されます。分析DCはSparkおよびCFSで機能します。同じ手順を試しました(パス4.5.3-> 4.6.0->すべてのキースペースをバックアップ)非常に小さなデータセットを持つ私のローカル2マシンクラスター(1つはCassandra、1つはAnalytics)に接続し、それは魅力のように機能します。
OpsCenter 5.1には、特定のシナリオでバックアップが失敗する(既知の)バグがあります。残念ながら、あなたが持っているように見えます。修正は、まもなくリリースされるOpsCenter5.1.1に含まれます。
発見した回避策(キースペースごとのバックアップ)は確実に機能するはずです。