SkyWalking+ElasticSearch7实现日志追踪

1.安装ElasticSearch7

下载ElasticSearch7

国内es下载地址

1.1 解压 elasticsearch-7.8.0

mkdir -p /usr/app
cd /usr/app
tar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz 

1.2 进入elasticsearch-7.8.0

修改elasticsearch-env ,elasticsearch7 先去获取本地的jdk 如果jdk 环境不存在则会使用 elasticsearch-7.8.0/jdk 下的jdk ,因为小编本地jdk版本为1.8 运行时会报错future versions of Elasticsearch will require Java 11; your Java version from [/data/jdk1.8.0_111/jre] does not meet this requirement

因此我们修改 bin/elasticsearch-env 内容 解决改问题

vim /bin/elasticsearch-env

在这里插入图片描述注掉小编用红框圈起来的部分即可
在这里插入图片描述

1.3 ES配置文件

vim config/elasticsearch.yml
cluster.name: test_nodes
node.name: test_node_1
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["0.0.0.0:9300", "0.0.0.0:9301"]
path.data: /usr/app/elasticsearch-7.8.0/data
path.logs: /usr/app/elasticsearch-7.8.0/logs
http.cors.enabled: true
http.cors.allow-origin: /.*/

配置文件参数含义

cluster.name:
       配置elasticsearch的集群名称,默认是elasticsearch。建议修改成一个有意义的名称。   
node.name:
      节点名,通常一台物理服务器就是一个节点,es会默认随机指定一个名字,建议指定一个有意义的名称,方便管理一个或多个节点组成一个cluster集群,集群是一个逻辑的概念,节点是物理概念,后边章节会详细介绍。
path.data:
       设置索引数据的存储路径,默认是es_home下的data文件夹,可以设置多个存储路径,用逗号隔开。      
path.logs:
       设置日志文件的存储路径,默认是es_home下的logs文件夹         
network.host:  
       设置绑定主机的ip地址,设置为0.0.0.0表示绑定任何ip,允许外网访问,生产环境建议设置为具体的ip。   
http.port: 9200
       设置对外服务的http端口,默认为9200。      
transport.tcp.port: 9300 
       集群结点之间通信端口      
discovery.zen.ping.unicast.hosts:[“host1:port”, “host2:port”, “…”]  
       设置集群中master节点的初始列表。
discovery.zen.ping.timeout: 3s  
       设置ES自动发现节点连接超时的时间,默认为3秒,如果网络延迟高可设置大些。
http.cors.enabled:
	   是否支持跨域,默认为false
http.cors.allow-origin:
	   当设置允许跨域,默认为*,表示支持所有域名

1.4 创建es用户

ElasticSearch 7默认不能用root 用户启动 因此我们需要 添加专门的用户启动,负责会报错 -can not run elasticsearch as root

添加ElasticSearch用户

adduser elasticsearch

为该用户添加密码:

passwd elasticsearch

把文件夹的权限给这个用户:

chown -R elasticsearch  /usr/app/elasticsearch-7.8.0/

切换到这个用户环境下:

su elasticsearch

启动es

sh bin/elasticsearch  

#1.5 错误解决

如果启动过程中出现 ./elasticsearch-env: line 126: syntax error near unexpected token `<` 错误

vim bin/elasticsearch-evn

将 done < <(env)修改为图片红框中的内容
在这里插入图片描述

查看elasticsearch 状态

curl 127.0.0.1:9200

返回以下结果则成功

在这里插入图片描述

2 安装 SkyWalking

2.1 下载 SkyWalking8.1-es版本

下载地址

SkyWalking 8.7版本之前分为Binary Distribution和Binary Distribution for ElasticSearch 7两种,里面有个坑就是如果想连上ES7就必须下载Binary Distribution for ElasticSearch 7,不然会出现
org.apache.skywalking.oap.server.starter.OAPServerBootstrap - 57 [main] ERROR [] - storage module no provider exists. org.apache.skywalking.oap.server.library.module.ProviderNotFoundException: storage module no provider exists.

在这里插入图片描述

因为我们使用的es7 版本 ,所以下载 apache-skywalking-apm-es7-8.1.0.tar.gz

2.2 解压

tar -zxvf apache-skywalking-apm-es7-8.1.0.tar.gz 
cd apache-skywalking-apm-bin-es7/

在这里插入图片描述

2.3 修改配置文件

将数据库设置为 elasticsearch7

vim config/application.yml

在这里插入图片描述

2.4 修改skywalking-ui 端口

默认端口是8080 如果端口被占用我们可以改成未被占用的端口

 vim webapp/webapp.yml 

在这里插入图片描述

2.5启动

//启动skywalking-oap
sh oapServiceInit.sh
//启动skywalking-ui
sh webappService.sh
//全启动
sh startup.sh

在这里插入图片描述
启动指令

sh startup.sh

2.6查看skywalking ui 页面

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_46645840/article/details/129668376