一流的邯郸网站建设,邯郸市建设局,easyui做的网站,砀山网站建设【任务 2】私有云服务运维[10 分] 【适用平台】私有云 【题目 1】OpenStack 开放镜像权限[0.5 分] 使 用 OpenStack 私 有 云 平 台 #xff0c; 在 OpenStack 平台的 admin 项 目 中 使 用 cirros-0.3.4-x86_64-disk.img 镜像文件创建名为 glance-cirros 的镜像#xff0c;通…【任务 2】私有云服务运维[10 分] 【适用平台】私有云 【题目 1】OpenStack 开放镜像权限[0.5 分] 使 用 OpenStack 私 有 云 平 台 在 OpenStack 平台的 admin 项 目 中 使 用 cirros-0.3.4-x86_64-disk.img 镜像文件创建名为 glance-cirros 的镜像通过 OpenStack 命令将 glance-cirros 镜像指定 demo 项目进行共享使用。配置完成后提交 controller 节点的用户名、密 码和 IP 地址到答题框。
1在admin项目中创建镜像 [rootcontroller ~]# openstack image create --disk-format qcow2 --container-format bare --file cirros-0.3.4-x86_64-disk.img glance-cirros 2将 glance-cirros 镜像指定 demo 项目进行共享使用 命令格式为glance member-create [rootcontroller ~]# openstack image list # 查看image的id ±-------------------------------------±-------±------- | ID | Name | Status | ±-------------------------------------±-------±------- | 5453f892-257a-4982-a3e2-fff94645a5e9 | cirros | active | ±-------------------------------------±-------±------- [rootcontroller ~]# openstack project list #查看demo项目id ±---------------------------------±-------- | ID | Name | ±---------------------------------±-------- | 065e210e48d6432d9b0fb6559bc8f487 | service | | 4f49c46f87f247ed94a06d37e4415337 | demo | | 74d88b843cc941c8bf4ac743f46d1116 | admin | ±---------------------------------±--------
[rootcontroller ~]# glance member-create 5453f892-257a-4982-a3e2-fff94645a5e9 4f49c46f87f247ed94a06d37e4415337 #将镜像共享给demo项目 ±-------------------------------------±---------------------------------±-------- | Image ID | Member ID | Status | ±-------------------------------------±---------------------------------±-------- | 5453f892-257a-4982-a3e2-fff94645a5e9 | 4f49c46f87f247ed94a06d37e4415337 | pending | ±-------------------------------------±---------------------------------±-------- 在共享之后镜像的状态是pending状态此时还需要激活镜像 [rootcontroller ~]# glance member-update 5453f892-257a-4982-a3e2-fff94645a5e9 4f49c46f87f247ed94a06d37e4415337 accepted ±-------------------------------------±---------------------------------±--------- | Image ID | Member ID | Status | ±-------------------------------------±---------------------------------±--------- | 5453f892-257a-4982-a3e2-fff94645a5e9 | 4f49c46f87f247ed94a06d37e4415337 | accepted | ±-------------------------------------±---------------------------------±--------- 1.检查 glance-cirros 镜像权限开放正确计 0.5 分
【题目 2】OpenStack 消息队列调优[0.5 分] OpenStack 各服务内部通信都是通过 RPC 来交互各 agent 都需要去连接 RabbitMQ随着各服务 agent 增多MQ 的连接数会随之增多最终可能会到达上限成为瓶颈。使用自行搭建的OpenStack私有云平台分别通过用户级别、系统级别、配置文件来设置RabbitMQ 服务的最大连接数为 10240配置完成后提交修改节点的用户名、密码和 IP 地址到答题框。 1系统级别修改 [rootcontroller ~]# vi /etc/sysctl.conf fs.file-max10240 #在sysctl.conf文件的最下方添加一行fs.file-max10240 2用户级别修改 [rootcontroller ~]# vi /etc/security/limits.conf #在配置文件的最后添加两行内容如上 openstack soft nofile 10240 openstack hard nofile 10240 3修改rabbitMQ配置 [rootcontroller ~]# vi /usr/lib/systemd/system/rabbitmq-server.service #在[Service]下添加一行参数如下 LimitNOFILE10240 编辑完之后保存退出重启RabbitMQ服务命令如下 [rootcontroller ~]# systemctl daemon-reload [rootcontroller ~]# systemctl restart rabbitmq-server 重启完毕后查看RabbitMQ的最大连接数命令如下 [rootcontroller ~]# rabbitmqctl status Status of node rabbitopenstack …忽略输出… {file_descriptors, [{total_limit,10240}, 1.检查 rabbitmq 服务最大连接数正确计 0.5 分
【题目 3】OpenStack Glance 镜像压缩[0.5 分] 使用自行搭建的 OpenStack 平台。在 HTTP 服务中存在一个镜像为CentOS7.5-compress.qcow2 的镜像请使用 qemu 相关命令对该镜像进行压缩压缩后的镜像命名为chinaskill-js-compress.qcow2 并存放在/root 目录下。完成后提交 controller 点的用户名、密码和 IP 地址到答题框。
1.检查镜像压缩正确计 0.5 分
【题目 4】glance对接cinder后端存储[0.5 分] 在自行搭建的OpenStack平台中修改相关参数使 glance 可以使用 cinder作为后端存储将镜像存储于cinder 卷中。使用 cirros-0.3.4-x86_64-disk.img 文件创建cirros-image 镜像存储于 cirros-cinder 卷中通过 cirros-image 镜像使用 cinder 卷启动盘的方式进行创建虚拟机。完成后提交修改节点的用户名、密码和 IP 地址到答题框。 1修改glance配置文件 [rootcontroller ~]# vi /etc/glance/glance-api.conf show_multiple_locations true [glance_store] #stores file,http #demo_store file #filesystem_store_datadir /var/lib/glance/images/ stores cinder default_storecinder [rootcontroller ~]# systemctl restart openstack-glance* # 重启glance相关服务 2修改cinder配置文件 [rootcontroller ~]# vi /etc/cinder/cinder.conf allowed_direct_url_schemes cinder image_upload_use_cinder_backend true image_upload_use_internal_tenant true [rootcontroller ~]# systemctl restart openstack-cinder* # 重启cinder相关服务 3测试 [rootcontroller ~]# openstack image create cirros cirros-0.3.4-x86_64-disk.img [rootcontroller ~]# cinder list ±-------------------------------------±----------±-------------------------------------------±-----±------------±---------±------------ | ID | Status | Name | Size | Volume Type | Bootable | Attached to | ±-------------------------------------±----------±-------------------------------------------±-----±------------±---------±------------ | 527a11ff-5a45-4d72-8bbe-8e6a2215342d | available | image-dca0685f-4261-475f-80cd-f6f868b96741 | 1 | - | false | | ±-------------------------------------±----------±-------------------------------------------±-----±------------±---------±------------ 1.检查修改 glance 后端存储为 cinder 正确计 0.5 分 加一道类似题
【题目 5】OpenStack Heat运维创建容器[0.5 分] 在自行搭建的 OpenStack 私有云平台上 在 /root 目录下编写 Heat 模板create_container.yaml要求执行yaml 文件可以创建名为 heat-swift 的容器。完成后提交控制节点的用户名、密码和 IP 地址到答题框。在提交信息前请准备好 yaml 模板执行的环境
[rootcontroller ~]# openstack-service list # 查看openstack平台所有已安装服务
1.执行 heat 模板文件成功创建容器计 0.5 分
【题目 6】OpenStack Nova 清除缓存[0.5 分] 在 OpenStack 平台的一台计算节点创建虚拟机若是第一次在该节点创建次虚拟机会先将镜像文件复制到该计算节点目录/var/lib/nova/instances/_base。长期下来该目录会占用比较大的磁盘空间而要清理。可以通过修改 nova 的配置文件来自动清理该缓存目录即在该节点没有使用某镜像启动的云主机那么这个镜像在过一定的时间后会被自动删除。配置完成后提交改动节点的用户名、密码和 IP 地址到答题框。 [rootcontroller ~]# vim /etc/nova/nova.conf remove_unused_base_imagesTrue remove_unused_original_minimum_age_seconds3 image_cache_manager_interval5 1.检查 nova 配置自动清理缓存文件正确计 0.5 分
【题目 7】Redis 一主二从三哨兵模式[1 分] 使用提供的 OpenStack 私有云平台申请三台 CentOS7.9 系统的云主机使用提供的 http 源在三个节点自行安装 Redis 服务并启动配置 Redis 的访问需要密码密码设置为123456。然后将这三个 Redis 节点配置为 Redis 的一主二从三哨兵架构即一个 Redis 主节点两个从节点三个节点均为哨兵节点。配置完成后提交 Redis 主节点的用户名、密码和IP 地址到答题框。 1.检查 redis 主从集群部署正确计 0.5 分 2.检查 redis 集群部署为哨兵节点正确计 0.5 分 1redis一主二从配置
[rootredis1 ~]# vi /etc/redis.conf #第一处修改
bind 127.0.0.1 //找到bind 127.0.0.1这行并注释掉
#第二处修改 protected-mode no //将yes修改为no外部网络可以访问 #第三处修改 daemonize yes //将no修改为yes开启守护进程 #第四处修改 requirepass “123456” //添加设置访问密码 #第五处修改设定主库密码与当前库密码同步保证从库能够提升为主库 masterauth “123456” #第六处修改将no修改为yes打开AOF持久化支持 appendonly yes
[rootredis2 ~]# vi /etc/redis.conf #第一处修改
bind 127.0.0.1 //找到bind 127.0.0.1这行并注释掉
#第二处修改 protected-mode no //将yes修改为no外部网络可以访问 #第三处修改 daemonize yes //将no修改为yes开启守护进程 #第四处修改
requirepass foobared //找到该行
requirepass “123456” //在下方添加设置访问密码 #第五处修改
slaveof //找到该行
slaveof 192.168.200.21 6379 //在下方添加访问的主节点IP与端口 #第六处修改
masterauth //找到该行
masterauth “123456” //在下方添加访问主节点密码 #第七处修改将no修改为yes打开AOF持久化支持 appendonly yes
2redis哨兵模式配置 redis1节点 修改redis1节点的/etc/redis-sentinel.conf配置文件具体内容如下 [rootredis1 ~]# vi /etc/redis-sentinel.conf
1. 保护模式修改为否允许远程连接
protected-mode no
2. 修改监控地址为主redis库的主机ip地址
sentinel monitor mymaster 192.168.200.21 6379 2
3. 添加配置5秒内没有响应就反馈服务器挂了
sentinel down-after-milliseconds mymaster 5000
4. 修改配置15秒内master没有活起来就重新选举主
sentinel failover-timeout mymaster 15000
5. 表示如果master重新选出来后其它slave节点能同时并行从新master同步缓存的台数有多少个显然该值越大所有slave节点完成同步切换的整体速度越快但如果此时正好有人在访问这些slave可能造成读取失败影响面会更广。最安全的设置为1只同一时间只能有一台干这件事这样其它slave还能继续服务但是所有slave全部完成缓存更新同步的进程将变慢。这里设置为2。
sentinel parallel-syncs mymaster 2
6. 添加配置主数据库密码为123456
sentinel auth-pass mymaster 123456 修改redis2从节点和redis3从节点的/etc/redis-sentinel.conf配置文件修改内容与redis1主节点的/etc/redis-sentinel.conf配置文件一致。 修改完配置文件后哨兵模式配置就完毕了接下来需要重启服务。因为Redis服务已经启动现在只需要启动Redis哨兵服务。命令如下所示 所有节点启动哨兵
systemctl restart redis-sentinel
systemctl enable redis-sentinel
在redis1节点查看哨兵模式信息命令如下 [rootredis1 ~]# redis-cli -h 192.168.200.21 -p 26379 INFO Sentinel
Sentinel
sentinel_masters:1 sentinel_tilt:0 sentinel_running_scripts:0 sentinel_scripts_queue_length:0 sentinel_simulate_failure_flags:0 master0:namemymaster,statusok,address192.168.200.21:6379,slaves2,sentinels3 在redis2节点查看哨兵模式信息命令如下 [rootredis2 ~]# redis-cli -h 192.168.200.22 -p 26379 INFO Sentinel
Sentinel
sentinel_masters:1 sentinel_tilt:0 sentinel_running_scripts:0 sentinel_scripts_queue_length:0 sentinel_simulate_failure_flags:0 master0:namemymaster,statusok,address192.168.200.21:6379,slaves2,sentinels3 在redis3节点查看哨兵模式信息命令如下 [rootredis3 ~]# redis-cli -h 192.168.200.23 -p 26379 INFO Sentinel
Sentinel
sentinel_masters:1 sentinel_tilt:0 sentinel_running_scripts:0 sentinel_scripts_queue_length:0 sentinel_simulate_failure_flags:0 master0:namemymaster,statusok,address192.168.200.21:6379,slaves2,sentinels3 可以看到目前集群中有一个Redis主节点两个Redis从节点三个哨兵节点。
【题目 8】Redis服务调优-AOF[1 分] ----没找到答案 使用上一题安装的 Redis 服务。在 Redis 中AOF 配置为以三种不同的方式在磁盘上执行 write 或者 fsync。假设当前 Redis 压力过大请配置 Redis 不执行 fsync。除此之外避免AOF 文件过大Redis 会进行 AOF 重写生成缩小的 AOF 文件。请修改配置让 AOF重写时不进行 fsync 操作。配置完成后提交 Redis 节点的用户名、密码和 IP 地址到答题框。 1.检查配置 redis 不执行 fsync 正确计 0.5 分、 2.检查配置 redis 进行 AOF 重写不执行 fsync 正确计 0.5 分
【题目 9】应用部署堡垒机部署[0.5 分] 使用提供的 OpenStack 平台申请一台 CentOS7.9 的云主机使用提供的软件包安装JumpServer 堡垒机服务并配置使用该堡垒机对接自己安装的 controller 和 compute 节点。完成后提交 JumpServer 节点的用户名、密码和 IP 地址到答题框。 1.检查堡垒机部署正确计 0.5 分 1修改主机名 远程连接堡垒机节点修改节点的主机名为jumpserver修改主机名后执行bash命令 或者刷新页面以生效新主机名如下所示 [rootjumpserver ~]# hostnamectl set-hostname jumpserver 2关闭防火墙与SELinux 将节点的防火墙与SELinux关闭并设置永久关闭SELinux命令如下 [rootjumpserver ~]# setenforce 0 [rootjumpserver ~]# sed -i s#SELINUXenforcing#SELINUXdisabled# /etc/selinux/config [rootjumpserver ~]# iptables -F [rootjumpserver ~]# iptables -X [rootjumpserver ~]# iptables -Z [rootjumpserver ~]# /usr/sbin/iptables-save 3配置本地Yum源 使用提供的软件包配置Yum源通过地址将jumpserver.tar.gz软件包下载至Jumpserver节点的/root目录下。 [rootjumpserver ~]# curl -O http://mirrors.douxuedu.com/competition/jumpserver.tar.gz 解压软件包jumpserver.tar.gz至/root目录下命令如下 [rootjumpserver ~]# tar -zxvf jumpserver.tar.gz -C /opt/ [rootjumpserver ~]# ls /opt/ compose config docker docker.service images jumpserver-repo static.env 将默认Yum源移至其他目录创建本地Yum源文件命令及文件内容如下 [rootjumpserver ~]# mv /etc/yum.repos.d/* /media/ [rootjumpserver ~]# cat /etc/yum.repos.d/jumpserver.repo EOF [jumpserver] namejumpserver baseurlfile:///opt/jumpserver-repo gpgcheck0 enabled1 EOF [rootjumpserver ~]# yum repolist repo id repo name status jumpserver jumpserver 2 4安装依赖环境 安装Python数据库命令如下 [rootjumpserver ~]# yum install python2 -y 安装配置Docker环境命令如下 [rootjumpserver ~]# cp -rf /opt/docker/* /usr/bin/ [rootjumpserver ~]# chmod 775 /usr/bin/docker* [rootjumpserver ~]# cp -rf /opt/docker.service /etc/systemd/system/ [rootjumpserver ~]# chmod 755 /etc/systemd/system/docker.service [rootjumpserver ~]# systemctl daemon-reload [rootjumpserver ~]# systemctl enable docker --now 验证服务状态命令如下 [rootjumpserver ~]# docker --version Docker version 18.06.3-ce, build d7080c1 [rootjumpserver ~]# docker-compose --version docker-compose version 1.27.4, build 40524192 5安装Jumpserver服务 加载Jumpserver服务组件镜像命令如下 [rootjumpserver ~]# cd /opt/images/ [rootjumpserver images]# sh load.sh 创建Jumpserver服务组件目录命令如下 [rootjumpserver images]# mkdir -p /opt/jumpserver/{core,koko,lion,mysql,nginx,redis} [rootjumpserver images]# cp -rf /opt/config /opt/jumpserver/ 生效环境变量static.env使用所提供的脚本up.sh启动Jumpserver服务命令如下 [rootjumpserver images]# cd /opt/compose/ [rootjumpserver compose]# source /opt/static.env [rootjumpserver compose]# sh up.sh Creating network “jms_net” with driver “bridge” Creating jms_mysql … done Creating jms_redis … done Creating jms_core … done Creating jms_celery … done Creating jms_luna … done Creating jms_lion … done Creating jms_lina … done Creating jms_nginx … done Creating jms_koko … done 使用谷歌浏览器访问http://10.24.193.142Jumpserver Web登录admin/admin如图1所示
图1 Web登录 登录成功后会提示设置新密码如图2所示
图2 修改密码 登录平台后单击页面右上角下拉菜单切换中文字符设置如图3所示
图3 登录成功 至此Jumpserver安装完成。
【题目 10】skywalking服务部署与应用[1 分] 使用提供的 OpenStack 私有云平台申请一台 centos7.9 系统的云主机使用提供的软 件包安装 Elasticsearch 服务和 skywalking 服务将 skywalking 的 UI 访问端口修改为 8888。接下来再申请一台CentOS7.9的云主机用于搭建gpmall商城应用并配置SkyWalking Agent将 gpmall 的 jar 包放置探针并启动。安装与配置完成后提交 skywalking 节点的用户名、密码和 IP 地址到答题框。 1.检查 skywalking 服务部署正确计 1 分 IP 主机名 节点 10.24.194.203 node-1 Skywalking实验节点 10.24.193.168 mall 商城搭建节点 10.24.193.169 - 桌面化测试节点 使用平台提供的两台云主机做为实验节点云主机类型使用2VCPU/4GB内存/40GB硬盘以及一台桌面化节点用来测试应用部署成果。 1、部署Elasticsearch服务 1修改主机名修改主机名后单击实验环境左侧工具栏最后一个重连按钮以生效新主机名。 [rootnode-1 ~]# hostnamectl set-hostname node-1 [rootnode-1 ~]# hostnamectl Static hostname: node-1 2将提供的elasticsearch-7.17.0-linux-x86_64.tar.gz软件包下载到此节点并解压到/opt目录进入解压后的目录并创建data目录 [rootnode-1 ~]# curl -O http://mirrors.douxuedu.com/competition/elasticsearch-7.17.0-linux-x86_64.tar.gz [rootnode-1 ~]# tar -zxvf elasticsearch-7.17.0-linux-x86_64.tar.gz -C /opt [rootnode-1 ~]# cd /opt/elasticsearch-7.17.0/ [rootnode-1 elasticsearch-7.17.0]# mkdir data 3修改Elasticsearch配置在文件最后添加如下几行内容按“i”建进入编辑模式进行配置按ESC键输入:wq保存退出。 [rootnode-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启动用户并设置属组及权限 [rootnode-1 elasticsearch-7.17.0]# groupadd elsearch [rootnode-1 elasticsearch-7.17.0]# useradd elsearch -g elsearch -p elasticsearch [rootnode-1 elasticsearch-7.17.0]# chown -R elsearch:elsearch /opt/elasticsearch-7.17.0 5修改资源限制及内核配置添加如下内容 [rootnode-1 elasticsearch-7.17.0]# vi /etc/security/limits.conf …
hard nofile 65536soft nofile 65536 [rootnode-1 elasticsearch-7.17.0]# vi /etc/sysctl.conf vm.max_map_count262144 [rootnode-1 elasticsearch-7.17.0]# sysctl -p [rootnode-1 elasticsearch-7.17.0]# reboot 重启后等待一段时间后刷新页面点击重新连接。 6启动Elasticsearch服务 [rootnode-1 ~]# cd /opt/elasticsearch-7.17.0/ [rootnode-1 elasticsearch-7.17.0]# su elsearch [elsearchnode-1 elasticsearch-7.17.0]$ ./bin/elasticsearch -d 7查询端口存在9200则成功启动 [rootnode-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 :::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如下所示 [elsearchnode-1 elasticsearch-7.17.0]$ exit [rootnode-1 elasticsearch-7.17.0]# cd [rootnode-1 ~]# curl -O http://mirrors.douxuedu.com/competition/jdk-8u144-linux-x64.tar.gz [rootnode-1 ~]# tar -zxvf jdk-8u144-linux-x64.tar.gz -C /usr/local/ 修改profile环境变量文件代码如下所示 [rootnode-1 ~]# vi /etc/profile export JAVA_HOME/usr/local/jdk1.8.0_144 export CLASSPATH.: J A V A H O M E / j r e / l i b / r t . j a r : {JAVA_HOME}/jre/lib/rt.jar: JAVAHOME/jre/lib/rt.jar:{JAVA_HOME}/lib/dt.jar: J A V A H O M E / l i b / t o o l s . j a r e x p o r t P A T H {JAVA_HOME}/lib/tools.jar export PATH JAVAHOME/lib/tools.jarexportPATHPATH:${JAVA_HOME}/bin [rootnode-1 ~]# source /etc/profile [rootnode-1 ~]# java -version java version “1.8.0_144” Java™ SE Runtime Environment (build 1.8.0_144-b01) Java HotSpot™ 64-Bit Server VM (build 25.144-b01, mixed mode) 2将提供的apache-skywalking-apm-es7-8.0.0.tar.gz软件包下载至node-1节点上并解压到/opt目录下 [rootnode-1 ~]# curl -O http://mirrors.douxuedu.com/competition/apache-skywalking-apm-es7-8.0.0.tar.gz [rootnode-1 ~]# tar -zxvf apache-skywalking-apm-es7-8.0.0.tar.gz -C /opt 3进入解压后目录修改OAP配置文件 [rootnode-1 ~]# cd /opt/apache-skywalking-apm-bin-es7/ [rootnode-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则成功启动 [rootnode-1 apache-skywalking-apm-bin-es7]# ./bin/oapService.sh SkyWalking OAP started successfully! [rootnode-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 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与很多中间件可能存在冲突修改一下 [rootnode-1 apache-skywalking-apm-bin-es7]# vi webapp/webapp.yml … server: port: 8888 … 2启动SkyWalking UI服务 [rootnode-1 apache-skywalking-apm-bin-es7]# ./bin/webappService.sh SkyWalking Web Application started successfully! 3查看端口存在8888则成功启动 [rootnode-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 tcp6 0 0 :::8888 :: LISTEN 3133/java 4切换带有桌面的虚拟机环境使用火狐浏览器访问10.24.194.203:8888此时访问页面无数据如图2所示
图2 访问SkyWalking UI服务 4、搭建并启动应用商城服务 切换至提供mall节点搭建并启动应用商城服务并配置SkyWalking Agent 1修改mall节点主机名修改完成后单击实验环境左侧工具栏最后一个重连按钮以生效新主机名。 [rootlocalhost ~]# hostnamectl set-hostname mall [rootmall ~]# hostnamectl Static hostname: mall 修改/etc/hosts配置文件如下 [rootmall ~]# 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文件具体代码如下所示 [rootmall ~]# curl -O http://mirrors.douxuedu.com/competition/gpmall.tar.gz [rootmall ~]# tar -zxvf gpmall.tar.gz [rootmall ~]# mv /etc/yum.repos.d/* /media/ [rootmall ~]# cd gpmall/ [rootmall gpmall]# tar -zxvf gpmall-repo.tar.gz -C /root/ [rootmall ~]# vi /etc/yum.repos.d/local.repo [mall] namemall baseurlfile:///root/gpmall-repo gpgcheck0 enabled1 3安装基础服务 安装基础服务包括Java JDK环境、数据库、Redis、Nginx等安装基础服务的命令具体如下。 ① 安装Java环境 [rootmall ~]# yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel … [rootmall ~]# java -version openjdk version “1.8.0_322” ② 安装Redis缓存服务 [rootmall ~]# yum install redis -y ③ 安装Nginx服务 [rootmall ~]# yum install nginx -y ④ 安装MariaDB数据库 [rootmall ~]# yum install mariadb mariadb-server -y 安装ZooKeeper服务将提供的zookeeper-3.4.14.tar.gz解压命令如下 [rootmall gpmall]# tar -zxvf zookeeper-3.4.14.tar.gz -C /root/ 进入到zookeeper-3.4.14/conf目录下将zoo_sample.cfg文件重命名为zoo.cfg命令如下 [rootmall gpmall]# cd /root/zookeeper-3.4.14/conf/ [rootmall conf]# mv zoo_sample.cfg zoo.cfg 进入到zookeeper-3.4.14/bin目录下启动ZooKeeper服务命令如下 [rootmall conf]# cd …/bin [rootmall bin]# ./zkServer.sh start ZooKeeper JMX enabled by default Using config: /root/zookeeper-3.4.14/bin/…/conf/zoo.cfg Starting zookeeper … STARTED 查看ZooKeeper状态命令如下 [rootmall 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目录下命令如下 [rootmall bin]# tar -zxvf /root/gpmall/kafka_2.11-1.1.1.tgz -C /root 进入到kafka_2.11-1.1.1/bin目录下启动Kafka服务命令如下 [rootmall bin]# cd /root/kafka_2.11-1.1.1/bin/ [rootmall bin]# ./kafka-server-start.sh -daemon …/config/server.properties 使用jps或者netstat -ntpl命令查看Kafka是否成功启动命令如下 [rootmall bin]# jps 6039 Kafka 1722 QuorumPeerMain 6126 Jps [rootmall bin]# netstat -ntpl Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp6 0 0 :::9092 :: LISTEN 6039/java 运行结果查看到Kafka服务和9092端口说明Kafka服务已启动。 4启动服务 ① 启动数据库并配置 修改数据库配置文件并启动MariaDB数据库设置root用户密码为123456并创建gpmall数据库将提供的gpmall.sql导入。 修改/etc/my.cnf文件添加字段如下所示 [rootmall bin]# cd [rootmall ~]# vi /etc/my.cnf [mysqld] … init_connect‘SET collation_connection utf8_unicode_ci’ init_connect‘SET NAMES utf8’ character-set-serverutf8 collation-serverutf8_unicode_ci skip-character-set-client-handshake 启动数据库命令如下。 [rootmall ~]# systemctl start mariadb 设置root用户的密码为123456并登录。 [rootmall ~]# mysqladmin -uroot password 123456 [rootmall ~]# 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 © 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 rootlocalhost 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 [rootmall ~]# 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服务命令如下。 [rootmall ~]# vi /etc/redis.conf … #bind 127.0.0.1 protected-mode no … [rootmall ~]# systemctl start redis [rootmall ~]# systemctl enable redis Created symlink from /etc/systemd/system/multi-user.target.wants/redis.service to /usr/lib/systemd/system/redis.service. ③ 启动Nginx服务 启动Nginx服务命令如下。 [rootmall ~]# systemctl start nginx [rootmall ~]# 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映射删除 [rootmall ~]# 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目录下。 [rootmall ~]# rm -rf /usr/share/nginx/html/* [rootmall ~]# cp -rvf gpmall/dist/* /usr/share/nginx/html/ 修改Nginx配置文件/etc/nginx/nginx.conf添加映射如下所示 [rootmall ~]# 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服务命令如下 [rootmall ~]# systemctl restart nginx 到此前端部署完毕。 ③ 部署后端 将node-1节点的/opt/apache-skywalking-apm-bin-es7目录下的agent目录复制到mall节点下(密码为Abc1234) [rootmall ~]# scp -r 10.24.194.203:/opt/apache-skywalking-apm-bin-es7/agent /root 修改SkyWalking agent配置文件 [rootmall ~]# vi agent/config/agent.config … agent.service_nameKaTeX parse error: Double subscript at position 46: … 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包放置探针并启动通过设置启动参数的方式检测系统启动命令如下 [rootmall ~]# nohup java -javaagent:/root/agent/skywalking-agent.jar -jar gpmall/shopping-provider-0.0.1-SNAPSHOT.jar [1] 20086 [rootmall ~]# nohup: ignoring input and appending output to ‘nohup.out’
[rootmall ~]# nohup java -javaagent:/root/agent/skywalking-agent.jar -jar gpmall/user-provider-0.0.1-SNAPSHOT.jar [2] 20132 [rootmall ~]# nohup: ignoring input and appending output to ‘nohup.out’
[rootmall ~]# nohup java -javaagent:/root/agent/skywalking-agent.jar -jar gpmall/gpmall-shopping-0.0.1-SNAPSHOT.jar [3] 20177 [rootmall ~]# nohup: ignoring input and appending output to ‘nohup.out’
[rootmall ~]# nohup java -javaagent:/root/agent/skywalking-agent.jar -jar gpmall/gpmall-user-0.0.1-SNAPSHOT.jar [4] 20281 [rootmall ~]# nohup: ignoring input and appending output to ‘nohup.out’
httpd访问网络配置
[rootmall ~]# setsebool -P httpd_can_network_connect 1 按照顺序运行4个jar包后至此后端服务部署完毕。 ④ 网站访问 打开浏览器在地址栏中输入http://10.24.193.168访问界面如图3所示。
图3 商城首页 单击右上角“头像”进行登录操作使用用户名/密码为test/test进行登录如图4所示。
图4 登录界面 登录后可进行购买商品操作单击首页“地平线8号”旅行箱图片如图5所示。
图5 商品页面 进入购买界面单击“现在购买”按钮进行购买商品操作如图6所示。
图6 购买界面 单机完“现在购买”按钮跳转到提交订单界面如图7所示。 ) 图7 订单界面 至此单机部署应用系统完成。 6再次访问SkyWalking UI10.24.194.203:8888点击右上角的自动按钮Auto发现已有数据产生如图8与图9所示
图8 访问SkyWalking UI
如图9 拓扑展示
【题目 11】Linux 内核优化[1 分] 在使用 Linux 服务器的时候TCP 协议规定对于已经建立的连接网络双方要进行四次挥手才能成功断开连接如果缺少了其中某个步骤将会使连接处于假死状态连接本身占用的资源不会被释放。因为服务器程序要同时管理大量连接所以很有必要保证无用的连接完全断开否则大量僵死的连接会浪费许多服务器资源。创建一台 CentOS7.9 云主机修改相应的配置文件分别开启 SYN Cookies允许将 TIME-WAIT sockets 重新用于新的 TCP连接开启 TCP 连接中 TIME-WAIT sockets 的快速回收修改系統默认的 TIMEOUT 时间为 30。完成后提交修改节点的用户名、密码和 IP 地址到答题框。 [rootcontainer ~]# vim /etc/sysctl.conf #添加以下参数 net.ipv4.tcp_syncookies1 # 开启 SYN Cookies net.ipv4.tcp_tw_reuse 1 # 允许将 TIME-WAIT sockets 重新用于新的 TCP连接 net.ipv4.tcp_tw_recycle 1 # 开启 TCP 连接中 TIME-WAIT sockets 的快速回收 net.ipv4.tcp_fin_timeout 30 # 修改系統默认的 TIMEOUT 时间为 30
[rootcontroller ~]# sysctl -p # 查看修改内容是否生效 net.ipv4.tcp_syncookies 1 net.ipv4.tcp_tw_reuse 1 net.ipv4.tcp_tw_recycle 1 net.ipv4.tcp_fin_timeout 30 1.检查内核优化正确计 1 分
【题目 12】排错Glance服务排错[1 分] —没找到答案 使用赛项提供的 chinaskill-error1 镜像启动云主机flavor 使用 4vcpu/12G 内存/100G 硬盘。启动后存在错误的私有云平台错误现象为查看不到 image 列表试根据错误信息排查云平台错误使云平台可以查询到 image 信息。完成后提交云主机节点的用户名、密码和 IP地址到答题框。
查看glance的服务有没有启动
[rootcontroller ~]# openstack-service list openstack-glance-api openstack-glance-registry [rootcontroller ~]# systemctl status openstack-glance-registry.service 1.检查错误镜像 glance 服务启动正确计 1 分
【题目 13】排错数据库排错[1.5 分] 使用赛项提供的排错镜像 chinaskill-error2 创建一台云主机云主机的登录用户名为 root密码为 000000该云主机中存在错误的数据库服务错误现象为数据库服务无法启动。请将数据库服务修复并启动将数据库的密码修改为 chinaskill123。修复完成后提交该云主机的用户名、密码和 IP 地址到答题框。 [rootcontroller ~]# mysql -uroot -p000000 ERROR 1045 (28000): Access denied for user ‘root’‘localhost’ (using password: YES) 需要修改密码 [rootcontroller ~]# vi /etc/my.cnf 在文件的最后一行加入skip-grant-tables
[rootcontroller ~]# systemctl restart mariadb.service # 重启服务 [rootcontroller ~]# mysql -uroot -p # 这次就可以不用密码进入 MariaDB [(none)] use mysql MariaDB [mysql] UPDATE user SET PASSWORDPASSWORD(‘chinaskill123’) where USER‘root’; # 修改密码 MariaDB [mysql] FLUSH PRIVILEGES; # 刷新权限 [rootcontroller ~]# vi /etc/my.cnf # 回到文件删掉添加的skip-grant-tables [rootcontroller ~]# systemctl restart mariadb.service # 重启服务 [rootcontroller ~]# mysql -uroot -pchinaskill123 # 重新登陆即可 1.检查错误镜像数据库服务启动正确计 1.5 分 文章转载自: http://www.morning.ctpfq.cn.gov.cn.ctpfq.cn http://www.morning.zlnyk.cn.gov.cn.zlnyk.cn http://www.morning.ldfcb.cn.gov.cn.ldfcb.cn http://www.morning.ndxss.cn.gov.cn.ndxss.cn http://www.morning.fwkpp.cn.gov.cn.fwkpp.cn http://www.morning.xckdn.cn.gov.cn.xckdn.cn http://www.morning.flmxl.cn.gov.cn.flmxl.cn http://www.morning.qygfb.cn.gov.cn.qygfb.cn http://www.morning.njpny.cn.gov.cn.njpny.cn http://www.morning.rbcw.cn.gov.cn.rbcw.cn http://www.morning.pyncx.cn.gov.cn.pyncx.cn http://www.morning.xrtsx.cn.gov.cn.xrtsx.cn http://www.morning.lqypx.cn.gov.cn.lqypx.cn http://www.morning.btlsb.cn.gov.cn.btlsb.cn http://www.morning.rdtq.cn.gov.cn.rdtq.cn http://www.morning.hjwxm.cn.gov.cn.hjwxm.cn http://www.morning.qbjrf.cn.gov.cn.qbjrf.cn http://www.morning.cfccp.cn.gov.cn.cfccp.cn http://www.morning.jfbbq.cn.gov.cn.jfbbq.cn http://www.morning.mttqp.cn.gov.cn.mttqp.cn http://www.morning.hgsylxs.com.gov.cn.hgsylxs.com http://www.morning.gghhmi.cn.gov.cn.gghhmi.cn http://www.morning.tgydf.cn.gov.cn.tgydf.cn http://www.morning.sqlh.cn.gov.cn.sqlh.cn http://www.morning.jykzy.cn.gov.cn.jykzy.cn http://www.morning.lmjtp.cn.gov.cn.lmjtp.cn http://www.morning.hysqx.cn.gov.cn.hysqx.cn http://www.morning.ytfr.cn.gov.cn.ytfr.cn http://www.morning.qxljc.cn.gov.cn.qxljc.cn http://www.morning.ylrxd.cn.gov.cn.ylrxd.cn http://www.morning.wnjwb.cn.gov.cn.wnjwb.cn http://www.morning.nkjkh.cn.gov.cn.nkjkh.cn http://www.morning.lyzwdt.com.gov.cn.lyzwdt.com http://www.morning.bxch.cn.gov.cn.bxch.cn http://www.morning.hilmwmu.cn.gov.cn.hilmwmu.cn http://www.morning.rykgh.cn.gov.cn.rykgh.cn http://www.morning.qkgwx.cn.gov.cn.qkgwx.cn http://www.morning.gxklx.cn.gov.cn.gxklx.cn http://www.morning.yfddl.cn.gov.cn.yfddl.cn http://www.morning.ltkms.cn.gov.cn.ltkms.cn http://www.morning.dfffm.cn.gov.cn.dfffm.cn http://www.morning.jntcr.cn.gov.cn.jntcr.cn http://www.morning.yqzyp.cn.gov.cn.yqzyp.cn http://www.morning.dyght.cn.gov.cn.dyght.cn http://www.morning.fywqr.cn.gov.cn.fywqr.cn http://www.morning.tbzcl.cn.gov.cn.tbzcl.cn http://www.morning.lcplz.cn.gov.cn.lcplz.cn http://www.morning.nfpct.cn.gov.cn.nfpct.cn http://www.morning.rstrc.cn.gov.cn.rstrc.cn http://www.morning.kghss.cn.gov.cn.kghss.cn http://www.morning.rgrdd.cn.gov.cn.rgrdd.cn http://www.morning.lmrcq.cn.gov.cn.lmrcq.cn http://www.morning.pmwhj.cn.gov.cn.pmwhj.cn http://www.morning.hhrpy.cn.gov.cn.hhrpy.cn http://www.morning.hdqqr.cn.gov.cn.hdqqr.cn http://www.morning.dnqlba.cn.gov.cn.dnqlba.cn http://www.morning.xcszl.cn.gov.cn.xcszl.cn http://www.morning.pmdlk.cn.gov.cn.pmdlk.cn http://www.morning.pbmkh.cn.gov.cn.pbmkh.cn http://www.morning.ldcsw.cn.gov.cn.ldcsw.cn http://www.morning.pghgq.cn.gov.cn.pghgq.cn http://www.morning.yllym.cn.gov.cn.yllym.cn http://www.morning.xfmwk.cn.gov.cn.xfmwk.cn http://www.morning.hbhnh.cn.gov.cn.hbhnh.cn http://www.morning.nlysd.cn.gov.cn.nlysd.cn http://www.morning.zqwp.cn.gov.cn.zqwp.cn http://www.morning.cwlxs.cn.gov.cn.cwlxs.cn http://www.morning.dzzjq.cn.gov.cn.dzzjq.cn http://www.morning.cttti.com.gov.cn.cttti.com http://www.morning.fhykt.cn.gov.cn.fhykt.cn http://www.morning.dbdmr.cn.gov.cn.dbdmr.cn http://www.morning.rbsmm.cn.gov.cn.rbsmm.cn http://www.morning.ckcjq.cn.gov.cn.ckcjq.cn http://www.morning.tgcw.cn.gov.cn.tgcw.cn http://www.morning.kfwrq.cn.gov.cn.kfwrq.cn http://www.morning.yhpq.cn.gov.cn.yhpq.cn http://www.morning.pdmml.cn.gov.cn.pdmml.cn http://www.morning.ffcsr.cn.gov.cn.ffcsr.cn http://www.morning.mznqz.cn.gov.cn.mznqz.cn http://www.morning.qwwcf.cn.gov.cn.qwwcf.cn