专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

openzipkin/zipkin-dependencies Docker 镜像 - 轩辕镜像

zipkin-dependencies
openzipkin/zipkin-dependencies
用于聚合Zipkin追踪跨度数据以支持用户界面的Spark作业
12 收藏0 次下载activeopenzipkin镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

zipkin-dependencies

镜像概述和主要用途

Zipkin Dependencies 是一个 Apache Spark 作业,用于从存储中收集跟踪数据(spans),分析服务之间的依赖关系,并将结果存储起来以便在 Web UI 中展示(例如:http://localhost:8080/dependency)。

该作业会解析 UTC 时间当天的所有跟踪数据,因此应安排在接近 UTC 时间午夜前运行。支持所有 Zipkin 存储组件,包括 Cassandra、MySQL 和 Elasticsearch。

核心功能和特性

  • 通过 Spark 作业分析服务间依赖关系
  • 支持多种存储后端(Cassandra、MySQL、Elasticsearch)
  • 可配置的日期范围分析
  • 兼容多种安全认证机制
  • 灵活的 Spark 集群配置选项

使用场景和适用范围

Zipkin Dependencies 适用于需要可视化和分析分布式系统中服务间调用关系的场景,特别是在微服务架构环境中。它能够帮助开发和运维团队理解系统拓扑结构,识别性能瓶颈和故障点。

版本支持

  • STORAGE_TYPE=cassandra3:需要 Cassandra 3.11.3+;已针对 3.11 的最新补丁版本测试
  • STORAGE_TYPE=cassandra:需要 Cassandra 2.2+;已针对 3.11 的最新补丁版本测试
  • STORAGE_TYPE=mysql:需要 MySQL 5.6+;已针对 MySQL 5.6 测试
  • STORAGE_TYPE=elasticsearch:需要 Elasticsearch 5+;已针对 6.x 和 7.x 的最新次要版本测试

快速开始

由于 SPARK-26134 问题,Zipkin Dependencies 当前需要 Java 1.8 或 9 运行环境。

通过 JAR 文件运行
bash
# 下载最新版本的 JAR 文件
$ curl -sSL [***] | bash -s io.zipkin.dependencies:zipkin-dependencies:LATEST zipkin-dependencies.jar

# 使用 Cassandra3 存储运行
$ STORAGE_TYPE=cassandra3 java -jar zipkin-dependencies.jar
通过 Docker 运行
bash
$ docker run --env STORAGE_TYPE=cassandra3 --env CASSANDRA_CONTACT_POINTS=host1,host2 openzipkin/zipkin-dependencies

使用方法

默认情况下,作业会解析从 UTC 时间午夜开始的所有跟踪数据。您可以通过指定 YYYY-mm-dd 格式的参数来分析不同日期的数据:

bash
# 在 OS/X 上处理昨天的跟踪数据
$ STORAGE_TYPE=cassandra3 java -jar zipkin-dependencies.jar `date -uv-1d +%F`

# 在 Linux 上处理昨天的跟踪数据
$ STORAGE_TYPE=cassandra3 java -jar zipkin-dependencies.jar `date -u -d '1 day ago' +%F`

环境变量

zipkin-dependencies 通过环境变量应用配置参数。以下变量适用于所有存储层:

  • SPARK_MASTER:提交作业的 Spark master;默认为 local[*]
  • ZIPKIN_LOG_LEVEL:Zipkin 相关状态的日志级别;默认为 INFO(使用 DEBUG 获取详细信息)
  • SPARK_CONF:以属性格式扩展更多 Spark 配置,用逗号分隔。例如:spark.executor.heartbeatInterval=600000,spark.network.timeout=600000
Cassandra 存储

当 STORAGE_TYPE=cassandra 或 STORAGE_TYPE=cassandra3 时使用 Cassandra:

  • cassandra 兼容 Zipkin 的 Legacy Cassandra 存储组件
  • cassandra3 兼容 Zipkin 的 Cassandra v3 存储组件

相关环境变量:

  • CASSANDRA_KEYSPACE:使用的 keyspace;默认为 "zipkin"
  • CASSANDRA_CONTACT_POINTS:Cassandra 集群的主机/IP 地址列表,用逗号分隔;默认为 localhost
  • CASSANDRA_LOCAL_DC:要连接的本地数据中心(将忽略其他节点)
  • CASSANDRA_USERNAME 和 CASSANDRA_PASSWORD:Cassandra 认证信息;认证失败时会在启动时抛出异常
  • CASSANDRA_USE_SSL:是否使用 SSL,需要配置 javax.net.ssl.trustStore 和 javax.net.ssl.trustStorePassword;默认为 false
  • STRICT_TRACE_ID:设为 false 时,依赖链接仅查看 trace ID 的 64 位;默认为 true

示例用法:

bash
$ STORAGE_TYPE=cassandra3 CASSANDRA_USERNAME=user CASSANDRA_PASSWORD=pass java -jar zipkin-dependencies.jar

Docker 示例:

bash
$ docker run --env STORAGE_TYPE=cassandra3 \
             --env CASSANDRA_CONTACT_POINTS=host1,host2 \
             --env CASSANDRA_USERNAME=user \
             --env CASSANDRA_PASSWORD=pass \
             openzipkin/zipkin-dependencies
MySQL 存储

当 STORAGE_TYPE=mysql 时使用 MySQL,其 schema 兼容 Zipkin 的 MySQL 存储组件。

相关环境变量:

  • MYSQL_DB:使用的数据库;默认为 "zipkin"
  • MYSQL_USER 和 MYSQL_PASS:MySQL 认证信息;默认为空字符串
  • MYSQL_HOST:MySQL 主机;默认为 localhost
  • MYSQL_TCP_PORT:MySQL 端口;默认为 3306
  • MYSQL_USE_SSL:是否使用 SSL,需要配置 javax.net.ssl.trustStore 和 javax.net.ssl.trustStorePassword;默认为 false

示例用法:

bash
$ STORAGE_TYPE=mysql MYSQL_USER=root java -jar zipkin-dependencies.jar

Docker 示例:

bash
$ docker run --env STORAGE_TYPE=mysql \
             --env MYSQL_HOST=mysql-host \
             --env MYSQL_USER=root \
             --env MYSQL_PASS=secret \
             openzipkin/zipkin-dependencies
Elasticsearch 存储

当 STORAGE_TYPE=elasticsearch 时使用 Elasticsearch,其 schema 兼容 Zipkin 的 Elasticsearch 存储组件。

相关环境变量:

  • ES_INDEX:生成每日索引名称时使用的前缀;默认为 zipkin
  • ES_DATE_SEPARATOR:生成索引日期时使用的分隔符;默认为 '-',查询的索引类似 zipkin-yyyy-DD-mm;可改为 '.' 生成 zipkin-yyyy.MM.dd
  • ES_HOSTS:Elasticsearch HTTP 主机的逗号分隔列表;默认为 localhost。如果不是监听 9200 端口,请添加端口部分。集群中只需有一个主机可用即可获取集群中的其余节点。建议设置为集群的所有主节点。对于 SSL,请使用 URL 格式,例如:"[***]"
  • ES_NODES_WAN_ONLY:设为 true 时仅使用 ES_HOSTS 中设置的值,例如当 Elasticsearch 集群在 Docker 中时;默认为 false
  • ES_USERNAME 和 ES_PASSWORD:Elasticsearch 基本认证信息,当使用 X-Pack 安全(以前的 Shield)时使用;默认不提供用户名或密码

示例用法:

bash
$ STORAGE_TYPE=elasticsearch ES_HOSTS=host1,host2 java -jar zipkin-dependencies.jar

# 要覆盖 HTTP 端口,请将其添加到主机字符串中
$ STORAGE_TYPE=elasticsearch ES_HOSTS=host1:9201 java -jar zipkin-dependencies.jar

Docker 示例:

bash
$ docker run --env STORAGE_TYPE=elasticsearch \
             --env ES_HOSTS=[***] \
             --env ES_USERNAME=elastic \
             --env ES_PASSWORD=changeme \
             openzipkin/zipkin-dependencies
自定义证书

当在 ES_HOSTS 中使用 https 端点时,可以使用以下标准属性来自定义连接使用的证书:

  • javax.net.ssl.keyStore
  • javax.net.ssl.keyStorePassword
  • javax.net.ssl.trustStore
  • javax.net.ssl.trustStorePassword

本地构建

从源代码构建作业并在 Spark 独立模式下针对本地 Cassandra 运行:

bash
# 构建 Spark 作业
$ ./mvnw -q --batch-mode -DskipTests -Denforcer.fail=false --also-make -pl main package

# 运行作业
$ STORAGE_TYPE=cassandra java -jar ./main/target/zipkin-dependencies*.jar

在 Spark 集群中运行

此构建生成的 jar 文件也可以直接在 Spark 上运行。首先,请确保您运行的 Spark 版本与此处使用的版本相同。

您可以使用以下命令显示此项目构建所针对的 Spark 版本:

bash
$ SPARK_VERSION=$(./mvnw help:evaluate -Dexpression=spark.version -q -DforceStdout)
$ echo $SPARK_VERSION
2.4.0

验证设置使用正确版本后,设置 SPARK_MASTER 变量:

例如,如果连接到同一主机上运行的 Spark:

bash
$ STORAGE_TYPE=cassandra3 SPARK_MASTER=spark://$HOSTNAME:7077 java -jar zipkin-dependencies.jar

注意:Zipkin 团队专注于跟踪功能,而非 Spark 支持。如果您有 Spark 集群相关的故障排除问题,请使用 Spark 的 支持工具。

故障排除

排查问题时,请始终设置 ZIPKIN_LOG_LEVEL=DEBUG,因为此输出对于找出跟踪未生成链接的原因很重要。

如果将 SPARK_MASTER 设置为本地以外的值,请记住日志输出也会出现在工作节点的 stderr 中。

默认情况下,此作业使用系统属性 java.io.tmpdir 的值作为存储临时数据的位置。如果在处理大量跟踪数据时遇到 java.io.IOException: No space left on device,可以使用 -Djava.io.tmpdir=/other/location 指定有足够空间的其他位置。

制品信息

所有制品发布到组 ID "io.zipkin.dependencies"。我们对所有组件使用通用的发布版本。

库发布版本

发布版本上传到 Bintray 并同步到 Maven Central。

库快照版本

提交到 master 分支后,快照版本会上传到 JFrog。

查看更多 zipkin-dependencies 相关镜像 →
bitnamicharts/zipkin logo
bitnamicharts/zipkin
by VMware
认证
Bitnami提供的Zipkin Helm chart,用于在Kubernetes环境中便捷部署和管理Zipkin分布式追踪系统,助力监控微服务架构中的请求链路与性能问题。
100K+ pulls
上次更新:5 个月前
rancher/openzipkin-zipkin logo
rancher/openzipkin-zipkin
by Rancher by SUSE
认证
暂无描述
100K+ pulls
上次更新:5 年前
bitnami/zipkin logo
bitnami/zipkin
by VMware
认证
Bitnami Zipkin安全镜像是一个分布式追踪系统,帮助收集和分析时序数据以排查服务架构中的延迟问题,提供服务调用性能可见性,基于安全加固的容器环境。
10K+ pulls
上次更新:5 个月前
rancher/mirrored-openzipkin-zipkin logo
rancher/mirrored-openzipkin-zipkin
by Rancher by SUSE
认证
暂无描述
50K+ pulls
上次更新:1 年前
jaegertracing/xdock-zipkin-brave logo
jaegertracing/xdock-zipkin-brave
by jaegertracing
用于验证Jaeger支持Zipkin数据格式的Crossdock测试应用。
50K+ pulls
上次更新:4 年前
jaegertracing/spark-dependencies logo
jaegertracing/spark-dependencies
by jaegertracing
这是一个Spark作业,用于从存储中收集跟踪跨度(span),分析服务间依赖关系并存储结果供UI展示,适用于Jaeger生产部署(all-in-one分发无需此作业),默认处理当天UTC的跟踪数据,也可指定其他日期。
50M+ pulls
上次更新:4 年前

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
openzipkin/zipkin-dependencies
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429