elk使用爬坑记录 1 之 Elasticsearch和Kibana的安装

背景:

最近公司要做用户行为日志的可视化展示,因为Elasticsearch对数据的可视化展示提供了初步支撑所以决定使用Elasticsearch。
个人理解:
Elasticsearch相当于提供数据存储功能的应用系统,提送数据的存储【包含数据分片和存储】功能并对外开放接口/API;
Kibana提供数据的可视化展示功能,其数据源为Elasticsearch;
总之,用起来挺简单的,但是安装和适配的过程会比较烦。

相关资源:

elasticsearch-7.3.1-linux-x86_64.tar.gz、
kibana-7.3.1-linux-x86_64.tar.gz、
logstash-7.3.1.tar.gz、
node-v12.9.1-linux-x64.tar.xz、
openjdk-11.0.1_linux-x64_bin.tar.gz

安装

  1. elasticsearch 安装

Elasticsearch的安装实际就是下载解压[假设解压目录为/opt]然后进入bin目录执行可执可执行文件就好了,但是在执行
./elasticsearch命令时可能会出现如下错误:

异常和解决方案

a、Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root.

解决方案:
创建普通用户和普通用户组,如:elsearch用户组及elsearch用户

1、新增用户组
groupadd elsearch

2、新增用户并将其加入新增的用户组中
useradd elsearch -g elsearch -p /opt/elasticsearch-7.3.1

3、更改elasticsearch文件夹及内部文件的所属用户及组为elsearch:elsearch
cd elasticsearch-7.3.1
chown -R elsearch:elsearch /opt/elasticsearch-7.3.1

4、切换到新增的普通用户启动/后台启动
su elsearch cd /opt/elasticsearch/bin
./elasticsearch
或者后台启动
./elasticsearch -d
(注:ElasticSearch后台启动命令): ./elasticsearch -d

参考文章:
ElasticSearch Root身份运行异常解决方案
elasticsearch 7.2.0安装

b、future versions of Elasticsearch will require Java 11; your Java version from [/opt/jdk1.8.0_211/jre] does not meet this requirement

解决方案:
Elasticsearch7.2启动指定JDK11

c、Error: Could not find or load main class org.elasticsearch.tools.java_version_checker.JavaVersionChecker

原因:

因为elasticsearch安装目录放在了root的家目录下,新用户是不能访问到的,所以即使新增的elasticsearch属于新用户了,但目录权限原因访问不到lib里的jar包,所以找不到Java类。

解决方案:

把ES搬到新用户的家目录以内即可。eg:mv elasticsearch-7.3.1 /home/elasticsearch

参考文章:
Elasticsearch启动问题小记
Linux系统里的家目录是什么意思

d: [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

解决方案:

切换到root用户,编辑limits.conf添加如下内容,注意*不是注释,后面有空格的;
vi /etc/security/limits.conf

*     soft nofile 65536
*     hard nofile 65536

参考文章:
elasticsearch启动常见的几个报错

e: max number of threads [3818] for user [es] is too low, increase to at least [4096]

解决方案:

修改配置文件etc/security/limits.conf,增加配置,注意*不是注释,后面有空格的;

*     soft nproc 4096
*     hard nproc 4096

参考文章:
elasticsearch启动常见的几个报错

2、安装Kibana可视化工具:
和Kibana一样,下载,解压,然后去bin目录下执行./kibana --allow-root,因为使用root用户启动会提示不允许使用root用户启动,所以命令后面加上--allow-root
a、Running Elastic without the Trial License

解决方案:

原因:kibana和elasticsearch整合的时候需要elasticsearch安全控制信息
解决:再elasticsearch的配置文件elasticsearch.yml中添加xpack.license.self_generated.type: basic指定只提供基础认证信息,因为高级的认证要收费的,好像还有点贵。

参考文章:
Running Elastic without the Trial License

参考文档:
Elasticsearch中ik_max_word和ik_smart的区别
windows下安装Elasticsearch7.X,IK分词器
springboot整合elasticsearch7.2(基于官方high level client)


Previous
elk使用爬坑记录 3 之 SpringBoot 中 Elasticsearch 相关API的使用 elk使用爬坑记录 3 之 SpringBoot 中 Elasticsearch 相关API的使用
首先需要再application.properties中配置elasticsearch的相关属性: #-----------------elasticsearch相关的配置------------------ es.host=192.1
2019-09-07
Next
linux开启某个端口防火墙的命令 linux开启某个端口防火墙的命令
在linux服务器上安装服务后,可能因为端口未开放暂时不能访问,此时需要开放特定的端口,相关的命令如下所示: A、防火墙状态操控 查看防火墙的状态 systemctl status firewalld 开启防火墙systemctl s
2019-08-04