在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"
}