Elastic(ELK)Stack Linux安装

一、ELK Stack 日志分析系统

https://www.elastic.co/cn/start
https://github.com/elastic

那么,ELK 到底是什么呢? “ELK”是三个开源项目的首字母缩写,这三个项目分别是:

Elasticsearch、Logstash 和 Kibana

产品说明备注
Elasticsearch存储、搜索和分析是一个搜索和分析引擎
Logstash采集、转换、充实、然后输出是服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到诸如 Elasticsearch等“存储库”中
Kibana可视化和管理则可以让用户在 Elasticsearch 中使用图形和图表对数据进行可视化

Elastic Stack 是 ELK Stack 的更新换代产品。

ELK 官方下载地址

https://www.elastic.co/cn/downloads/

Github elastic/elasticsearch

https://github.com/elastic/elasticsearch/releases
https://github.com/medcl/elasticsearch-analysis-ik/releases

在这里插入图片描述

二、注意事项

在这里插入图片描述

  1. 下载同一个版本号
  2. 在子用户下安装ELK,因ElK 禁止 使用root 用户安装
  3. kill -9 ** 请使用root 用户去操作

注意:java.lang.RuntimeException: can not run elasticsearch as root

出于安全考虑,elasticsearch默认不允许以root账号运行

#创建用户 root管理操作
useradd yitao
#设置密码
passwd yitao
#切换用户
su - yitao

三、官方下载地址

https://www.elastic.co/cn/start

https://github.com/elastic

四、官方安装文档

https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html

4.1Elasticsearch 安装

4.1.1 安装文档

在这里插入图片描述在这里插入图片描述
上传安装包到 /home/yitao目录

tar -xzf elasticsearch-7.6.2-linux-x86_64.tar.gz
cd elasticsearch-7.6.2/ 

配置 环境变量 $ES_HOME= elasticsearch-7.6.2 目录
修改文件 /etc/profile 并立即生效 source /etc/profile
在这里插入图片描述

4.1.2 参数配置 elasticsearch-7.6.2目录/config/
4.1.2.1 jvm.options

Elasticsearch基于Lucene的,而Lucene底层是java实现,因此我们需要配置jvm参数。

内存调小一点

-Xms512m
-Xmx512m
4.1.2.2 elasticsearch.yml
  • 修改数据和日志目录
path.data: /home/yitao/elasticsearch/data # 数据目录位置
path.logs: /home/yitao/elasticsearch/logs # 日志目录位置

需要提前创建好 data 和 logs 这两个目录
在这里插入图片描述默认Elasticsearch安装目录下 的data 和 logs
在这里插入图片描述

  • 修改绑定的ip
network.host: 0.0.0.0  # 绑定到0.0.0.0,允许任何ip来访问

默认只允许本机访问,修改为0.0.0.0后则可以远程访问

elasticsearch.yml的其它可配置信息:

属性名说明
cluster.name配置elasticsearch的集群名称,默认是elasticsearch。建议修改成一个有意义的名称。
node.name节点名,es会默认随机指定一个名字,建议指定一个有意义的名称,方便管理
path.conf设置配置文件的存储路径,tar或zip包安装默认在es根目录下的config文件夹,rpm安装默认在/etc/ elasticsearch
path.data设置索引数据的存储路径,默认是es根目录下的data文件夹,可以设置多个存储路径,用逗号隔开
path.logs设置日志文件的存储路径,默认是es根目录下的logs文件夹
path.plugins设置插件的存放路径,默认是es根目录下的plugins文件夹
bootstrap.memory_lock设置为true可以锁住ES使用的内存,避免内存进行swap
network.host设置bind_host和publish_host,设置为0.0.0.0允许外网访问
http.port设置对外服务的http端口,默认为9200。
transport.tcp.port集群结点之间通信端口
discovery.zen.ping.timeout设置ES自动发现节点连接超时的时间,默认为3秒,如果网络延迟高可设置大些
discovery.zen.minimum_master_nodes主结点数量的最少值 ,此值的公式为:(master_eligible_nodes / 2) + 1 ,比如:有3个符合要求的主结点,那么这里要设置为2
4.1.3 运行

进入elasticsearch/bin目录,并查看如图下的执行文件
在这里插入图片描述

cd 进入elasticsearch/bin目录

./elasticsearch
  • 启动成功(端口放行9200 9300)
  • 9300:集群节点间通讯接口
  • 9200:客户端访问接口

在这里插入图片描述
publish_address {192.168.1.15:9300}, bound_addresses {[::]:9300}
publish_address {192.168.1.15:9200}, bound_addresses {[::]:9200}
两者都出现时,才表示启动成功

publish_address {192.168.1.15:9200}, bound_addresses {[::]:9200} 如果没有出现在日志文件里面,则表示启动不成功

浏览器中访问:http://192.168.3.220:9200
!在这里插入图片描述

  • cluster_uuid:的值为:一串字符字符串 则表示启动成功
  • cluster_uuid:的值为:"--na--" 则表示9200端口没启动成功 会导致kibana 访问时返回:Kibana server is not ready yet

Kibana server is not ready yet 产生的原因,有可能时Elasticsearch 配置文件里面没有配置该节点名称
在这里插入图片描述

4.1.4 常见错误

在这里插入图片描述

4.1.4.1错误1: 文件权限不足

max file descriptors [4096] for elasticsearch process too low, increase to at least [65536]
查看当前用户权限 命令

ulimit -Hn
ulimit -Sn

修改配置文件 /etc/security/limits.conf

* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
4.1.4.2 错误2:进程虚拟内存

修改配置文件 /etc/sysctl.conf

vm.max_map_count=655360
4.1.4.3 错误3: elasticsearch 至少开启一个节点

修改配置文件elasticsearch.yml
取消 cluster.initial_master_nodes: [“node-1”] 注释

cluster.initial_master_nodes: ["node-1"]

在这里插入图片描述
如果时单台Elasticsearch 集群,配置文件elasticsearch.ymlnode.namecluster.initial_master_nodes 值设置要一样

4.1.5Elasticsearch 命令
OptionDescription
-E Configure a setting
-V, --versionPrints Elasticsearch version information and exits
-d, --daemonizeStarts Elasticsearch in the background 后台运行
-h, --helpShow help
-p, --pidfile Creates a pid file in the specified path on start
-q, --quietTurns off standard output/error streams logging in console
-s, --silentShow minimal output
-v, --verboseShow verbose output

在这里插入图片描述

4.2 Elasticsearch-analysis-ik

Lucene的IK分词器

下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases

IK 和 ES 版本对应关系
在这里插入图片描述
下载zip
在这里插入图片描述
将zip 解压到 elasticsearch 插件目录plugin
在这里插入图片描述

  • 安装方式1: 解压压缩包
#进入es 插件目录plugins
cd  elasticsearch安装目录/plugins
#解压
unzip elasticsearch-analysis-ik-7.6.2.zip -d es-analysis-ik
#重新启动 elasticsearch

解压后,删除对应得压缩包,只留下解压文件夹

在这里插入图片描述
在这里插入图片描述

  • 安装方式2: elasticsearch-plugin 安装
#进入 elasticsearch/bin 目录
cd  elasticsearch安装目录/bin
# 使用 elasticsearch-plugin 插件安装
./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.3.0/elasticsearch-analysis-ik-6.3.0.zip

在这里插入图片描述

重启Elasticsearch

5 Kibana 安装

注:通用不允许使用root 安装,请切换到 子用户 去安装和运行

tar -zxvf kibana-7.6.2-linux-x86_64.tar.gz
cd kibana-7.6.2/ 

在这里插入图片描述

5.1 配置文件kibana.yml
kibana-7.6.2目录/config/kibana.yml
#服务端口
server.port: 5601
# 0.0.0.0 允许任何 IP 访问
server.host: "0.0.0.0"
#elasticsearch 服务器ip:port地址
elasticsearch.hosts: ["http://192.168.1.15:9200"]
#语言设置中文
i18n.locale: "zh-CN"

在这里插入图片描述

5.2 运行

默认端口号: 5601

#进入kibana  bin目录
cd kibana-7.6.2目录/bin
#运行kibana
./kibana 

状态为 state:green 表示启动成功
在这里插入图片描述
访问: http://192.168.1.15:5601 能正常访问

在这里插入图片描述

5.3 问题
  • 查找不到进程 ps -ef | grep kibana
  • 处理方法:使用 nethup -luntp | grep 5601

在这里插入图片描述node 进程??
原因kibana 使用node.js 编写
在这里插入图片描述

5.4 简单调试
  • 最大分词 ik_max_word
  • 智能分词 ik_smart

在这里插入图片描述
在这里插入图片描述

6 日志收集

在这里插入图片描述

7客户端

在这里插入图片描述
在这里插入图片描述

<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-high-level-client</artifactId>
    <version>7.6.2</version>
</dependency>

8 API

https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/index.html
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值