暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

(二)安装 Skywalking

原创 张晓璞 2022-04-14
1457

环境搭建

安装包在这里
https://www.modb.pro/download/518220

依赖项

安装httpd

当某个节点需要访问网页时,需要安装httpd

yum install -y httpd

启动

systemctl start httpd

关闭防火墙

systemctl stop firewalld

安装java

1.创建java路径

mkdir /usr/lib/jvm
cd /usr/lib/jvm

2.上传 jdk-8u144-linux-x64.tar.gz 包到路径并解压

tar -zxvf jdk-8u144-linux-x64.tar.gz

3.配置环境变量

vim /etc/profile.d/jdk.sh

jdk.sh文件中写入

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_144
export JRE_HOME=//usr/lib/jvm/jdk1.8.0_144/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

使变量生效

source /etc/profile

安装skyWalking

Skywalking默认使用H2 内存中进行数据的存储,我们可以替换存储源为ElasticSearch保证其查询的高效及可用性。

具体的安装步骤可以在Skywalking的官方github上找到:

https://github.com/apache/skywalking/blob/master/docs/en/setup/README.md

1、创建目录

mkdir /usr/local/skywalking
cd /usr/local/skywalking

2、将elasticsearch和skywalking安装包上传到虚拟机/usr/local/skywalking目录下

  • elasticsearch-6.4.0.tar.gz —elasticsearch 6.4的安装包
    • Skywalking对es版本号有一定要求
    • 最 好使用6.3.2以上版本
    • 如果是7.x版本需要额外进行配置
  • apache-skywalking-apm-6.5.0.tar.gz —Skywalking最新的安装包

安装elasticsearch

3、将压缩包解压。

tar -zxvf ./elasticsearch-6.4.0.tar.gz

修改Linux系统的限制配置,将文件创建数修改为65536个。

  • 修改系统中允许应用最多创建多少文件等的限制权限。
  • Linux默认来说,一般限制应用最多 创建的文件是65535个。但是ES至少需要65536的文件创建数的权限。
  • 修改系统中允许用户启动的进程开启多少个线程。
  • 默认的Linux限制root用户开启的进程可 以开启任意数量的线程,其他用户开启的进程可以开启1024个线程。
  • 必须修改限制数为 4096+。
  • 因为ES至少需要4096的线程池预备。
vim /etc/security/limits.conf 

#新增如下内容在limits.conf文件中 

es soft nofile 65536 
es hard nofile 65536 
es soft nproc 4096 
es hard nproc 4096

修改系统控制权限,ElasticSearch需要开辟一个65536字节以上空间的虚拟内存。

Linux默认不允许任 何用户和应用程序直接开辟这么大的虚拟内存。

vim /etc/sysctl.conf 

#新增如下内容在sysctl.conf文件中,当前用户拥有的内存权限大小 
vm.max_map_count=262144 

#让系统控制权限配置生效 
sysctl -p

建一个用户, 用于ElasticSearch启动。

  • ES在5.x版本之后,强制要求在linux中不能使用root用户启动ES进程。
  • 所以必须使用其他用户启 动ES进程才可以。
#创建用户 
useradd es 

#修改上述用户的密码 
passwd es

#修改elasicsearch目录的拥有者 
chown -R es /usr/local/skywalking/elasticsearch-6.4.0/

使用es用户启动elasticsearch

#切换用户 
su es 

#到ElasticSearch的bin目录下 
cd /usr/local/skywalking/elasticsearch-6.4.0/bin 

#后台启动 
./elasticsearch -d

默认ElasticSearch是不支持跨域访问的,所以在不修改配置文件的情况下我们只能从虚拟机内部进行访 问测试ElasticSearch是否安装成功,使用curl命令访问9200端口:

curl http://localhost:9200

如果显示出如下信息,就证明ElasticSearch安装成功:

{
	"name" : "xbruNxf",
	"cluster_name" : "elasticsearch",
	"cluster_uuid" : "JJQfHN9QQVuXpH5fu9H1jg",
	"version" : { 
		"number" : "6.4.0",
		"build_flavor" : "default",
		"build_type" : "tar",
		"build_hash" : "595516e",
		"build_date" : "2018-08-17T23:18:47.308994Z",
		"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" 
}

安装Skywalking

分为两个步骤:

  • 安装Backend后端服务
  • 安装UI

首先切回到root用户,切换到目录下,解压Skywalking压缩包。

#切换到root用户 
su root 

#切换到skywalking目录 
cd /usr/local/skywalking 

#解压压缩包 
tar -zxvf apache-skywalking-apm-6.4.0.tar.gz

修改Skywalking存储的数据源配置:

cd /usr/local/skywalking/apache-skywalking-apm-bin
vim config/application.yml

我们可以看到默认配置中,使用了H2作为数据源。我们将其全部注释。

# h2:
# driver: ${SW_STORAGE_H2_DRIVER:org.h2.jdbcx.JdbcDataSource}
# url: ${SW_STORAGE_H2_URL:jdbc:h2:mem:skywalking-oap-db}
# user: ${SW_STORAGE_H2_USER:sa}
# metadataQueryMaxSize: ${SW_STORAGE_H2_QUERY_MAX_SIZE:5000}
# mysql:
# metadataQueryMaxSize: ${SW_STORAGE_H2_QUERY_MAX_SIZE:5000}

将ElasticSearch对应的配置取消注释:

storage:
	elasticsearch:
	nameSpace: ${SW_NAMESPACE:""}
	clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200}
	protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"http"}
	trustStorePath: ${SW_SW_STORAGE_ES_SSL_JKS_PATH:"../es_keystore.jks"}
	trustStorePass: ${SW_SW_STORAGE_ES_SSL_JKS_PASS:""}
	user: ${SW_ES_USER:""}
	password: ${SW_ES_PASSWORD:""}
	indexShardsNumber: ${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:2}
	indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:0}
	# Those data TTL settings will override the same settings in core module.
	recordDataTTL: ${SW_STORAGE_ES_RECORD_DATA_TTL:7} # Unit is day
	otherMetricsDataTTL: ${SW_STORAGE_ES_OTHER_METRIC_DATA_TTL:45} # Unit is day
	monthMetricsDataTTL: ${SW_STORAGE_ES_MONTH_METRIC_DATA_TTL:18} # Unit is
month
# # Batch process setting, refer to
https://www.elastic.co/guide/en/elasticsearch/client/java-api/5.5/java-docsbulk-processor.html
bulkActions: ${SW_STORAGE_ES_BULK_ACTIONS:1000} # Execute the bulk every
	1000 requests
flushInterval: ${SW_STORAGE_ES_FLUSH_INTERVAL:10} # flush the bulk every 10
	seconds whatever the number of requests
concurrentRequests: ${SW_STORAGE_ES_CONCURRENT_REQUESTS:2} # the number of
concurrent requests
	metadataQueryMaxSize: ${SW_STORAGE_ES_QUERY_MAX_SIZE:5000}
	segmentQueryMaxSize: ${SW_STORAGE_ES_QUERY_SEGMENT_SIZE:200}

默认使用了localhost下的ES,所以我们可以不做任何处理,直接进行使用。启动OAP程序:

cd /usr/local/skywalking/apache-skywalking-apm-bin/bin/
./oapService.sh

这样安装Backend后端服务就已经完毕了,接下来我们安装UI。

先来看一下UI的配置文件:

cat webapp/webapp.yml
#默认启动端口
server:
	port: 8080
collector:
	path: /graphql
	ribbon:
		ReadTimeout: 10000
		#OAP服务,如果有多个用逗号隔开
		listOfServers: 127.0.0.1:12800

目前的默认配置不用修改就可以使用,启动UI程序:

/bin/webappService.sh

启动成功后

jps查看如下:

[root@node1 bin]# jps
16993 Elasticsearch
25042 Jps
24053 OAPServerStartUp
24935 OAPServerStartUp
24969 skywalking-webapp.jar

然后我们就可以通过浏览器访问Skywalking的可视化页面了

访问地址:http://虚拟机IP地址:8080,如果 出现下面的图,就代表安装成功了。

http://192.168.88.151:8080/
  • /bin/startup.sh可以同时启动backend和ui,后续可以执行该文件进行重启。

image.png

传送门:

(一)初探 Skywalking
(二)安装 Skywalking
(三)使用 Skywalking
(四)Skywalking的UI页面RocketBot

(五)学习用资料包

最后修改时间:2022-04-18 15:53:57
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论