O Datastax OpsCenter 5.1 falha ao fazer backup de 'Todos os Espaços de Chaves'

1

Recentemente, atualizamos nossos servidores da empresa (Datastax Enterprise 4.5.3) para o DSE 4.6.0. O único problema que enfrentamos é o novo Serviço de Backup , no qual não conseguimos criar um backup para "Todos os Espaços de Chaves". No entanto, o backup de espaços de teclas um por um funciona como um encanto. O erro parece vir do (s) datastax-agent (s) instalado (s) nos nós, e eu incluo todos os detalhes que me lembro abaixo.

Log de eventos do OpsCenter:

Backup of all keyspaces failed: Backup of all keyspaces failed for the following destinations: snapshot

Snapshot of all keyspaces on node < node-IP > failed: clojure.lang.Compiler$CompilerException: java.lang.ClassFormatError: Invalid method Code length 96939 in class file clojure/core$eval87, compiling:(NO_SOURCE_PATH:0:0) (< node-IP >)

Snapshot of all keyspaces on node < node-IP > failed: clojure.lang.Compiler$CompilerException: java.lang.ClassFormatError: Invalid method Code length 96939 in class file clojure/core$eval87, compiling:(NO_SOURCE_PATH:0:0) (< node-IP >)

O erro acima (instantâneo de todos os espaços de chaves ...) é um pouco mais longo, pois vem uma vez para cada nó disponível no cluster e, no final, o erro "Backup de todos os espaços de chaves falhou: ..." apresentado.

Ao mesmo tempo, todos os agentes de datastax apresentam a seguinte mensagem de erro:

 ERROR [qtp1549990111-47] 2015-02-13 18:35:50,887 Unhandled route
 Exception: clojure.lang.Compiler$CompilerException:
 java.lang.ClassFormatError: Invalid method Code length 96939 in class
 file clojure/core$eval87, compiling:(NO_SOURCE_PATH:0:0)
                      Compiler.java:6567 clojure.lang.Compiler.analyzeSeq
                      Compiler.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
                             core.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
                            core.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-opscenter-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]
                        (Unknown Source) 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.server.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
                        (Unknown Source) java.lang.Thread.run Caused by: java.lang.ClassFormatError: Invalid method Code length 96939 in
 class file clojure/core$eval87
                        (Unknown Source) java.lang.ClassLoader.defineClass1
                        (Unknown Source) java.lang.ClassLoader.defineClass
                        (Unknown Source) 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:6558 clojure.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

O acima aplica-se a um cluster de produção de 5 nós em 2 datacenters (padrões do Datastax, Cassandra / Analytics DCs e DseSimpleSnitch). O DC analítico funciona com o Spark e o CFS. Eu tentei o mesmo procedimento (caminho de atualização 4.5.3- > 4.6.0- > Backup de todos os espaços de chaves) para o meu cluster local de 2 máquinas (um Cassandra, um Analytics) com um conjunto de dados massivamente menor e funciona como um encanto .

    
por Arribah 13.02.2015 / 20:04

1 resposta

1

Há um bug (conhecido) no OpsCenter 5.1 que faz com que os backups falhem em cenários específicos. Infelizmente, parece que você tem. A correção estará no OpsCenter 5.1.1 que será lançado em breve.

A solução alternativa que você descobriu (backup por espaço de teclas) deve funcionar de forma confiável.

    
por 14.02.2015 / 06:14