Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@ranguard
Last active December 18, 2016 19:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ranguard/1cde5ef1fcda670f5eee80637c1c991d to your computer and use it in GitHub Desktop.
Save ranguard/1cde5ef1fcda670f5eee80637c1c991d to your computer and use it in GitHub Desktop.
Error trying to create S3 snapshot repo

Trying to create the S3 repo...

curl -X POST 'http://localhost:9200/_snapshot/backups?pretty=1&error_trace=true' -d '
{"settings":{"storage_class":"standard","region":"us-east-1","canned_acl":"private","protocol":"https","access_key":"XXXXXXXXX","bucket":"AAAAAAA","server_side_encryption":1,"secret_key":"YYYYYYY"},"type":"s3"}'

{
  "error" : {
    "root_cause" : [ {
      "type" : "no_class_def_found_error",
      "reason" : "no_class_def_found_error: Could not initialize class com.amazonaws.services.s3.internal.S3ErrorResponseHandler",
      "stack_trace" : "NotSerializableExceptionWrapper[no_class_def_found_error: Could not initialize class com.amazonaws.services.s3.internal.S3ErrorResponseHandler]\n\tat com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:207)\n\tat com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:368)\n\tat com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:350)\n\tat org.elasticsearch.cloud.aws.InternalAwsS3Service.getClient(InternalAwsS3Service.java:146)\n\tat org.elasticsearch.cloud.aws.InternalAwsS3Service.client(InternalAwsS3Service.java:70)\n\tat org.elasticsearch.repositories.s3.S3Repository.<init>(S3Repository.java:135)\n\tat sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)\n\tat sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)\n\tat sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)\n\tat java.lang.reflect.Constructor.newInstance(Constructor.java:525)\n\tat org.elasticsearch.common.inject.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:50)\n\tat org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:86)\n\tat org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:104)\n\tat org.elasticsearch.common.inject.FactoryProxy.get(FactoryProxy.java:54)\n\tat org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:47)\n\tat org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:886)\n\tat org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:43)\n\tat org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:59)\n\tat org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:46)\n\tat org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:201)\n\tat org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:193)\n\tat org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:879)\n\tat org.elasticsearch.common.inject.InjectorBuilder.loadEagerSingletons(InjectorBuilder.java:193)\n\tat org.elasticsearch.common.inject.InjectorBuilder.injectDynamically(InjectorBuilder.java:175)\n\tat org.elasticsearch.common.inject.InjectorBuilder.build(InjectorBuilder.java:110)\n\tat org.elasticsearch.common.inject.InjectorImpl.createChildInjector(InjectorImpl.java:154)\n\tat org.elasticsearch.common.inject.ModulesBuilder.createChildInjector(ModulesBuilder.java:55)\n\tat org.elasticsearch.repositories.RepositoriesService.createRepositoryHolder(RepositoriesService.java:404)\n\tat org.elasticsearch.repositories.RepositoriesService.registerRepository(RepositoriesService.java:368)\n\tat org.elasticsearch.repositories.RepositoriesService.access$100(RepositoriesService.java:55)\n\tat org.elasticsearch.repositories.RepositoriesService$1.execute(RepositoriesService.java:110)\n\tat org.elasticsearch.cluster.ClusterStateUpdateTask.execute(ClusterStateUpdateTask.java:45)\n\tat org.elasticsearch.cluster.service.InternalClusterService.runTasksForExecutor(InternalClusterService.java:480)\n\tat org.elasticsearch.cluster.service.InternalClusterService$UpdateTask.run(InternalClusterService.java:784)\n\tat org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.java:231)\n\tat org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:194)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)\n\tat java.lang.Thread.run(Thread.java:722)\n"
    } ],
    "type" : "repository_exception",
    "reason" : "[backups] failed to create repository",
    "caused_by" : {
      "type" : "creation_exception",
      "reason" : "creation_exception: Guice creation errors:\n\n1) Error injecting constructor, java.lang.NoClassDefFoundError: Could not initialize class com.amazonaws.services.s3.internal.S3ErrorResponseHandler\n  at org.elasticsearch.repositories.s3.S3Repository.<init>(Unknown Source)\n  while locating org.elasticsearch.repositories.s3.S3Repository\n  while locating org.elasticsearch.repositories.Repository\n\n1 error",
      "caused_by" : {
        "type" : "no_class_def_found_error",
        "reason" : "no_class_def_found_error: Could not initialize class com.amazonaws.services.s3.internal.S3ErrorResponseHandler",
        "stack_trace" : "NotSerializableExceptionWrapper[no_class_def_found_error: Could not initialize class com.amazonaws.services.s3.internal.S3ErrorResponseHandler]\n\tat com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:207)\n\tat com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:368)\n\tat com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:350)\n\tat org.elasticsearch.cloud.aws.InternalAwsS3Service.getClient(InternalAwsS3Service.java:146)\n\tat org.elasticsearch.cloud.aws.InternalAwsS3Service.client(InternalAwsS3Service.java:70)\n\tat org.elasticsearch.repositories.s3.S3Repository.<init>(S3Repository.java:135)\n\tat sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)\n\tat sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)\n\tat sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)\n\tat java.lang.reflect.Constructor.newInstance(Constructor.java:525)\n\tat org.elasticsearch.common.inject.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:50)\n\tat org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:86)\n\tat org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:104)\n\tat org.elasticsearch.common.inject.FactoryProxy.get(FactoryProxy.java:54)\n\tat org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:47)\n\tat org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:886)\n\tat org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:43)\n\tat org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:59)\n\tat org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:46)\n\tat org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:201)\n\tat org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:193)\n\tat org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:879)\n\tat org.elasticsearch.common.inject.InjectorBuilder.loadEagerSingletons(InjectorBuilder.java:193)\n\tat org.elasticsearch.common.inject.InjectorBuilder.injectDynamically(InjectorBuilder.java:175)\n\tat org.elasticsearch.common.inject.InjectorBuilder.build(InjectorBuilder.java:110)\n\tat org.elasticsearch.common.inject.InjectorImpl.createChildInjector(InjectorImpl.java:154)\n\tat org.elasticsearch.common.inject.ModulesBuilder.createChildInjector(ModulesBuilder.java:55)\n\tat org.elasticsearch.repositories.RepositoriesService.createRepositoryHolder(RepositoriesService.java:404)\n\tat org.elasticsearch.repositories.RepositoriesService.registerRepository(RepositoriesService.java:368)\n\tat org.elasticsearch.repositories.RepositoriesService.access$100(RepositoriesService.java:55)\n\tat org.elasticsearch.repositories.RepositoriesService$1.execute(RepositoriesService.java:110)\n\tat org.elasticsearch.cluster.ClusterStateUpdateTask.execute(ClusterStateUpdateTask.java:45)\n\tat org.elasticsearch.cluster.service.InternalClusterService.runTasksForExecutor(InternalClusterService.java:480)\n\tat org.elasticsearch.cluster.service.InternalClusterService$UpdateTask.run(InternalClusterService.java:784)\n\tat org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.java:231)\n\tat org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:194)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)\n\tat java.lang.Thread.run(Thread.java:722)\n"
      },
      "stack_trace" : "NotSerializableExceptionWrapper[creation_exception: Guice creation errors:\n\n1) Error injecting constructor, java.lang.NoClassDefFoundError: Could not initialize class com.amazonaws.services.s3.internal.S3ErrorResponseHandler\n  at org.elasticsearch.repositories.s3.S3Repository.<init>(Unknown Source)\n  while locating org.elasticsearch.repositories.s3.S3Repository\n  while locating org.elasticsearch.repositories.Repository\n\n1 error]; nested: NotSerializableExceptionWrapper[no_class_def_found_error: Could not initialize class com.amazonaws.services.s3.internal.S3ErrorResponseHandler];\n\tat org.elasticsearch.common.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:360)\n\tat org.elasticsearch.common.inject.InjectorBuilder.injectDynamically(InjectorBuilder.java:178)\n\tat org.elasticsearch.common.inject.InjectorBuilder.build(InjectorBuilder.java:110)\n\tat org.elasticsearch.common.inject.InjectorImpl.createChildInjector(InjectorImpl.java:154)\n\tat org.elasticsearch.common.inject.ModulesBuilder.createChildInjector(ModulesBuilder.java:55)\n\tat org.elasticsearch.repositories.RepositoriesService.createRepositoryHolder(RepositoriesService.java:404)\n\tat org.elasticsearch.repositories.RepositoriesService.registerRepository(RepositoriesService.java:368)\n\tat org.elasticsearch.repositories.RepositoriesService.access$100(RepositoriesService.java:55)\n\tat org.elasticsearch.repositories.RepositoriesService$1.execute(RepositoriesService.java:110)\n\tat org.elasticsearch.cluster.ClusterStateUpdateTask.execute(ClusterStateUpdateTask.java:45)\n\tat org.elasticsearch.cluster.service.InternalClusterService.runTasksForExecutor(InternalClusterService.java:480)\n\tat org.elasticsearch.cluster.service.InternalClusterService$UpdateTask.run(InternalClusterService.java:784)\n\tat org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.java:231)\n\tat org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:194)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)\n\tat java.lang.Thread.run(Thread.java:722)\nCaused by: NotSerializableExceptionWrapper[no_class_def_found_error: Could not initialize class com.amazonaws.services.s3.internal.S3ErrorResponseHandler]\n\tat com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:207)\n\tat com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:368)\n\tat com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:350)\n\tat org.elasticsearch.cloud.aws.InternalAwsS3Service.getClient(InternalAwsS3Service.java:146)\n\tat org.elasticsearch.cloud.aws.InternalAwsS3Service.client(InternalAwsS3Service.java:70)\n\tat org.elasticsearch.repositories.s3.S3Repository.<init>(S3Repository.java:135)\n\tat sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)\n\tat sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)\n\tat sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)\n\tat java.lang.reflect.Constructor.newInstance(Constructor.java:525)\n\tat org.elasticsearch.common.inject.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:50)\n\tat org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:86)\n\tat org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:104)\n\tat org.elasticsearch.common.inject.FactoryProxy.get(FactoryProxy.java:54)\n\tat org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:47)\n\tat org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:886)\n\tat org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:43)\n\tat org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:59)\n\tat org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:46)\n\tat org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:201)\n\tat org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:193)\n\tat org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:879)\n\tat org.elasticsearch.common.inject.InjectorBuilder.loadEagerSingletons(InjectorBuilder.java:193)\n\tat org.elasticsearch.common.inject.InjectorBuilder.injectDynamically(InjectorBuilder.java:175)\n\t... 15 more\n"
    },
    "stack_trace" : "RepositoryException[[backups] failed to create repository]; nested: NotSerializableExceptionWrapper[creation_exception: Guice creation errors:\n\n1) Error injecting constructor, java.lang.NoClassDefFoundError: Could not initialize class com.amazonaws.services.s3.internal.S3ErrorResponseHandler\n  at org.elasticsearch.repositories.s3.S3Repository.<init>(Unknown Source)\n  while locating org.elasticsearch.repositories.s3.S3Repository\n  while locating org.elasticsearch.repositories.Repository\n\n1 error]; nested: NotSerializableExceptionWrapper[no_class_def_found_error: Could not initialize class com.amazonaws.services.s3.internal.S3ErrorResponseHandler];\n\tat org.elasticsearch.repositories.RepositoriesService.createRepositoryHolder(RepositoriesService.java:411)\n\tat org.elasticsearch.repositories.RepositoriesService.registerRepository(RepositoriesService.java:368)\n\tat org.elasticsearch.repositories.RepositoriesService.access$100(RepositoriesService.java:55)\n\tat org.elasticsearch.repositories.RepositoriesService$1.execute(RepositoriesService.java:110)\n\tat org.elasticsearch.cluster.ClusterStateUpdateTask.execute(ClusterStateUpdateTask.java:45)\n\tat org.elasticsearch.cluster.service.InternalClusterService.runTasksForExecutor(InternalClusterService.java:480)\n\tat org.elasticsearch.cluster.service.InternalClusterService$UpdateTask.run(InternalClusterService.java:784)\n\tat org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.java:231)\n\tat org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:194)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)\n\tat java.lang.Thread.run(Thread.java:722)\nCaused by: NotSerializableExceptionWrapper[creation_exception: Guice creation errors:\n\n1) Error injecting constructor, java.lang.NoClassDefFoundError: Could not initialize class com.amazonaws.services.s3.internal.S3ErrorResponseHandler\n  at org.elasticsearch.repositories.s3.S3Repository.<init>(Unknown Source)\n  while locating org.elasticsearch.repositories.s3.S3Repository\n  while locating org.elasticsearch.repositories.Repository\n\n1 error]; nested: NotSerializableExceptionWrapper[no_class_def_found_error: Could not initialize class com.amazonaws.services.s3.internal.S3ErrorResponseHandler];\n\tat org.elasticsearch.common.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:360)\n\tat org.elasticsearch.common.inject.InjectorBuilder.injectDynamically(InjectorBuilder.java:178)\n\tat org.elasticsearch.common.inject.InjectorBuilder.build(InjectorBuilder.java:110)\n\tat org.elasticsearch.common.inject.InjectorImpl.createChildInjector(InjectorImpl.java:154)\n\tat org.elasticsearch.common.inject.ModulesBuilder.createChildInjector(ModulesBuilder.java:55)\n\tat org.elasticsearch.repositories.RepositoriesService.createRepositoryHolder(RepositoriesService.java:404)\n\t... 11 more\nCaused by: NotSerializableExceptionWrapper[no_class_def_found_error: Could not initialize class com.amazonaws.services.s3.internal.S3ErrorResponseHandler]\n\tat com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:207)\n\tat com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:368)\n\tat com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:350)\n\tat org.elasticsearch.cloud.aws.InternalAwsS3Service.getClient(InternalAwsS3Service.java:146)\n\tat org.elasticsearch.cloud.aws.InternalAwsS3Service.client(InternalAwsS3Service.java:70)\n\tat org.elasticsearch.repositories.s3.S3Repository.<init>(S3Repository.java:135)\n\tat sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)\n\tat sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)\n\tat sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)\n\tat java.lang.reflect.Constructor.newInstance(Constructor.java:525)\n\tat org.elasticsearch.common.inject.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:50)\n\tat org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:86)\n\tat org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:104)\n\tat org.elasticsearch.common.inject.FactoryProxy.get(FactoryProxy.java:54)\n\tat org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:47)\n\tat org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:886)\n\tat org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:43)\n\tat org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:59)\n\tat org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:46)\n\tat org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:201)\n\tat org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:193)\n\tat org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:879)\n\tat org.elasticsearch.common.inject.InjectorBuilder.loadEagerSingletons(InjectorBuilder.java:193)\n\tat org.elasticsearch.common.inject.InjectorBuilder.injectDynamically(InjectorBuilder.java:175)\n\t... 15 more\n"
  },
  "status" : 500
}

Using Elastic 2.4.3

      "plugins" : [ {
        "name" : "cloud-aws",
        "version" : "2.4.3",
        "description" : "The Amazon Web Service (AWS) Cloud plugin allows to use AWS API for the unicast discovery mechanism and add S3 repositories.",
        "jvm" : true,
        "classname" : "org.elasticsearch.plugin.cloud.aws.CloudAwsPlugin",
        "isolated" : true,
        "site" : false
      }, {

.jar files match to my single node test VM that works:

> ls elasticsearch/plugins/cloud-aws/
aws-java-sdk-core-1.10.69.jar
aws-java-sdk-ec2-1.10.69.jar
aws-java-sdk-kms-1.10.69.jar
aws-java-sdk-s3-1.10.69.jar
cloud-aws-2.4.3.jar
commons-codec-1.6.jar
commons-logging-1.1.3.jar
httpclient-4.3.6.jar
httpcore-4.3.3.jar
jackson-annotations-2.5.0.jar
jackson-databind-2.5.3.jar
plugin-descriptor.properties
plugin-security.policy
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment