版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Stream_who/article/details/81515112
一、elasticsearch安装
1. 配置jdk环境
https://www.cnblogs.com/shihaiming/p/5809553.html (注意path格式的问题,/etc/profile 修改有问题,会导致输入linux指令有问题
2. 官网下载elasticsearch
https://www.elastic.co/downloads
4. 修改elasticsearch.yml配置
node.name
path.data:最好是和bin同级
path.logs:同上,可以看启动日志,报错信息
network.host: 0.0.0.0 (默认所有)
5. 新增用户,因为elasticsearch不能通过root用户启动(can not run elasticsearch as root)
1)新增用户 adduser username
2) 设置密码 passwd username 会连续跳两次密码,确认
3)设置用户文件夹权限 chown -R hh_es:hh_es /home/elasticsearch
4) 切换用户 su hh_es
5) elasticserach启动 ./elasticsearch -d
6) 查看配置得logs路径下的log,看启动信息
6. curl http://localhost:9200 出现json格式的数据,说明启动成功
7. 常见错误
1)启动linux命令行就报错,一般是配置文件格式有问题
2)ERROR: bootstrap checks failed:max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
(无法创建本地文件问题,用户最大可创建文件数太小)
(1)切换到root用户,编辑limits.conf配置文件
(2)vi /etc/security/limits.conf
(3)添加(这里的 * 代表所有用户)
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
3)错误:max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
(最大虚拟内存太小)
(1)切换到root用户下,修改配置文件sysctl.conf
(2)vi /etc/sysctl.conf
(3)添加下面配置:vm.max_map_count=655360
(4)并执行命令:sysctl -p
4)Exception in thread "main" BindTransportException[Failed to bind to [9300-9400]]
(1)打开配置文件elasticsearch.yml 将 network.host: 192.168.0.1 修改为本机IP 0.0.0.0
5)elasticsearch Failed to create node environment
(1)这个问题目前没有找到解决办法,重新安装或者修改配置文件吧
二、logstash安装
1.官网下载logstash https://www.elastic.co/downloads
2. 解压到指定位置
3. 在config下创建配置文件
input { stdin { } }
output {
elasticsearch { hosts => ["localhost:9200"] }
stdout { codec => rubydebug }
}
4.修改环境变量
1)vi /etc/profile
2) export LOGSTASH_HOME=/opt/app/logstash-6.2.3
export PATH=:$PATH:$LOGSTASH_HOME/bin
3) source /etc/profile (使变量生效)
5. logstash -e “”, 输入信息,有个json格式的数据出来,说明成功了
6. 启动
logstash -f /home/logstash/logstash-6.2.4/config/log_app.conf
(出现info消息以及The stdin plugin is now waiting for input: ,说明启动成功)
7. 退出命令了,则获取的数据输入源就不会有数据了
8. 几个参数说明
1)-e 后面跟着字符串,该字符串可以被当做logstash的配置(如果是“” 则默认使用stdin作为输入,stdout作为输出)
2)-t 测试配置文件是否正确,然后退出(放在命令最后面)
3)-f:通过这个命令可以指定Logstash的配置文件,根据配置文件配置logstash
9. 查看elasticsearch所有索引
http://39.108.5.183:9200/_cat/indices?v
(重启logstash配置文件,就可以生成了,前提是一定要有数据,也就是路径要对)
三、kibana安装
1. 官网下载kibana
2. 解压到指定位置
3. 在config下修改配置文件 kibana.yml
1)server.port: 5601
2)server.host: "172.18.161.213" (填写内网地址)
3)elasticsearch.url: "localhost:9200"
4)kibana.index: ".kibana"
4. bin目录下 ./kibana, 前台启动,不能关闭
5. 访问 http:/localhost:5601,页面出现即是成功
四、可以加深学习的点
1. logstash多行并一行,合并多行数据(Multiline) 对于堆栈信息可能用得上
2. logstash的codec,以及json的作用
3. 日志的类型,比如tomcat的请求参数是否有,nginx的请求日志
4. logstash如何把数据过滤得更容易查询
参考网址
在Linux上安装Elasticsearch5.x(还有分词的东西)
注:文章是经过参考其他的文章然后自己整理出来的,有可能是小部分参考,也有可能是大部分参考,但绝对不是直接转载,觉得侵权了我会删,我只是把这个用于自己的笔记,顺便整理下知识的同时,能帮到一部分人。
ps : 有错误的还望各位大佬指正,小弟不胜感激