
本案例共讲述了Elasticsearch服务的搭建,以及搭建SkyWalking对应用商城利用探针方式进行检测。具体如下:
(1)搭建Elasticsearch服务;
(2)搭建SkyWalking OAP服务;
(3)搭建SkyWalking UI服务;
(4)搭建并启动应用商城服务,并配置 SkyWalking Agent。
节点规划见表1。
表1 节点规划
| IP | 主机名 | 节点 |
|---|---|---|
| 10.24.194.203 | node-1 | Skywalking实验节点 |
| 10.24.193.168 | mall | 商城搭建节点 |
| 10.24.193.169 | desktop | centos-desktop-base节点 |
登录物理OpenStack平台,使用CentOS 7.9镜像创建两台云主机,云主机类型使用4VCPU/8GB内存/40GB硬盘。创建后的云主机作为本次案例的实验节点。
(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 ..........
[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服务访问
(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 。。。。。。。。/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 。。。。。。。。。。/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

打开浏览器,在地址栏中输入http://10.24.193.168,访问界面,如图3所示。

图3 商城首页
单击右上角“头像”,进行登录操作,使用用户名/密码为test/test进行登录,如图4所示。

图4 登录界面
登录后,可进行购买商品操作,单击首页“地平线8号”旅行箱图片,如图5所示。

图5 商品页面
进入购买界面,单击“现在购买”按钮,进行购买商品操作,如图6所示。

图6 购买界面
单机完“现在购买”按钮,跳转到提交订单界面,如图7所示。
)
图7 订单界面
至此,单机部署应用系统完成。
(6)再次访问SkyWalking UI,点击右上角的自动按钮(Auto),发现已有数据产生,如图8与图9所示:

图8 访问SkyWalking UI
