
jaegertracing/spark-dependencies这是一个Spark作业,用于从存储中收集跟踪跨度(span),分析服务间的链接关系,并存储结果供后续UI展示。注意,生产部署需要此作业,而all-in-one分发版不需要。
此作业解析指定日期(基于UTC)的所有跟踪数据,默认处理当天数据,也可显式指定其他日期。本项目基于zipkin-dependencies。
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 许可证。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务