在AWS EC2上安装ElasticSearch

简洁概述

以下是安装ElasticSearch在AWS EC2的t2.nano实例上进行验证的备忘录。

更新yum

创建EC2实例时的常规步骤

$ sudo yum update

安装 Java8。

$ sudo yum install java-1.8.0-openjdk.x86_64

由于已经安装了Java 7,因此将默认设置更改为Java 8。

$ sudo alternatives --config java

> There are 2 programs which provide 'java'.
>   Selection    Command
> -----------------------------------------------
> *+ 1           /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
>    2           /usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin/java

Enter to keep the current selection[+], or type selection number:2 

ElasticSearch的安装。

$ mkdir ~/src
$ cd ~/src
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.7.rpm
$ sha1sum elasticsearch-5.6.7.rpm
$ sudo rpm --install elasticsearch-5.6.7.rpm

由于t2.nano的内存只有0.5GB,但默认设置为2GB,所以将JVM配置设置为256MB。如果不这样做,ElasticSearch将无法启动。

$ sudo su
$ vim /etc/elasticsearch/jvm.options
#-Xms2g
#-Xmx2g
-Xms256m
-Xmx256m

为了接受外部访问,在elasticsearch.yml文件中添加以下内容。

$ vim /etc/elasticsearch/elasticsearch.yml
・・・
network.host: ec2-xxx-xxx-xxx-xxx.ap-northeast-x.compute.amazonaws.com
transport.host: localhost

新增自动启动设置

$ sudo chkconfig --add elasticsearch

开始运行

$ sudo -i service elasticsearch start

确认
ElasticSearch的默认端口是9200
可以通过浏览器访问以下链接

http://ec2-XX-XXX-XX-XX.ap-northeast-1.compute.amazonaws.com:9200/

如果返回的 JSON 类似下面的格式,表示设置成功!

{
  "name" : "DznLRHS",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "WodF7ptTR-K7F6LRYBbAQw",
  "version" : {
    "number" : "5.5.0",
    "build_hash" : "260387d",
    "build_date" : "2017-06-30T23:16:05.735Z",
    "build_snapshot" : false,
    "lucene_version" : "6.6.0"
  },
  "tagline" : "You Know, for Search"
}
广告
将在 10 秒后关闭
bannerAds