如何在启动 Linkis 服务的同时启动 SkyWalking 方便后续跟踪和进行故障诊断?
随着大数据技术的迅速发展,越来越多的企业开始将 Apache Linkis 作为核心数据处理和计算平台。Linkis 为企业提供了统一的数据处理环境,大大提高了数据处理效率。然而,在实际应用过程中,我们往往需要对 Linkis 的运行状况进行实时监控,以便及时发现并解决潜在的性能问题。Apache SkyWalking 是一个优秀的分布式追踪和性能监控系统,可以帮助我们实现对 Linkis 的全面监控。
在本文,我们将详细介绍如何将 Apache Linkis 与 SkyWalking 进行集成,实现对 Linkis 运行状况的实时监控,来方便大家后续做分布式 trace 和 troubleshooting。
1. SkyWalking 介绍
SkyWalking 是开源的可视化平台,可从多种数据源进行数据采集,并提供分析、聚合及可视化等功能。通过 SkyWalking,我们可以对分布式系统的拓扑结构,数据交互有一个更加清晰的视图。
SkyWalking 架构
其从逻辑上可以划分成 4 个部分:
- Probe:可以理解为数据采集 agent,主要负责数据采集和格式化。
- Platform Backend:SkyWalking 的后端服务,支持数据聚合、分析以及流式处理等。
- Storage:负责数据存储,以 plugin 的方式支持多种存储引擎,比如 ElasticSearch, H2, MySQL, TiDB, InfluxDB 等。
- UI: 数据可视化。
在 Linkis 中使用 SkyWalking,需要用户已经存在 Backend 服务以及对应的 Storage,Linkis 服务启动的时候集成 Probe 即可。Probe 集成主要有三种方式:
- Language based native agent:这些 agent 和目标服务进程运行在相同的用户空间,从外部来看,agent 和目标服务的代码是一样的。一个典型的例子是 Java agent,在运行 Java 应用的时候我们可以通过
-javaagent
来指定 agent。 - Service Mesh probes:这种 Probe 通过 sidecar 或者 proxy 收集数据。
- 3rd-party intrument library:简单来说就是第三方的数据,比如 zipkin。
我们在 Linkis 集成 SkyWalking 的时候采用第一种方式,也就是 java agent 的方式。下面我们为大家演示一下如何在 Linkis 服务中开启 SkyWalking。
2. 部署 SkyWalking 后端
SkyWalking 后端是开启 SkyWalk 的前置条件,下面先简单演示下如何安装 SkyWalking 的后端。首先从 SkyWalking 的 Downloads 页面下载 SkyWalking APM,直接解压得到如下的目录结构。
$ lsbin config config-examples LICENSE licenses logs NOTICE oap-libs README.txt tools webapp 后端默认使用 H2 内存数据库作为后端存储,不需要修改配置。按如下方式启动Backend 和 WebApp: $ sh bin/startup.sh $ sh bin/webappService.sh UI 默认启动在 8080 端口,也可以通过修改 webapp 目录下的 webapp.yml 文件修改监听端口。 server: port: 8080spring: cloud: gateway: routes: - id: oap-route uri: lb://oap-service predicates: - Path=/graphql/** discovery: client: simple: instances: oap-service: - uri: http://127.0.0.1:12800 # - uri: http://<oap-host-1>:<oap-port1> # - uri: http://<oap-host-2>:<oap-port2> mvc: throw-exception-if-no-handler-found: true web: resources: add-mappings: truemanagement: server: base-path: /manage 3. Linkis 服务启动开启 SkyWalking
这里假定大家对 Linkis 的服务部署已经比较清晰,如果还不清晰,可以异步:
在 Linkis 中开启 SkyWalking 首先需要下载 SkyWalking 的 Java agent,我们可以在 Downloads 页面进行下载。
下载之后解压,内部的文件结构如下:
tree skywalking-agent $ skywalking-agent├── LICENSE├── NOTICE├── activations│ ├── apm-toolkit-kafka-activation-8.8.0.jar│ ├── ...├── bootstrap-plugins│ ├── apm-jdk-http-plugin-8.8.0.jar│ └── apm-jdk-threading-plugin-8.8.0.jar├── config│ └── agent.config├── licenses│ └── LICENSE-asm.txt├── logs├── optional-plugins│ ├── apm-customize-enhance-plugin-8.8.0.jar│ ├── ...├── optional-reporter-plugins│ ├── kafka-reporter-plugin-8.8.0.jar│ ├── ...├── plugins│ ├── apm-activemq-5.x-plugin-8.8.0.jar│ ├── ...└── skywalking-agent.jar 修改 Linkis 的 deploy-config/linkis-env.sh 中的配置项 SKYWALKING_AGENT_PATH。将其设置为 skywalking-agent.jar 的路径,然后启动 Linkis 即可。 SKYWALKING_AGENT_PATH=/path/to/skywalking-agent.jar $ sh linkis-start-all.sh 4. 结果展示
Linkis 的 UI 端口默认启动在 8080 端口,Linkis 开启 SkyWalking 之后打开 UI 如果能看到如下的图就表示成功了,否则可能是浏览器兼容性问题,请尝试切换浏览器试试。
通过以上的详细步骤和代码示例,我们已经成功实现了 Apache Linkis 与 SkyWalking 的集成。现在,你可以使用 SkyWalking 对 Linkis 的各个组件进行实时监控,及时发现并解决性能问题,从而提高整个数据处理平台的稳定性和性能。
需要注意的是,本文提供的集成方案仅作为参考,可能需要根据自己的实际环境进行适当调整
总之,Apache Linkis 与 SkyWalking 的集成为我们提供了一个强大的监控工具,有助于提高数据处理平台的稳定性和性能。希望本文能为你的实际工作带来帮助,祝你在大数据领域取得更多的成功
加小助手 ( ID:WeDatasphere)找到组织,为你答疑解惑。
WeDataSphere 一站式开源 大数据平台的建设与应用实践
WeDataSphere 入门指南(含沙箱使用介绍)
保姆级教程:如何成为 Apache Linkis 文档贡献者
更多社区活动等待你的参与!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
谷歌 Chrome 正式发布 WebGPU!Orillusion开源倒计时!
谷歌 Chrome 团队正式宣布,Chrome 用户可在 113 Beta 版本中,启用全新的 WebGPU 图形API,支持硬件图形加速。 WebGPU 是一种新的网络标准和指令集,用于硬件加速图形和计算。它是一种新的 Web 图形 API,具有显著的优势,与 DirectX 和 Vulkan 一样,WebGPU 允许直接在显卡的 GPU 上执行渲染任务并访问高级功能。WebGPU 承诺在相同的图形处理任务上减少JavaScript负载,并且让机器学习模型的推理性能提高三倍以上。 WebGPU 释放了底层硬件能力,并允许在 GPU 上进行渲染和计算操作,类似于 Direct3D 12、Metal 和 Vulkan。与 WebGL 系列不同,WebGPU 提供更高级 GPU 功能的访问,并为 GPU 上的通用计算提供了支持。WebGPU图形API 的设计考虑了 Web 平台的特点,具有前端开发者惯用的 JavaScript API、与Promise集成、支持导入视频,并且提供了丰富的错误提示来完善的开发人员体验。 同时,WebGPU API 将提供更高级的图形功能,并鼓励开发人员通过反...
- 下一篇
物联网常见协议之Amqp协议及使用场景解析
摘要:本文围绕AMQP协议,为大家详细解析AMQP协议、核心技术亮点、多协议之间的对比以及使用实践。 本文分享自华为云社区《物联网常见协议之Amqp协议及使用场景解析》,作者:张俭。 引言 本文围绕AMQP协议,为大家详细解析AMQP协议、核心技术亮点、多协议之间的对比以及使用实践,并介绍华为云IoT通过Amqp协议如何为开发者和企业提供了更加灵活和高效的通信方式,使得物联网应用得以在各个领域得到更广泛的推广和应用。 AMQP协议,全称为Advanced Message Queuing Protocol。在2006年6月,由Cisco、Redhat、iMatrix等联合制定了AMQP的消息标准。 除了AMQP协议,还有一些其他协议如Mqtt(Message Queuing Telemetry Transport)、Http、Kafka。每个协议的发明/出现都是为了解决特定的问题。没有最合适的协议,只有更合适的业务场景。在后面我们也会对这些协议进行简单的对比。 Amqp历史上大概有如下四个版本, Amqp 0-8: 发布于2006年 Amqp 0-9-1:发布于2008年,是Amqp 0...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7设置SWAP分区,小内存服务器的救世主
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Hadoop3单机部署,实现最简伪集群