测试机安装指定版本的elk(elasticsearch、kibana、logstash)
一、安装elasticsearch
# 安装:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.7.2.zip
unzip elasticsearch-6.7.0.zip
# config配置
[root@VM235 elasticsearch-6.7.0]# less config/elasticsearch.yml |grep -v "#"
bootstrap.memory_lock: false # 画外音(因运行时报错bootstrap checks failed,此处开启修复这个报错)
bootstrap.system_call_filter: false # 画外音(因运行时报错bootstrap checks failed,此处开启修复这个报错)
network.host: 192.168.3.53
http.port: 9200
# 运行
su elasticsearch
sh bin/elasticsearch
# 后台运行
su elasticsearch
nohup bin/elasticsearch &
# 访问请求是否正常启动 (出现下列信息,则正常启动)
[root@VM235 kibana-6.7.0]# curl http://192.168.3.53:9200/
{
"name" : "87DNZWU",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "e3A3l85MSZuZlRhxj6IB2w",
"version" : {
"number" : "6.7.0",
"build_flavor" : "default",
"build_type" : "zip",
"build_hash" : "8453f77",
"build_date" : "2019-03-21T15:32:29.844721Z",
"build_snapshot" : false,
"lucene_version" : "7.7.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
二、安装kibana
# 安装
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.7.2-linux-x86_64.tar.gz
tar zxvf kibana-6.7.0-linux-x86_64.tar.gz
# config配置
[root@VM235 kibana-6.7.0]# less config/kibana.yml |grep -v "#"
server.port: 5601
server.host: "192.168.3.53"
elasticsearch.hosts: ["http://192.168.3.53:9200"]
kibana.index: ".kibana6.7" # 画外音(因重装了els,旧索引还在,无法启动,这里更换了索引)
# 运行
sh bin/kibana
# 后台运行
nohup bin/kibana &
# 查看是否正常启动
# 网页访问 http://192.168.3.53:5601/, 如果正常访问,则启动成功
三、安装JAVA
# 安装JAVA (根据官方文档按照相应版本的java)
yum install java-1.8.0-openjdk.x86_64
[root@VM235 etc]# java -version
openjdk version "1.8.0_275"
OpenJDK Runtime Environment (build 1.8.0_275-b01)
四、安装logstash
# 官网下载安装包
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.7.0.zip
unzip logstash-6.7.0.zip
# 查询是否可以正常使用
bin/logstash -e 'input { stdin {} } output { stdout {} }'
#(画外音:选项 -e 的意思是允许你从命令行指定配置)
# 启动后 输入hello world,可返回json数据,即启动成功
# 设置复杂的logstash管道
# 接受redis数据
[root@VM235 config.d]# less application.conf |grep -v '#'
input {
redis {
data_type => "list"
key => "logstash-list"
host => "192.168.3.53"
port => 8003
threads => 5
}
}
output {
elasticsearch {
hosts => ["http://192.168.3.53:9200"]
index => "application_log_%{+YYYY.MM.dd}"
}
}
# 接受filebeat数据 (暂时不写,自行查询)
less logstash-sample.conf | grep -v '#'
input {
beats {
port => 5044
}
}
output {
stdout {codec => rubydebug } # 输出到页面
elasticsearch {
hosts => ["http://192.168.3.53:9200"] # 存储的elasticsearch
index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
}
}
# 接受mysq 数据库数据 (具体写在Mysql>ElasticSearch.md文档中)
五、遇到的报错
elasticsearch启动异常:
sh bin/elasticsearch
报错:can not run elasticsearch as root
# 1、创建用户:elasticsearch
[root@iZbp1bb2egi7w0ueys548pZ bin]# adduser elasticsearch
# 2、创建用户密码,需要输入两次
[root@iZbp1bb2egi7w0ueys548pZ bin]# passwd elasticsearch
#3、将对应的文件夹权限赋给该用户
[root@iZbp1bb2egi7w0ueys548pZ local]# chown -R elasticsearch elasticsearch-6.0.0
#4、切换至elasticsearch用户
[root@iZbp1bb2egi7w0ueys548pZ etc]# su elasticsearch
# 5、进入启动目录启动 /usr/local/elasticsearch-6.0.0/bin 使用后台启动方式:./elasticsearch -d
[elasticsearch@vmt10003 bin]$ ./elasticsearch -d
bootstrap checks failed :
问题原因:因为Centos6不支持SecComp,而ES5.2.1默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。详见 :https://github.com/elastic/elasticsearch/issues/22899
解决方法:
在elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面: bootstrap.memory_lock: false bootstrap.system_call_filter: false
max number of threads [1024] for user [elasticsearch] is too low, increase to at least [4096]
修改max user processes
错误说明: Linux系统为每个用户都设置了一个最大进程数, 这个特性可以让我们控制服务器上现有用户可以创建的进程数量.
(2) 查看
max user processes
:
# 与查看max open files类似, 可使用 ulimit -u查看max user processes:
ulimit -u
(3) 修改
max user processes
:① 方案一: 修改
/etc/security/limits.conf
文件, 在文件最后添加下述内容:
* soft nproc 131072
* hard nproc 131072
② 方案二: 修改
/etc/security/limits.d/90-nproc.conf
文件, 在文件最后添加下述内容:
# 用户进程数的默认限制, 下面这个是对root外的其他用户限制max user processes, 要注释掉:
> # * soft nproc 1024
> root soft nproc 131072</pre>
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
修改虚拟内存大小
[root@localhost ~]# sysctl -w vm.max_map_count=262144</pre>
查看修改结果
[root@localhost ~]# sysctl -a|grep vm.max_map_count
vm.max_map_count = 262144</pre>
kibana启动报错
Index .kibana_7.13.2_001 belongs to a version of Kibana that cannot be automatically migrated. Reset it or use the X-Pack upgrade assistant.
原因: 遗留了旧版的es后,kibana还存放着原es数据索引。 解决方法: 修改kibana.yml里的,index.kibana 为index.kibana6.7 重启kibana,完美解决。
https://www.cnblogs.com/qdhxhz/p/11448451.html
logstash报错:
本地出现报错,无法连接elasticsearch:9200时,关闭本地翻墙软件代理,再尝试。