2017-01-18 1 views
1

내 색인을 스냅 샷 할 수 있도록 부두 탄성 검색 : 2.4를 구성하려고합니다. 모든탄성 검색 : 알 수없는 s3 저장소

첫째, 설치 한 cloud-aws 플러그인 :

docker exec -it es curl -XPUT 'http://localhost:9200/_snapshot/s3' -d ' 
{ 
    "type": "s3", 
    "settings": { 
    "bucket": "es-backup-living", 
    "region": "eu-central-1", 
    "access_key": "-----", 
    "secret_key": "-----" 
    } 
} 
' 

그럼에도 불구하고, 나는이 메시지를 받고 있어요 : 그런 다음

docker exec -it es plugin install cloud-aws 

, 내 저장소를 설정하기 위해 노력하고있어 elasticsearch :

{ 
    "error" : { 
    "root_cause" : [ { 
     "type" : "repository_exception", 
     "reason" : "[s3] failed to create repository" 
    } ], 
    "type" : "repository_exception", 
    "reason" : "[s3] failed to create repository", 
    "caused_by" : { 
     "type" : "illegal_argument_exception", 
     "reason" : "Unknown [repository] type [s3]" 
    } 
    }, 
    "status" : 500 
} 

아이디어가 있으십니까?

cloud-aws 일단

은 내가 플러그인의 목록을 시도한 설치되어 편집 :

#docker exec -it es curl -XGET 'http://localhost:9200/_cat/plugins?v' 
name component version type url 

당신이 목록이 비어 볼 수 있듯이.

내 dockerized elasticsearch를 다시 시작한 후에도 플러그인 목록이 비어있게됩니다. 나는 '

{ 
    "error" : { 
    "root_cause" : [ { 
     "type" : "repository_verification_exception", 
     "reason" : "[s3] path is not accessible on master node" 
    } ], 
    "type" : "repository_verification_exception", 
    "reason" : "[s3] path is not accessible on master node", 
    "caused_by" : { 
     "type" : "i_o_exception", 
     "reason" : "Unable to upload object tests-9SGwQ4I-Tj6iLEr_fG5Qgw/master.dat-temp", 
     "caused_by" : { 
     "type" : "amazon_s3_exception", 
     "reason" : "Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: 90B3CC8F3BDFE716)" 
     } 
    } 
    }, 
    "status" : 500 
} 

: 내가 다른 메시지를 받고 있어요 설치 일단

RUN /usr/share/elasticsearch/bin/plugin install --batch cloud-aws 

:

#docker stop es && docker start es 
#docker exec -it es curl -XGET 'http://localhost:9200/_cat/plugins?v' 
name component version type url 

편집

나는 추가 dockerfile에 플러그인을 추가했습니다 이 정책으로 AWS에 사용자를 추가했습니다 :

{ 
    "Statement": [ 
     { 
      "Action": [ 
       "s3:ListBucket", 
       "s3:GetBucketLocation", 
       "s3:ListBucketMultipartUploads", 
       "s3:ListBucketVersions" 
      ], 
      "Effect": "Allow", 
      "Resource": [ 
       "arn:aws:s3:::snaps.example.com" 
      ] 
     }, 
     { 
      "Action": [ 
       "s3:GetObject", 
       "s3:PutObject", 
       "s3:DeleteObject", 
       "s3:AbortMultipartUpload", 
       "s3:ListMultipartUploadParts" 
      ], 
      "Effect": "Allow", 
      "Resource": [ 
       "arn:aws:s3:::snaps.example.com/*" 
      ] 
     } 
    ], 
    "Version": "2012-10-17" 
} 

아이디어가 있으십니까?

답변

2

버전이 무엇인지 알려주지 않았습니다.

5.0부터는 repository-s3 플러그인을 사용해야합니다. 당신은

를 실행 한 후 : 당신은 elasticsearch

docker exec -it es plugin install cloud-aws 

다시 시작 했습니까?

다시 시작해야합니다. GET _cat/plugins?v도 확인하십시오. 모든 노드에 설치되어 있는지 확인하십시오.

+0

감사합니다. @dadoonet. 게시물을 수정했습니다. 'restart elasticsearch'에 대해 무엇을 의미합니까? =>'docker stop es && docker start es'? 나는 elasticsearch를 사용하고있다. 2.4 docker image. – Jordi

+0

나는 도커의 컨텍스트에서 실제로 elasticsearch를 다시 시작하는 방법을 모르지만'_cat/plugins'에서 아무것도 볼 수없는 한 플러그인이 설치되지 않았거나 elasticsearch에 의해로드되지 않았다는 것을 의미합니다. 로그를 확인하십시오. – dadoonet

+0

dockerfile에 설치하는 플러그인을 설치했습니다. 그럼에도 불구하고, 게시물에 추가 한 다른 관련 문제를 도와 주시겠습니까? – Jordi