作者:书友56759136 | 来源:互联网 | 2023-09-15 15:30
接下来我们在虚拟机CentOS中搭建Skywalking的可观测性分析平台OAP环境。Skywalking默认使用H2内存中进行数据的存储,我们可以替换存储源为ElasticSearch保证其查
接下来我们在虚拟机CentOS中搭建Skywalking的可观测性分析平台OAP环境。Skywalking默认使用H2内存中进行数据的存储,我们可以替换存储源为ElasticSearch保证其查询的高效及可用性。
1 创建目录
mkdir /usr/local/skywalking
注意:建议将虚拟机内存设置为3G并且将CPU设置成2核,防止资源不足。
2 将资源目录中的elasticsearch和skywalking安装包上传到虚拟机/usr/local/skywalking目录下。
注意:
elasticsearch-6.4.1.tar.gz---elasticsearch 6.4的安装包,Skywalking对es版本号有一定要求,最好使用6.3.2以上版本,如果是7.x版本需要额外进行配置。
apache-skywalking-apm-6.5.0.tar.gz ---Skywalking最新的安装包
3 安装elasticsearch
3.1解压压缩包
tar -zxvf ./elasticsearch-6.4.1.tar.gz
3.2 修改Linux系统的限制配置,将文件创建数修改为65536个。
注意:
1. 修改系统中允许应用最多创建多少文件等的限制权限。Linux默认来说,一般限制应用最多创建的文件是65535个。但是ES至少需要65536的文件创建数的权限。
2. 修改系统中允许用户启动的进程开启多少个线程。默认的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
3.3 修改系统控制权限,ElasticSearch需要开辟一个65536字节以上空间的虚拟内存。Linux默认不允许任何用户和应用程序直接开辟这么大的虚拟内存。
vi /etc/sysctl.conf
#新增如下内容在sysctl.conf文件中,当前用户拥有的内存权限大小
vm.max_map_count=262144
#让系统控制权限配置生效
sysctl -p
3.4 建一个用户, 用于ElasticSearch启动。
注意:ES在5.x版本之后,强制要求在linux中不能使用root用户启动ES进程。所以必须使用其他用户启动ES进程才可以。
#创建用户
useradd es
#修改上述用户的密码
passwd es
#修改elasicsearch目录的拥有者
chown -R es elasticsearch-6.4.1
3.5使用es用户启动elasticsearch
#切换用户
su es
#到ElasticSearch的bin目录下
cd bin/
#后台启动
./elasticsearch -d
默认ElasticSearch是不支持跨域访问的,所以在不修改配置文件的情况下我们只能从虚拟机内部进行访问测试ElasticSearch是否安装成功,使用curl命令访问9200端口:
curl http://localhost:9200
如果显示出如下信息,就证明 ElasticSearch 安装成功:
{
"name" : "3LMdg4d",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "LO2XjTkJQTe1eBOeCb5ISw",
"version" : {
"number" : "6.4.1",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "e36acdb",
"build_date" : "2018-09-13T22:18:07.696808Z",
"build_snapshot" : false,
"lucene_version" : "7.4.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
4 安装Skywalking
分为两个步骤:
首先切回到root用户,切换到目录下,解压Skywalking压缩包。
#切换到root用户
su root
#切换到skywalking目录
cd /usr/local/skywalking
#解压压缩包
tar -zxvf apache-skywalking-apm-6.5.0.tar.gz
修改Skywalking存储的数据源配置:
cd apache-skywalking-apm-bin
vi config/application.yml
我们可以看到默认配置中,使用了H2作为数据源。我们将其全部注释。
将ElasticSearch对应的配置取消注释:
默认使用了localhost下的ES,所以我们可以不做任何处理,直接进行使用。启动OAP程序:
bin/oapService.sh
这样安装Backend后端服务就已经完毕了,接下来我们安装UI。先来看一下UI的配置文件:
cat webapp/webapp.yml
目前的默认配置不用修改就可以使用,建议将端口修改,以免8080会有冲突:
#默认启动端口
server:
port: 8080
collector:
path: /graphql
ribbon: Read
Timeout: 10000
#OAP服务,如果有多个用逗号隔开
listOfServers: 127.0.0.1:12800
启动UI程序:
/bin/webappService.sh
然后我们就可以通过浏览器访问Skywalking的可视化页面了,访问地址:http://虚拟机IP地址:8080,如果出现下面的图,就代表安装成功了。
备注:/bin/startup.sh可以同时启动backend和ui,后续可以执行该文件进行重启。