
这是一个Spark作业,用于从存储中收集跟踪跨度(span),分析服务间的链接关系,并存储结果供后续UI展示。注意,生产部署需要此作业,而all-in-one分发版不需要。
此作业解析指定日期(基于UTC)的所有跟踪数据,默认处理当天数据,也可显式指定其他日期。本项目基于https://github.com/openzipkin/zipkin-dependencies%E3%80%82
Spark作业可作为Docker容器运行,也可作为Java可执行文件运行:
bash$ docker run --env STORAGE=cassandra --env CASSANDRA_CONTACT_POINTS=host1,host2 jaegertracing/spark-dependencies
使用--env JAVA_OPTS=-Djavax.net.ssl.设置信任存储和其他Java属性。
bashSTORAGE=cassandra java -jar jaeger-spark-dependencies.jar
默认情况下,此作业解析当天UTC午夜后的所有跟踪数据。您可以通过YYYY-mm-dd格式的参数指定其他日期,或通过环境变量指定日期。
bash# 示例:在OS/X上运行作业处理昨天的跟踪数据 $ STORAGE=cassandra java -jar jaeger-spark-dependencies.jar `date -uv-1d +%F` # 或在Linux上 $ STORAGE=cassandra java -jar jaeger-spark-dependencies.jar `date -u -d '1 day ago' +%F`
jaeger-spark-dependencies通过环境变量应用配置参数。
通用配置变量
以下变量适用于所有存储层:
SPARK_MASTER:提交作业的Spark主节点;默认为local[*]DATE:YYYY-mm-dd格式的日期,表示将为其创建依赖链接的日期。当STORAGE=cassandra时使用Cassandra存储。
CASSANDRA_KEYSPACE:要使用的keyspace;默认为“jaeger_v1_dc1”。CASSANDRA_CONTACT_POINTS:Cassandra集群的主机/IP地址列表,逗号分隔;默认为localhost。CASSANDRA_LOCAL_DC:要连接的本地DC(将忽略其他节点)。CASSANDRA_USERNAME和CASSANDRA_PASSWORD:Cassandra认证信息;认证失败时启动时会抛出异常。CASSANDRA_USE_SSL:需要javax.net.ssl.trustStore和javax.net.ssl.trustStorePassword,默认为false。CASSANDRA_CLIENT_AUTH_ENABLED:启用SSL连接的客户端认证,需要javax.net.ssl.keyStore和javax.net.ssl.keyStorePassword,默认为false。示例用法:
bash$ STORAGE=cassandra CASSANDRA_CONTACT_POINTS=localhost:9042 java -jar jaeger-spark-dependencies.jar
当STORAGE=elasticsearch时使用Elasticsearch存储。
ES_NODES:Elasticsearch HTTP主机的逗号分隔列表;默认为localhost。如果未监听9200端口,需添加端口部分。只需其中一个主机可用即可获取集群中的其余节点。建议设置为集群的所有主节点。SSL使用URL格式,例如“[***]ES_NODES_WAN_ONLY:设为true以仅使用ES_HOSTS中设置的值(例如Elasticsearch集群在Docker中时)。如果使用AWS Elasticsearch等云服务提供商,设为true;默认为false。ES_USERNAME和ES_PASSWORD:Elasticsearch基本认证信息,用于X-Pack安全(原Shield);默认不提供用户名和密码。ES_CLIENT_NODE_ONLY:设为true以禁用Elasticsearch集群节点发现并启用nodes.client.only;如果Elasticsearch集群的数据节点仅监听回环IP,设为true;默认为false。ES_INDEX_PREFIX:Jaeger索引的前缀;默认未设置。ES_TIME_RANGE:作业应查找过去多久的span,最大值和默认值为24h。可使用date-math接受的任何值,但锚点始终为now。示例用法:
bash$ STORAGE=elasticsearch ES_NODES=http://localhost:9200 java -jar jaeger-spark-dependencies.jar
要在本地构建作业并运行测试:
bash./mvnw clean install # 如果失败,添加SPARK_LOCAL_IP=127.0.0.1 STORAGE=elasticsearch ES_NODES=http://localhost:9200 java -jar jaeger-spark-dependencies/target/jaeger-spark-dependencies-0.0.1-SNAPSHOT.jar docker build -t jaegertracing/spark-dependencies:latest .
测试中可通过环境变量JAEGER_VERSION或系统属性jaeger.version指定Jaeger镜像版本,默认使用最新镜像。
Apache 2.0 许可证。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务