1.安装
1.1 安装Elasticsearch
导入Elasticsearch GPG KEY:
|
添加elasticsearch的yum repo文件,使用清华的yum源镜像:
|
安装并启动ES:
|
查看系统内核参数,确认安装过程已经对``完成了设置:
|
检查ES正常运行:
|
使用yum安装的elasticsearch,ES默认安装的主目录在/usr/share/elasticsearch中,从ES 7.x开始内置了JDK,可以在安装的主目录中找到jdk目录。 配置文件的默认位置为/etc/elasticsearch/elasticsearch.yml
,同时还有一个系统配置文件位于/etc/sysconfig/elasticsearch
,可以设置诸如ES_JAVA_OPTS
等很多配置,另外有专门的/etc/elasticsearch/jvm.options
配置文件可配置ES的JVM配置(ES官方博客中有一篇专门介绍ES JVM堆内存配置的文章https://www.elastic.co/blog/a-heap-of-trouble)。 elasticsearch.yml
中默认配置的数据目录和日志目录如下:path.data: /var/lib/elasticsearch
,path.logs: /var/log/elasticsearch
。
接下来安装国际化分词插件analysis-icu
:
|
1.2 集群配置
测试环境准备两个节点,elasticsearch.yml中针对集群配置如下:
|
查看集群状态和集群节点列表:
|
1.3 外部工具安装head或cerebro
另外可进一步安装外部工具elasticsearch-head或crebro。 这两个工具都可以可视化的呈现ES集群、节点及分片信息。
1.4 安装Kibana
安装ES时添加清华yum源中已经包含了kibana,下面直接使用yum安装即可。
|
使用yum安装的kibana,默认安装的主目录在/usr/share/kibana中。kibana配置文件的位置为/etc/kibana/kibana.yml
。 下面修改kibana.yml
中的server.host: "localhost"
为服务器具体的IPserver.host: "192.168.99.21"
,因为默认监听的是localhost。 另外kibana.yaml
中的elasticsearch.hosts: ["http://192.168.99.21:9200", "http://192.168.99.22:9200"]
指定了kibana连接的ES的地址。 通过i18n.locale: 'zh-CN'
可修改kibana的本地化配置。
启动:
|
kibana默认监听5601端口,启动成功后可使用http://192.168.99.21:5601
打开kibana的Web页面。 kibana安装完成后还可选择安装kibana的一些插件,具体插件的列表地址为https://www.elastic.co/guide/en/kibana/current/known-plugins.html。
1.5 安装Logstash
因为当前7.3版本的logstash中还未内置JDK,所以需要预先指定JAVA_HOME
环境变量,这里指定为前面安装elasticsearch时内置的JDK。
|
安装ES时添加清华yum源中也包含了kibana,直接使用yum安装logstash即可。
|
在启动前还需要创建或修改文件/etc/sysconfig/logstash
在其中加入环境变量JAVA_HOME=/usr/share/elasticsearch/jdk
,这里logstash和ES在同一台机器上,所以直接使用ES的JDK。
启动:
|
Logstash使用JRuby语言开发,默认yum安装的Logstash的各种配置文件在/etc/logstash
下。
|
logstash.yml
是logstash自己的setting配置文件,这个配置文件里面可以设置关于logstash本身的一些配置。
logstash-sample.conf
是一个logstash收集处理数据即pipeline配置文件样例,内容如下:
|
从这个配置文件可以很容易看出logstash从beats input
插件接受数据,并使用elastisearch output
插件将数据输出并索引到ES中。 一般一个典型的logstash配置形式是input -> filter -> output(elastisearch)
。 filer插件用于对数据做处理,而logstash除了elasticsearch output外还提供了一些其他的output插件。关于这input, filter, output这三种类型的插件列表可以再官方文档中找到:
最后是pipeline.yml
配置文件:
|
默认只定义了一个id为main
的pipeline,将读取/etc/logstash/conf.d
目录下所有的conf文件。
2.配置
2.1 每节点最大分片数配置
ES 7中集群分片限制的默认值为每节点最大1000个,可以通过cluster.max_shards_per_node
进行设置,例如:
|
查看是否设置生效:
|