侧边栏壁纸
  • 累计撰写 30 篇文章
  • 累计创建 3 个标签
  • 累计收到 4 条评论
标签搜索

目 录CONTENT

文章目录

2022云计算国赛iaas集群部分

小裴
2023-03-12 / 0 评论 / 0 点赞 / 171 阅读 / 5,418 字

【题目 7】Redis 一主二从三哨兵模式
使用提供的 OpenStack 私有云平台,申请三台 CentOS7.9 系统的云主机,使用提供的http 源,在三个节点自行安装 Redis 服务并启动,配置 Redis 的访问需要密码,密码设置为123456。然后将这三个 Redis 节点配置为 Redis 的一主二从三哨兵架构,即一个 Redis 主节点,两个从节点,三个节点均为哨兵节点。配置完成后提交 Redis 主节点的用户名、密码和IP 地址到答题框。

node1
yum install -y redis
vi /etc/redis.conf 
bind 0.0.0.0
protected-mode no
masterauth 123456
requirepass 123456
node2,3
vi /etc/redis.conf
bind 0.0.0.0
protected-mode no
slaveof 192.168.20.104 6379
masterauth 123456
requirepass 123456
哨兵
vi /etc/redis-sentinel.conf
端口默认为26379。
port 26379
关闭保护模式,可以外部访问。
protected-mode no
设置为后台启动。
daemonize yes
指定主机IP地址和端口(三台配置均为指定主机ip),并且指定当有2台哨兵认为主机宕机,则对主机进行容灾切换。mymaster:设置master名字,必须在其它有用到该名字的命令之前设置
sentinel monitor mymaster 192.168.20.104 6379 2
当在Redis实例中开启了requirepass,这里就需要提供密码。
sentinel auth-pass mymaster 123456
这里设置了主机多少秒无响应,则认为挂了。此处3秒
sentinel down-after-milliseconds mymaster 3000
主备切换时,最多有多少个slave同时对新的master进行同步,这里设置为默认的1。
snetinel parallel-syncs mymaster 1
故障转移的超时时间,这里设置为三分钟。
sentinel failover-timeout mymaster 180000

redis-sentinel /etc/redis-sentinel.conf

【题目 8】Redis 服务调优-AOF[1 分]
使用上一题安装的 Redis 服务。在 Redis 中,AOF 配置为以三种不同的方式在磁盘上执行 write 或者 fsync。假设当前 Redis 压力过大,请配置 Redis 不执行 fsync。除此之外,避免AOF 文件过大,Redis 会进行 AOF 重写,生成缩小的 AOF 文件。请修改配置,让 AOF 重写时,不进行 fsync 操作。配置完成后提交 Redis 节点的用户名、密码和 IP 地址到答题框。

vi /etc/redis.conf
appendfsync no    Redis 不执行 fsync
no-appendfsync-on-rewrite yes      AOF 重写时,不进行 fsync

【题目 9】应用部署:堡垒机部署[0.5 分]
使用提供的 OpenStack 平台申请一台 CentOS7.9 的云主机,使用提供的软件包安装JumpServer 堡垒机服务,并配置使用该堡垒机对接自己安装的 controller 和 compute 节点。完成后提交 JumpServer 节点的用户名、密码和 IP 地址到答题框。

[root@jumpserver ~]# yum install python2 -y
[root@jumpserver ~]# cp -rf /opt/docker/* /usr/bin/
[root@jumpserver ~]# chmod 775 /usr/bin/docker*
[root@jumpserver ~]# cp -rf /opt/docker.service /etc/systemd/system/
[root@jumpserver ~]# chmod 755 /etc/systemd/system/docker.service
[root@jumpserver ~]# systemctl daemon-reload
[root@jumpserver ~]# systemctl enable docker --now
[root@jumpserver ~]# cd /opt/images/
[root@jumpserver images]# sh load.sh
[root@jumpserver images]# mkdir -p /opt/jumpserver/{core,koko,lion,mysql,nginx,redis}
[root@jumpserver images]# cp -rf /opt/config /opt/jumpserver/
[root@jumpserver images]# cd /opt/compose/
[root@jumpserver compose]# source /opt/static.env
[root@jumpserver compose]# sh up.sh  

【题目 10】skywalking 服务部署与应用[1 分]
使用提供的 OpenStack 私有云平台,申请一台 centos7.9 系统的云主机,使用提供的软件包安装 Elasticsearch 服务和 skywalking 服务,将 skywalking 的 UI 访问端口修改为 8888。接下来再申请一台CentOS7.9的云主机,用于搭建gpmall商城应用,并配置SkyWalking Agent,将 gpmall 的 jar 包放置探针并启动。安装与配置完成后提交 skywalking 节点的用户名、密码和 IP 地址到答题框。

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 Elasticsearch服务访问
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)进入解压后目录,修改OAP配置文件:
[root@node-1 ~]# cd /opt/apache-skywalking-apm-bin-es7/
[root@node-1 apache-skywalking-apm-bin-es7]# vi config/application.yml
…
#集群配置使用单机版
cluster:
  selector: ${SW_CLUSTER:standalone}
  standalone:
…
#数据库使用elasticsearch7
storage:
  selector: ${SW_STORAGE:elasticsearch7}
…
  elasticsearch7:
    nameSpace: ${SW_NAMESPACE:""}
    clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:10.24.194.203:9200}
…
(4)启动OAP服务,查询端口,存在11800与12800则成功启动:
[root@node-1 apache-skywalking-apm-bin-es7]# ./bin/oapService.sh 
SkyWalking OAP started successfully!
[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 :::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
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所示:
 
图2 访问SkyWalking UI服务
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
查看ZooKeeper状态,命令如下:
[root@mall bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /root/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: standalone
安装Kafka服务,将提供的kafka_2.11-1.1.1.tgz解压至/root目录下,命令如下:
[root@mall bin]# tar -zxvf /root/gpmall/kafka_2.11-1.1.1.tgz -C /root
进入到kafka_2.11-1.1.1/bin目录下,启动Kafka服务,命令如下:
[root@mall bin]# cd /root/kafka_2.11-1.1.1/bin/
[root@mall bin]# ./kafka-server-start.sh -daemon ../config/server.properties
使用jps或者netstat -ntpl命令查看Kafka是否成功启动,命令如下:
[root@mall bin]# jps
6039 Kafka
1722 QuorumPeerMain
6126 Jps
[root@mall bin]# 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      1008/sshd     
tcp        0      0 127.0.0.1:25            0.0.0.0:*           LISTEN      887/master   
tcp6       0      0 :::9092                 :::*                LISTEN      6039/java     
tcp6       0      0 :::46949                :::*                LISTEN      6039/java     
tcp6       0      0 :::2181                 :::*                LISTEN      1722/java     
tcp6       0      0 :::48677                :::*                LISTEN      1722/java     
tcp6       0      0 :::22                   :::*                LISTEN      1008/sshd     
tcp6       0      0 ::1:25                  :::*                LISTEN      887/mast 
运行结果查看到Kafka服务和9092端口,说明Kafka服务已启动。
(4)启动服务
① 启动数据库并配置
修改数据库配置文件并启动MariaDB数据库,设置root用户密码为123456,并创建gpmall数据库,将提供的gpmall.sql导入。
修改/etc/my.cnf文件,添加字段如下所示:
[root@mall bin]# cd
[root@mall ~]# vi /etc/my.cnf
[mysqld]
…
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
启动数据库命令如下。
[root@mall ~]#  systemctl start mariadb  
设置root用户的密码为123456并登录。
[root@mall ~]# mysqladmin -uroot password 123456
[root@mall ~]# mysql -uroot -p123456
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 5.5.68-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>
设置root用户的权限,命令如下:
MariaDB [(none)]> grant all privileges on *.* to root@localhost identified by '123456' with grant option;
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> grant all privileges on *.* to root@"%" identified by '123456' with grant option;
Query OK, 0 rows affected (0.001 sec)
创建数据库gpmall并导入/root/gpmall/目录中的gpmall.sql文件。
MariaDB [(none)]> create database gpmall;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> use gpmall;
MariaDB [gpmall]> source /root/gpmall/gpmall.sql
退出数据库并设置开机自启。
MariaDB [gpmall]> exit
Bye 
[root@mall ~]# systemctl enable mariadb
Created symlink from /etc/systemd/system/mysql.service to /usr/lib/systemd/system/mariadb.service.
Created symlink from /etc/systemd/system/mysqld.service to /usr/lib/systemd/system/mariadb.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
② 启动Redis服务
修改Redis配置文件,编辑/etc/redis.conf文件。
将bind 127.0.0.1这一行注释掉;将protected-mode yes 改为 protected-mode no。
启动Redis服务命令如下。
[root@mall ~]# vi /etc/redis.conf
…
#bind 127.0.0.1
protected-mode no
…
[root@mall ~]# systemctl start redis
[root@mall ~]# systemctl enable redis
Created symlink from /etc/systemd/system/multi-user.target.wants/redis.service to /usr/lib/systemd/system/redis.service.
③ 启动Nginx服务
启动Nginx服务命令如下。
[root@mall ~]# systemctl start nginx
[root@mall ~]# systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
(5)应用系统部署
使用提供gpmall-shopping-0.0.1-SNAPSHOT.jar、gpmall-user-0.0.1-SNAPSHOT.jar、shopping-provider-0.0.1-SNAPSHOT.jar、user-provider-0.0.1-SNAPSHOT.jar 、dist这5个包部署应用系统,其中4个jar包为后端服务包,dist为前端包。(包在gpmall目录下)
① 全局变量配置
修改/etc/hosts文件,修改项目全局配置文件如下(原有的172.128.11.42 mall映射删除):
[root@mall ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.24.193.168 kafka.mall
10.24.193.168 mysql.mall
10.24.193.168 redis.mall
10.24.193.168 zookeeper.mall
② 部署前端
清空默认项目路径下的文件,将dist目录下的文件,复制到Nginx默认项目路径(文件在gpmall目录下)。
[root@mall ~]# rm -rf /usr/share/nginx/html/*
[root@mall ~]# cp -rvf gpmall/dist/* /usr/share/nginx/html/
修改Nginx配置文件/etc/nginx/nginx.conf,添加映射如下所示:
[root@mall ~]# vi /etc/nginx/nginx.conf
…
    server {
        listen       80;
        listen       [::]:80;
        server_name  _;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;
         
        location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        }
        location /user {
            proxy_pass http://127.0.0.1:8082;
        }

        location /shopping {
            proxy_pass http://127.0.0.1:8081;
        }

        location /cashier {
            proxy_pass http://127.0.0.1:8083;
        }

        error_page 404 /404.html;
…
重启Nginx服务,命令如下:
[root@mall ~]# systemctl restart nginx
到此,前端部署完毕。
③ 部署后端
将node-1节点的/opt/apache-skywalking-apm-bin-es7目录下的agent目录复制到mall节点下(密码为Abc@1234):
[root@mall ~]# scp -r 10.24.194.203:/opt/apache-skywalking-apm-bin-es7/agent /root
修改SkyWalking agent配置文件:
[root@mall ~]# vi agent/config/agent.config
…
agent.service_name=${SW_AGENT_NAME:my-application}
agent.sample_n_per_3_secs=${SW_AGENT_SAMPLE:1}
…
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:10.24.194.203:11800}
…
采样率修改: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包后,至此后端服务部署完毕。

【题目 11】Linux 内核优化[1 分]
在使用 Linux 服务器的时候,TCP 协议规定,对于已经建立的连接,网络双方要进行四次挥手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死状态,连接本身占用的资源不会被释放。因为服务器程序要同时管理大量连接,所以很有必要保证无用的连接完全断开,否则大量僵死的连接会浪费许多服务器资源。创建一台 CentOS7.9 云主机,修改相应的配置文件,分别开启 SYN Cookies;允许将 TIME-WAIT sockets 重新用于新的 TCP连接;开启 TCP 连接中 TIME-WAIT sockets 的快速回收;修改系統默认的 TIMEOUT 时间为 30。完成后提交修改节点的用户名、密码和 IP 地址到答题框。

vi /etc/sysctl.conf
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30 
net.ipv4.tcp_syncookies = 1 表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。
net.ipv4.tcp_fin_timeout 修改系統默认的TIMEOUT时间

【题目 12】排错:Glance 服务排错[1 分]
使用赛项提供的 chinaskill-error1 镜像启动云主机,flavor 使用 4vcpu/12G 内存/100G 硬盘。启动后存在错误的私有云平台,错误现象为查看不到 image 列表,试根据错误信息排查云平台错误,使云平台可以查询到 image 信息。完成后提交云主机节点的用户名、密码和 IP
地址到答题框。


【题目 13】排错:数据库排错[1.5 分]
使用赛项提供的排错镜像 chinaskill-error2 创建一台云主机(云主机的登录用户名为 root,密码为 000000),该云主机中存在错误的数据库服务,错误现象为数据库服务无法启动。请将数据库服务修复并启动,将数据库的密码修改为 chinaskill123。修复完成后提交该云主机的用户名、密码和 IP 地址到答题框。


0

评论区