AWS - ElasticSearch服务入门

Amazon Elasticsearch Service (Amazon ES) 是一种托管服务,可以让您轻松在AWS云中部署、操作和扩展 Elasticsearch 集群。Elasticsearch 是一款流行的开源搜索和分析引擎,适用于日志分析、实时应用程序监控、点击流分析等使用案例。借助 Amazon ES,您可以直接访问 Elasticsearch API,让现有代码和应用程序与服务无缝协作。Amazon ES 为您的 Elasticsearch 集群预置所有资源并启动集群。它还自动检测和替换失败的 Elasticsearch 节点,减少与自管理基础设施相关的开销。您只需调用一次 API 或在控制台中单击几下就可扩展集群。

一.Amazon ES域入门

1.创建Amazon ES域

详细配置请参见文档创建和配置ElasticSearch

1.1 使用Console创建Amazon ES域
  • 进入ElasticSearch服务并选择Create Elasticsearch domain
  • Step1: Choose deployment type 选择后点击Next
    • Deployment type: Development and testing [根据情况选择即可]
    • Version: 6.7 [选最新的即可]
  • Step 2: Configure cluster 选择后点击Next
    • Elasticsearch domain name:test-domain [编写自定义ElasticSearch域名即可]
    • Instance type实例类型: 选择t2.small.elasticsearch用于测试即可
    • Number of instances实例数:选择1 [根据情况选择]
    • Dedicated master instances 用于提高域的稳定性,不必选择
    • Storage存储[为数据节点选择存储类型。如果选择EBS存储类型,请将每个节点的EBS存储大小乘以群集中的数据节点数,以计算群集可用的总存储量。存储设置不适用于群集中的任何专用主节点]
      • EBS volume type (EBS 卷类型):General Purpose (SSD) (通用型 (SSD))
      • EBS volume size (EBS 卷大小):为每个数据节点键入外部存储的大小 (GiB),选择默认10
    • Enable encryption at rest可以不选择加密
    • Automated snapshot start hour (自动快照开始时间) 选择默认即可
  • Step 3: Set up access设置访问权限
    • 为简单起见,建议使用基于 IP 的访问策略。在 Set up access (设置访问权限) 页面上的 Network configuration (网络配置) 部分中,选择 Public access (公有访问权限)。
    • 目前可以忽略 Kibana authentication (Kibana 身份验证)
    • Set the domain access policy to (将域访问策略设置为),选择 Allow access to the domain from specific IP(s) (允许从特定 IP 访问域),然后输入公有 IP 地址
  • Step 4: Review 检查一下所有的配置,没问题点击Confirm
  • 注意:初始化新域大约需要十分钟时间。初始化您的域后,您可以上传数据和更改域。
1.2 使用AWS CLI创建Amazon ES域
aws es create-elasticsearch-domain --domain-name movies --elasticsearch-version 6.0 --elasticsearch-cluster-config InstanceType=t2.small.elasticsearch,InstanceCount=1 --ebs-options EBSEnabled=true,VolumeType=standard,VolumeSize=10 --access-policies '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"AWS":"*"},"Action":["es:*"],"Condition":{"IpAddress":{"aws:SourceIp":["your_ip_address"]}}}]}'
  • 上述命令使用 Elasticsearch 版本 6.0 创建一个名为 movies 的域。它指定一个 t2.small.elasticsearch 实例类型的实例。此实例类型需要 EBS 存储,因此它指定了一个 10GiB 的卷。最后,此命令应用基于 IP 的访问策略来将对域的访问限制为单个 IP 地址。
  • 并可以使用下述命令查询新域
aws es describe-elasticsearch-domain --domain movies
1.2 将数据上传到Amazon ES域以便编制索引
  • 可以通过命令行使用 Elasticsearch 索引和批量处理 API 将数据上传到 Amazon Elasticsearch Service 域以便编制索引
    • 使用索引 API 添加或更新单个 Elasticsearch 文档
    • 使用批量 API 添加或更新同一 JSON 文件中所述的多个 Elasticsearch 文档
  • 编制索引流程
    • 上传单个文档到 Amazon ES 域【运行以下命令将单个文档添加到 movies 域】
      curl -XPUT es_endpoint/domain_name/_doc/1 -d '{"director": "Burton, Tim", "genre": ["Comedy","Sci-Fi"], "year": 1996, "actor": ["Jack Nicholson","Pierce Brosnan","Sarah Jessica Parker"], "title": "Mars Attacks!"}' -H 'Content-Type: application/json'
    • 上传包含多个文档的 JSON 文件到 Amazon ES 域
      • 创建名为 bulk_movies.json 的文件。将以下内容复制并粘贴到其中,并添加一个尾部换行
        { "index" : { "_index": "domain_name", "_type" : "_doc", "_id" : "2" } } {"director": "Frankenheimer, John", "genre": ["Drama", "Mystery", "Thriller"], "year": 1962, "actor": ["Lansbury, Angela", "Sinatra, Frank", "Leigh, Janet", "Harvey, Laurence", "Silva, Henry", "Frees, Paul", "Gregory, James", "Bissell, Whit", "McGiver, John", "Parrish, Leslie", "Edwards, James", "Flowers, Bess", "Dhiegh, Khigh", "Payne, Julie", "Kleeb, Helen", "Gray, Joe", "Nalder, Reggie", "Stevens, Bert", "Masters, Michael", "Lowell, Tom"], "title": "The Manchurian Candidate"} { "index" : { "_index": "domain_name", "_type"
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值