2022云计算国赛---SkyWalking服务应用部署

最近整理了一些资在这里插入图片描述
源有意者私,主页联系方式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
本案例共讲述了Elasticsearch服务的搭建,以及搭建SkyWalking对应用商城利用探针方式进行检测。具体如下:

(1)搭建Elasticsearch服务;

(2)搭建SkyWalking OAP服务;

(3)搭建SkyWalking UI服务;

(4)搭建并启动应用商城服务,并配置 SkyWalking Agent。

案例:SkyWalking服务应用

案例准备

1. 规划节点

节点规划见表1。

表1 节点规划

IP主机名节点
10.24.194.203node-1Skywalking实验节点
10.24.193.168mall商城搭建节点
10.24.193.169desktopcentos-desktop-base节点
2. 基础准备

登录物理OpenStack平台,使用CentOS 7.9镜像创建两台云主机,云主机类型使用4VCPU/8GB内存/40GB硬盘。创建后的云主机作为本次案例的实验节点。

案例实施

1. 部署Elasticsearch服务

(1)修改主机名,修改主机名后,执行bash命令 或者刷新斗学网页面以生效新主机名。

[root@node-1 ~]# hostnamectl set-hostname node-1
[root@node-1 ~]# hostnamectl 
   Static hostname: node-1
         Icon name: computer-vm
           Chassis: vm
        Machine ID: cc2c86fe566741e6a2ff6d399c5d5daa
           Boot ID: 6c32a0c1d29e4f30929422c8032239ca
    Virtualization: kvm
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-1160.el7.x86_64
      Architecture: x86-64

(2)将提供的elasticsearch-7.17.0-linux-x86_64.tar.gz软件包下载到此节点并解压到/opt目录,进入解压后的目录并创建data目录:

[root@node-1 ~]# curl -O http://mirrors.douxuedu.com/competition/elasticsearch-7.17.0-linux-x86_64.tar.gz
[root@node-1 ~]# tar -zxvf elasticsearch-7.17.0-linux-x86_64.tar.gz -C /opt
[root@node-1 ~]# cd /opt/elasticsearch-7.17.0/
[root@node-1 elasticsearch-7.17.0]# mkdir data

(3)修改Elasticsearch配置,在文件最后添加添加如下几行内容,按“i”建进入编辑模式进行配置,按ESC键输入:wq保存退出。

[root@node-1 elasticsearch-7.17.0]# vi config/elasticsearch.yml
…
cluster.name: my-application
node.name: node-1
path.data: /opt/elasticsearch-7.17.0/data
path.logs: /opt/elasticsearch-7.17.0/logs
network.host: 0.0.0.0
cluster.initial_master_nodes: ["node-1"]
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type

(4)创建Elasticsearch启动用户,并设置属组及权限:

[root@node-1 elasticsearch-7.17.0]# groupadd elsearch
[root@node-1 elasticsearch-7.17.0]# useradd elsearch -g elsearch -p elasticsearch
[root@node-1 elasticsearch-7.17.0]# chown -R elsearch:elsearch /opt/elasticsearch-7.17.0

(5)修改资源限制及内核配置,添加如下内容:

[root@node-1 elasticsearch-7.17.0]# vi /etc/security/limits.conf
…
* hard    nofile           65536
* soft    nofile           65536
[root@node-1 elasticsearch-7.17.0]# vi /etc/sysctl.conf
vm.max_map_count=262144
[root@node-1 elasticsearch-7.17.0]# sysctl -p
[root@node-1 elasticsearch-7.17.0]# reboot

重启后等待一段时间后刷新页面点击重新连接。

(6)启动Elasticsearch服务:

[root@node-1 ~]# cd /opt/elasticsearch-7.17.0/
[root@node-1 elasticsearch-7.17.0]# su elsearch
[elsearch@node-1 elasticsearch-7.17.0]$ ./bin/elasticsearch -d

(7)查询端口,存在9200则成功启动:

[root@node-1 elasticsearch-7.17.0]# netstat -ntpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address     State    PID/Program name  tcp        0      0 0.0.0.0:22              0.0.0.0:*           LISTEN      1081/sshd      tcp        0      0 127.0.0.1:25            0.0.0.0:*           LISTEN      1041/master    tcp        0      0 0.0.0.0:111             0.0.0.0:*           LISTEN      610/rpcbind   
tcp6       0      0 :::9300                 :::*                LISTEN      2261/java     
tcp6       0      0 :::22                   :::*                LISTEN      1081/sshd     
tcp6       0      0 ::1:25                  :::*                LISTEN      1041/master   
tcp6       0      0 :::111                  :::*                LISTEN      610/rpcbind   
tcp6       0      0 :::9200                 :::*                LISTEN      2261/java

(8)切换至带有桌面的虚拟机环境中,使用浏览器访问10.24.193.154:9200,如图1所示:

1.png

在这里插入图片描述

2. 部署SkyWalking OAP服务

(1)将提供的jdk-8u144-linux-x64.tar.gz软件包下载至node-1节点/root/目录中,并配置jdk如下所示:

[elsearch@node-1 elasticsearch-7.17.0]$ exit
[root@node-1 elasticsearch-7.17.0]# cd
[root@node-1 ~]# curl -O http://mirrors.douxuedu.com/competition/jdk-8u144-linux-x64.tar.gz
[root@node-1 ~]# tar -zxvf jdk-8u144-linux-x64.tar.gz -C /usr/local/

修改profile环境变量文件,代码如下所示:

[root@node-1 ~]# vi /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_144
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
[root@node-1 ~]# source /etc/profile
[root@node-1 ~]# java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

(2)将提供的apache-skywalking-apm-es7-8.0.0.tar.gz软件包下载至node-1节点上并解压到/opt目录下:

[root@node-1 ~]# curl -O http://mirrors.douxuedu.com/competition/apache-skywalking-apm-es7-8.0.0.tar.gz
[root@node-1 ~]# tar -zxvf apache-skywalking-apm-es7-8.0.0.tar.gz -C /opt
3. 部署SkyWalking UI服务

(1)由于SkyWalking UI的默认地址是8080,与很多中间件可能存在冲突,修改一下:

[root@node-1 apache-skywalking-apm-bin-es7]# vi webapp/webapp.yml
…
server:
  port: 8888
…

(2)启动SkyWalking UI服务:

[root@node-1 apache-skywalking-apm-bin-es7]# ./bin/webappService.sh 
SkyWalking Web Application started successfully!

(3)查看端口,存在8888则成功启动:

[root@node-1 apache-skywalking-apm-bin-es7]# netstat -ntpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address     State    PID/Program name 
tcp        0      0 0.0.0.0:22              0.0.0.0:*           LISTEN      1081/sshd     
tcp        0      0 127.0.0.1:25            0.0.0.0:*           LISTEN      1041/master   
tcp        0      0 0.0.0.0:111             0.0.0.0:*           LISTEN      610/rpcbind   
tcp6       0      0 :::9300                 :::*                LISTEN      2261/java     
tcp6       0      0 :::22                   :::*                LISTEN      1081/sshd     
tcp6       0      0 :::8888                 :::*                LISTEN      3133/java     
tcp6       0      0 :::11800                :::*                LISTEN      2416/java     
tcp6       0      0 ::1:25                  :::*                LISTEN      1041/master   
tcp6       0      0 :::12800                :::*                LISTEN      2416/java     
tcp6       0      0 :::111                  :::*                LISTEN      610/rpcbind   
tcp6       0      0 :::9200                 :::*                LISTEN      2261/java

(4)切换带有桌面的虚拟机环境,使用火狐浏览器访问10.24.194.203:8888,此时访问页面无数据,如图2所示:

在这里插入图片描述

4. 搭建并启动应用商城服务

切换至提供mall节点,搭建并启动应用商城服务,并配置SkyWalking Agent

(1)修改mall节点主机名,修改主机名后,执行bash命令或者刷新斗学网页面以生效新主机名。

[root@localhost ~]# hostnamectl set-hostname mall
[root@mall ~]# hostnamectl 
   Static hostname: mall
         Icon name: computer-vm
           Chassis: vm
        Machine ID: cc2c86fe566741e6a2ff6d399c5d5daa
           Boot ID: 51559d155ec14aafad2411ca8b85db42
    Virtualization: kvm
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-1160.el7.x86_64
      Architecture: x86-64

修改/etc/hosts配置文件如下:

[root@mall ~]# vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

10.24.193.168 mall

(2)配置本地Yum源

将提供的gpmall包下载到服务器的/root目录下并解压gpmall.tar.gz,配置本地local.repo文件,具体代码如下所示:

[root@mall ~]# curl -O http://mirrors.douxuedu.com/competition/gpmall.tar.gz
[root@mall ~]# tar -zxvf gpmall.tar.gz
[root@mall ~]# mv /etc/yum.repos.d/* /media/
[root@mall ~]# cd gpmall/
[root@mall gpmall]# tar -zxvf gpmall-repo.tar.gz -C  /root/
[root@mall ~]# vi /etc/yum.repos.d/local.repo 
[mall]
name=mall
baseurl=file:///root/gpmall-repo
gpgcheck=0
enabled=1

(3)安装基础服务

安装基础服务,包括Java JDK环境、数据库、Redis、Nginx等,安装基础服务的命令具体如下。

① 安装Java环境

[root@mall ~]# yum install  -y java-1.8.0-openjdk java-1.8.0-openjdk-devel  
...  
[root@mall ~]# java  -version  
openjdk version  "1.8.0_322"  
OpenJDK Runtime  Environment (build 1.8.0_322-b06)  
OpenJDK 64-Bit Server  VM (build 25.322-b06, mixed mode)  

② 安装Redis缓存服务

[root@mall ~]# yum install  redis -y  

③ 安装Nginx服务

[root@mall ~]# yum  install nginx -y  

④ 安装MariaDB数据库

[root@mall ~]# yum  install mariadb mariadb-server -y  

安装ZooKeeper服务,将提供的zookeeper-3.4.14.tar.gz解压,命令如下:

[root@mall gpmall]# tar -zxvf zookeeper-3.4.14.tar.gz -C /root/

进入到zookeeper-3.4.14/conf目录下,将zoo_sample.cfg文件重命名为zoo.cfg,命令如下:

[root@mall gpmall]# cd /root/zookeeper-3.4.14/conf/
[root@mall conf]# mv zoo_sample.cfg zoo.cfg

进入到zookeeper-3.4.14/bin目录下,启动ZooKeeper服务,命令如下:

[root@mall conf]# cd ../bin
[root@mall bin]# ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /root/zookeeper-3.4.14/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

采样率修改:agent.sample_n_per_3_secs配置说明:

在访问量较少时,链路全量收集不会对系统带来太大负担,能够完整的观测到系统的运行状况。但是在访问量较大时,全量的链路收集,对链路收集的客户端(agent探针)、服务端(SkyWalking OAP)、存储器(例如说Elastcsearch)都会带来较大的性能开销,甚至会影响应用的正常运行。在访问量级较大的情况下,往往会选择抽样采样,只收集部分链路信息。SkyWalking Agent在agent/config/agent.config 配置文件中,定义了agent.sample_n_per_3_secs配置项,设置每3秒可收集的链路数据的数量。

将gpmall软件包中提供的4个jar包,放置探针并启动,通过设置启动参数的方式检测系统,启动命令如下:

[root@mall ~]# nohup java -javaagent:/root/agent/skywalking-agent.jar  -jar gpmall/shopping-provider-0.0.1-SNAPSHOT.jar &
[1] 20086
[root@mall ~]# nohup: ignoring input and appending output to ‘nohup.out’

[root@mall ~]# nohup java -javaagent:/root/agent/skywalking-agent.jar  -jar gpmall/user-provider-0.0.1-SNAPSHOT.jar &
[2] 20132
[root@mall ~]# nohup: ignoring input and appending output to ‘nohup.out’

[root@mall ~]# nohup java -javaagent:/root/agent/skywalking-agent.jar  -jar gpmall/gpmall-shopping-0.0.1-SNAPSHOT.jar &
[3] 20177
[root@mall ~]# nohup: ignoring input and appending output to ‘nohup.out’

[root@mall ~]# nohup java -javaagent:/root/agent/skywalking-agent.jar  -jar gpmall/gpmall-user-0.0.1-SNAPSHOT.jar &
[4] 20281
[root@mall ~]# nohup: ignoring input and appending output to ‘nohup.out’
# httpd访问网络配置
[root@mall ~]# setsebool -P httpd_can_network_connect 1

按照顺序运行4个jar包后,至此后端服务部署完毕。

④ 网站访问

打开浏览器,在地址栏中输入http://10.24.193.168,访问界面,如图3所示。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
再次访问SkyWalking UI,点击右上角的自动按钮(Auto),发现已有数据产生,如图8与图9所示:
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

让我三行代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值