1、服务器环境介绍
两台服务器均为Centos7.6
172.16.128.129 vm1 装载skywalking(采用es作为数据库)
172.16.128.130 vm2 项目服务器,然后向vm1集成
2、准备工作
2.1、由于安装skywalking是通过docker-compose方式安装在vm1且项目到时候是直接build成镜像然后发布,所以vm1和vm2都需要先安装docker以及docker-compose
2.2、docker 安装可以参考此篇文章:https://blog.csdn.net/weixin_45438044/article/details/121850036
2.3、 docker-compose 安装可以参考此篇文章:https://blog.csdn.net/weixin_45438044/article/details/124595830
2.4、如果对docker以及docker-compose常用命令不熟悉可以在此专栏中进行一下学习https://blog.csdn.net/weixin_45438044/category_11531858.html
3、skywalking安装前服务器配置
3.1、vm1服务器:
前置条件:由于是使用es作为数据库,所以需要先对Linux系统做下配置
3.1.1、文件创建数:修改Linux系统的限制配置,将文件创建数修改为65536个
①修改系统中允许应用最多创建多少文件等的限制权限。Linux默认来说,一般限制应用最多创建的文件是65535个。但是ES至少需要65536的文件创建数的权限。
②修改系统中允许用户启动的进程开启多少个线程。默认的Linux限制root用户开启的进程可以开启任意数量的线程,其他用户开启的进程可以开启1024个线程。必须修改限制数为4096+。因为ES至少需要4096的线程池预备。
vi /etc/security/limits.conf
#新增如下内容在limits.conf文件中
es soft nofile 65536
es hard nofile 65536
es soft nproc 4096
es hard nproc 4096 123456
3.1.2、系统控制权限:修改系统控制权限,ElasticSearch需要开辟一个65536字节以上空间的虚拟内存。Linux默认不允许任何用户和应用程序直接开辟这么大的虚拟内存
vi /etc/sysctl.conf
添加参数:新增如下内容在sysctl.conf文件中,当前用户拥有的内存权限大小
vm.max_map_count=262144
重启生效:让系统控制权限配置生效
sysctl -p
4、skywalking 正式安装
4.1、拉取基础镜像(可以跳过,在后续运行docker-compose脚本时,会自动拉取)
docker pull elasticsearch:7.9.0
docker pull apache/skywalking-oap-server:8.1.0-es7
docker pull apache/skywalking-ui:8.1.0 123
4.2、编写docker-compose.yml 文件
sky-ui 默认用的是8080端口,如果8080端口已经被其他服务占用了,则可以自己定义一个端口映射到8080也是一样的
version: '3.3'
services:
elasticsearch:
image: elasticsearch:7.9.0
container_name: elasticsearch
restart: always
ports:
- 9200:9200
environment:
discovery.type: single-node
TZ: Asia/Shanghai
ulimits:
memlock:
soft: -1
hard: -1
oap:
image: apache/skywalking-oap-server:8.1.0-es7
container_name: oap
depends_on:
- elasticsearch
links:
- elasticsearch
restart: always
ports:
- 11800:11800
- 12800:12800
environment:
SW_STORAGE: elasticsearch7 # 指定ES版本
SW_STORAGE_ES_CLUSTER_NODES: elasticsearch:9200
TZ: Asia/Shanghai
ui:
image: apache/skywalking-ui:8.1.0
container_name: ui
depends_on:
- oap
links:
- oap
restart: always
ports:
- 8080:8080
environment:
SW_OAP_ADDRESS: oap:12800
TZ: Asia/Shanghai
4.3 运行docker-compose.yml 文件
此例子中,我是直接在创建了一个 /data/sky 文件夹,然后将docker-compose.yml 放在了此文件夹下
另外就是图片中的 vm2 代表的是 vm1 服务器,只不过这是之前在练习时候的截图
运行命令:
docker-compose up -d
查看服务是否已启动:
可以直接使用
docker-compose ps
也可以使用docker的
docker ps
如上图,此时服务都已启动,则可以在浏览器中 IP + 8080 端口号,访问 sky-ui 进行查看。