|
### Document
[elsaticsearch 官方文档](https://www.elastic.co/guide/en/ ... se-notes-5.2.2.html)
[Elk Stack 指南](https://kibana.logstash.es/content/)
### Install
```
# wget https://artifacts.elastic.co/dow ... ticsearch-5.2.2.rpm
# rpm -ivh elasticsearch-5.2.2.rpm
# chkconfig --add elasticsearch
```
### Config
- jvm.options
`# vim /etc/elasticsearch/jvm.options`。此文件为elasticsearch的启动Jvm的配置文件。
1. 修改jvm启动内存。
默认设置:
-Xms2g 最小内存为2g
-Xmx2g 最大内存为2g
官方推荐最小4g,最大不超过32G
由于是在虚拟机里面做测试,虚拟内存本身只有1g,如果使用默认配置,jvm将会报内存相关错误,导致elasticsearch无法启动。
这里修改为:
-Xms216m
-Xmx216m
在实际生产环境中,只做这些修改是不够的。总而言之,根据需求修改。
- elasticsearch.yml
`#vim /etc/elasticsearch/elasticsearch.yml`.此文件问elasticsearch的配置文件。
elasticsearch.yml 文件配置内容分为Cluster、Node、Paths、Memory、Network
1. 修改elaseticsearch监听地址
默认设置:
network.host 的值是本机的对外的IP地址
这里修改为:
network.host 127.0.0.1
2. 修改elasticsearch监听端口
默认设置:
network.port 9200
这里不做修改。
其实以上修改都是为了elasticsearch安全做考虑。elasticsearch安全参考文:http://www.tuicool.com/articles/fUFFj2I
https://kibana.logstash.es/conte ... /searchguard-2.html
elasticsearch RESTful API 如果不做认证,很容易导致数据泄露的风险。
修改成如上样子之后,只有本地能访问,但是其他机器怎么访问?
使用Nginx做反向代理,配置示例如下
server {
listen 80;
server_name localhost;
location / {
allow 192.168.1.1;
deny all;
proxy_pass http://127.0.0.1:9200/;
}
}
这样就很方便做了一个访问控制。
### Start And Test
- start
`/etc/init.d/elasticsearch start`
- test
- 在elasticsearch本机测试是否正常
curl http://127.0.0.1:9200
- 在其他机器测试是否正常
curl http://elasticsearch_Host_IP:9200
_ 出现如下内容为启动常
{
"name" : "WfNifzu",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "L0NQm_mjT-SXSKwQrYC5Rw",
"version" : {
"number" : "5.2.2",
"build_hash" : "f9d9b74",
"build_date" : "2017-02-24T17:26:45.835Z",
"build_snapshot" : false,
"lucene_version" : "6.4.1"
},
"tagline" : "You Know, for Search"
}
其中字段含义这里不做说明,有兴趣可以查阅本文开始附带的Document。
如果,看到"tagline" : "You Know, for Search"。说明你的elasticsearch可以为你提供服务了。
### END
|
|
|