单机版
- 第一步,搭建一个 Elasticsearch 服务。
- 第二步,下载 SkyWalking 软件包。
- 第三步,搭建一个 SkyWalking OAP 服务。
- 第四步,搭建一个 SkyWalking UI 服务。
- 第五步,部署探针(SkyWalking Agent)。
- 第六步,查看SkyWalking。
第一步:Elasticsearch 搭建。
1.下载elasticsearch
下载地址:https://www.elastic.co/cn/downloads/elasticsearch
选择对应安装包,我使用的是linux x86
2.上传文件至服务器,解压文件
tar -zxvf elasticsearch-8.6.1-linux-x86_64.tar.gz //解压压缩包
cd elasticsearch-8.6.1 //进入目录
mkdir data //创建data文件夹,保存数据
3.修改Elasticsearch配置:config/elasticsearch.yml
cluster.name: my-application
node.name: node-1
path.data: /app/elasticsearch/elasticsearch-8.6.1/data
path.logs: /app/elasticsearch/elasticsearch-8.6.1/logs
# ES监听的ip地址
network.host: 0.0.0.0
cluster.initial_master_nodes: ["node-1"]
# 需要开启跨域才能给elasticsearch-head,kibana等连接
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
4.创建Elasticsearch启动用户,并设置权限等
groupadd elsearch
useradd elsearch -g elsearch -p elasticsearch
chown -R elsearch:elsearch elasticsearch-8.6.1
5.配置/etc/security/limits.conf文件,添加如下行
#配置Elasticsearch文件进程大小65536
hard nofile 65536
soft nofile 65536
5.配置/etc/sysctl.conf文件,添加如下行
#设置最大虚拟内存面积262144
vm.max_map_count = 262144
检查是否配置成功
sysctl -a|grep vm.max_map_count
显示:vm.max_map_count = 262144为正常。如果不是,切换到root用户执行命令
sysctl -w vm.max_map_count=262144
再次检查是否配置成功
sysctl -a|grep vm.max_map_count
显示:vm.max_map_count = 262144,正常
6.修改config/jvm.options
# Elasticsearch默认内存是1G,修改内存大小
-Xms200m
-Xmx200m
7.启动Elasticsearch
cd elasticsearch-8.6.1
su elsearch
./bin/elasticsearch -d
8.查看是否启动成功:访问ip:9200,出现以下信息即为启动成功
{
"name" : "node-1",
"cluster_name" : "my-application",
"cluster_uuid" : "*******************",
"version" : {
"number" : "8.6.1",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "180c9830da956993e59e2cd70eb32b5e383ea42c",
"build_date" : "2023-01-24T21:35:11.506992272Z",
"build_snapshot" : false,
"lucene_version" : "9.4.2",
"minimum_wire_compatibility_version" : "7.17.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "You Know, for Search"
}
9.访问失败
问题一:检查端口是否开放
问题二:是否开启安全验证
问题一:开放9200端口
问题二:修改config/elasticsearch.yml配置
# Enable security features
xpack.security.enabled: false
xpack.security.enrollment.enabled: false
# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:
enabled: false
keystore.path: certs/http.p12
# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:
enabled: false
verification_mode: certificate
keystore.path: certs/transport.p12
truststore.path: certs/transport.p12
第二步:下载 SkyWalking 软件包
1.下载SkyWalking官方包,下载地址: http://skywalking.apache.org/downloads/ ,我们下载操作系统对应的发布版。这里,我们选择apache-skywalking-apm-9.3.0.tar.gz版本,使用 Elasticsearch 作为存储。
2.上传下载的压缩包到linux服务器,解压文件
tar -zxvf apache-skywalking-apm-9.3.0.tar.gz
cd apache-skywalking-apm-9.3.0
第三步:SkyWalking OAP 搭建
1.修改 OAP 配置文件 config/application.yml
vim config/application.yml
# 配置文件中默认选择的是H2数据源,切换成elasticsearch,把elasticsearch配置成自己安装的信息
# 重点修改 storage 配置项,通过 storage.selector 配置项来设置具体使用的存储器。
# storage.elasticsearch 配置项,设置使用 Elasticsearch 版本作为存储器。
#示例
storage:
selector: ${SW_STORAGE:elasticsearch}
elasticsearch:
namespace: ${SW_NAMESPACE:"my-application"}
clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:IP地址:9200}
2.启动OAP
$ bin/oapService.sh
SkyWalking OAP started successfully!
第四步:SkyWalking UI 搭建
1.由于SkyWalking UI的默认地址是8080,与很多中间件有冲突,可以修改一下
# 修改webapp/application.yml
serverPort: ${SW_SERVER_PORT:-18080}
# Comma seperated list of OAP addresses.
oapServices: ${SW_OAP_ADDRESS:-http://IP地址/:12800}
2.启动 SkyWalking UI 服务
$ bin/webappService.sh
SkyWalking Web Application started successfully!
第五步:部署探针(SkyWalking Agent)
下载方式一
下载地址: http://skywalking.apache.org/downloads/
下载方式二
wget https://archive.apache.org/dist/skywalking/java-agent/8.14.0/apache-skywalking-java-agent-8.14.0.tgz
1.解压文件
tar -zxvf apache-skywalking-java-agent-8.14.0.tgz
2.启动探针
正常启动xxxx.jar的命令
java -jar xxxx.jar
加上探针启动命令
java -javaagent:skywalking-agent.jar(注意修改agent路径) -Dskywalking.agent.service_name=xyleed-knowledge(可以随意取名字) -Dskywalking.collector.backend_service=IP地址(SkyWalking所在服务器):11800 -jar xxxx.jar
示例
nohup java -javaagent:/usr/local/apache-skywalking-java-agent-8.14.0/skywalking-agent.jar -Dskywalking.agent.service_name=gateway -jar gateway.jar > a.log 2>&1 &
第六步:查看SkyWalking
请查看端口是否开放
9200:Elasticsearch
18080:SkyWalking UI
11800:skywalking-oap-server 收集监控数据的端口11800
12800:skywalking-oap-server 接收前端请求的端口12800
查看SkyWalking:访问ip:18080,出现
恭喜你,已经搭建完成!