三、基于 Filebeat 架构的配置安装
由于我这边是测试环境,所以ElasticSearch + Logstash + Kibana + nginx这四个软件我都是装在一台机器上面,如果是生产环境,建议分开部署,并且ElasticSearch可配置成集群方式。
软件架构示意图:
安装环境及版本:
- 操作系统:Centos7
- 内存:大于或等于4G
- ElasticSearch:6.1.0
- Logstash:6.1.0
- Kibana:6.1.0
- filebeat :6.2.4
建议把所需的安装包,手动从网上下载下来,因为服务器下载ELK安装包速度像蜗牛......,非常非常慢~~,可能是国内的网络原因吧!
将手动下载下来的安装包,上传到服务器某个文件夹下。
3.1、ElasticSearch安装
3.1.1、安装JDK(已经安装过,可以跳过)
elasticsearch依赖Java开发环境支持,先安装JDK。
yum -y install java-1.8.0-openjdk
查看java安装情况
java -version
3.1.2、安装ElasticSearch
进入到对应上传的文件夹,安装ElasticSearch
rpm -ivh elasticsearch-6.1.0.rpm
查找安装路径
rpm -ql elasticsearch
一般是装在/usr/share/elasticsearch/下。
3.1.3、设置data的目录
创建/data/es-data目录,用于elasticsearch数据的存放
mkdir -p /data/es-data
修改该目录的拥有者为elasticsearch
chown -R elasticsearch:elasticsearch /data/es-data
3.1.4、设置log的目录
创建/data/es-log目录,用于elasticsearch日志的存放
mkdir -p /log/es-log
修改该目录的拥有者为elasticsearch
chown -R elasticsearch:elasticsearch /log/es-log
3.1.5、修改配置文件elasticsearch.yml
vim /etc/elasticsearch/elasticsearch.yml
修改如下内容:
#设置data存放的路径为/data/es-data path.data: /data/es-data #设置logs日志的路径为/log/es-log path.logs: /log/es-log #设置内存不使用交换分区 bootstrap.memory_lock: false #配置了bootstrap.memory_lock为true时反而会引发9200不会被监听,原因不明 #设置允许所有ip可以连接该elasticsearch network.host: 0.0.0.0 #开启监听的端口为9200 http.port: 9200 #增加新的参数,为了让elasticsearch-head插件可以访问es (5.x版本,如果没有可以自己手动加) http.cors.enabled: true http.cors.allow-origin: "*"
3.1.6、启动elasticsearch
启动
systemctl start elasticsearch
查看状态
systemctl status elasticsearch
设置开机启动
systemctl enable elasticsearch
启动成功之后,测试服务是否开启
curl -X GET http://localhost:9200
返回如下信息,说明安装、启动成功了