This is an automated email from the ASF dual-hosted git repository.
git-site-role pushed a commit to branch asf-staging
in repository https://gitbox.apache.org/repos/asf/accumulo-website.git
The following commit(s) were added to refs/heads/asf-staging by this push:
new e40c2a4b Automatic Site Publish by Buildbot
e40c2a4b is described below
commit e40c2a4b829219e931687f3a1ee2196aad78419e
Author: buildbot <[email protected]>
AuthorDate: Fri Jul 8 10:57:33 2022 +0000
Automatic Site Publish by Buildbot
---
.../blog/2022/06/22/2.1.0-metrics-and-tracing.html | 313 +++++++++++++++++++++
output/feed.xml | 296 +++++++++----------
.../Grafana_Screenshot.png | Bin 0 -> 110206 bytes
.../Jaeger_Screenshot.png | Bin 0 -> 115638 bytes
output/index.html | 14 +-
output/news/index.html | 7 +
output/search_data.json | 8 +
7 files changed, 486 insertions(+), 152 deletions(-)
diff --git a/output/blog/2022/06/22/2.1.0-metrics-and-tracing.html
b/output/blog/2022/06/22/2.1.0-metrics-and-tracing.html
new file mode 100644
index 00000000..d42a4b41
--- /dev/null
+++ b/output/blog/2022/06/22/2.1.0-metrics-and-tracing.html
@@ -0,0 +1,313 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<meta charset="utf-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<link
href="https://maxcdn.bootstrapcdn.com/bootswatch/3.3.7/paper/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-awusxf8AUojygHf2+joICySzB780jVvQaVCAt1clU3QsyAitLGul28Qxb2r1e5g+"
crossorigin="anonymous">
+<link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css"
rel="stylesheet">
+<link rel="stylesheet" type="text/css"
href="https://cdn.datatables.net/v/bs/jq-2.2.3/dt-1.10.12/datatables.min.css">
+<link href="/css/accumulo.css" rel="stylesheet" type="text/css">
+
+<title>2.1.0 Metrics and Tracing Changes</title>
+
+<script
src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"
integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="
crossorigin="anonymous"></script>
+<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"
integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"
crossorigin="anonymous"></script>
+<script type="text/javascript"
src="https://cdn.datatables.net/v/bs/jq-2.2.3/dt-1.10.12/datatables.min.js"></script>
+<script type="text/javascript"
src="https://www.apachecon.com/event-images/snippet.js"></script>
+<script>
+ // show location of canonical site if not currently on the canonical site
+ $(function() {
+ var host = window.location.host;
+ if (typeof host !== 'undefined' && host !== 'accumulo.apache.org') {
+ $('#non-canonical').show();
+ }
+ });
+
+ $(function() {
+ // decorate section headers with anchors
+ return $("h2, h3, h4, h5, h6").each(function(i, el) {
+ var $el, icon, id;
+ $el = $(el);
+ id = $el.attr('id');
+ icon = '<i class="fa fa-link"></i>';
+ if (id) {
+ return $el.append($("<a />").addClass("header-link").attr("href", "#"
+ id).html(icon));
+ }
+ });
+ });
+
+ // fix sidebar width in documentation
+ $(function() {
+ var $affixElement = $('div[data-spy="affix"]');
+ $affixElement.width($affixElement.parent().width());
+ });
+</script>
+
+</head>
+<body style="padding-top: 100px">
+
+ <nav class="navbar navbar-default navbar-fixed-top">
+ <div class="container">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse"
data-target="#navbar-items">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a href="/"><img id="nav-logo" alt="Apache Accumulo"
class="img-responsive" src="/images/accumulo-logo.png" width="200"
+ /></a>
+ </div>
+ <div class="collapse navbar-collapse" id="navbar-items">
+ <ul class="nav navbar-nav">
+ <li class="nav-link"><a href="/downloads">Download</a></li>
+ <li class="nav-link"><a href="/tour">Tour</a></li>
+ <li class="dropdown">
+ <a class="dropdown-toggle" data-toggle="dropdown"
href="#">Releases<span class="caret"></span></a>
+ <ul class="dropdown-menu">
+ <li><a href="/release/accumulo-2.0.1/">2.0.1 (Latest)</a></li>
+ <li><a href="/release/accumulo-1.10.2/">1.10.2</a></li>
+ <li><a href="/release/">Archive</a></li>
+ </ul>
+ </li>
+ <li class="dropdown">
+ <a class="dropdown-toggle" data-toggle="dropdown"
href="#">Documentation<span class="caret"></span></a>
+ <ul class="dropdown-menu">
+ <li><a href="/docs/2.x">User Manual (2.x)</a></li>
+ <li><a href="/docs/2.x/apidocs">Javadocs (2.0)</a></li>
+ <li><a href="/api">Public API</a></li>
+ <li><a href="/quickstart-1.x">Quickstart (1.x)</a></li>
+ <li><a href="/accumulo2-maven-plugin">Accumulo Maven
Plugin</a></li>
+ <li><a href="/1.10/accumulo_user_manual.html">User Manual
(1.10)</a></li>
+ <li><a href="/1.10/apidocs">Javadocs (1.10)</a></li>
+ <li><a href="/external-docs">External Docs</a></li>
+ <li><a href="/docs-archive/">Archive</a></li>
+ </ul>
+ </li>
+ <li class="dropdown">
+ <a class="dropdown-toggle" data-toggle="dropdown"
href="#">Community<span class="caret"></span></a>
+ <ul class="dropdown-menu">
+ <li><a href="/contact-us">Contact Us</a></li>
+ <li><a href="/how-to-contribute">How To Contribute</a></li>
+ <li><a href="/people">People</a></li>
+ <li><a href="/related-projects">Related Projects</a></li>
+ </ul>
+ </li>
+ <li class="nav-link"><a href="/search">Search</a></li>
+ </ul>
+ <ul class="nav navbar-nav navbar-right">
+ <li class="dropdown">
+ <a class="dropdown-toggle" data-toggle="dropdown" href="#"><img
alt="Apache Software Foundation"
src="https://www.apache.org/foundation/press/kit/feather.svg" width="15"/><span
class="caret"></span></a>
+ <ul class="dropdown-menu">
+ <li><a href="https://www.apache.org">Apache Homepage <i class="fa
fa-external-link"></i></a></li>
+ <li><a href="https://www.apache.org/licenses/">License <i
class="fa fa-external-link"></i></a></li>
+ <li><a
href="https://www.apache.org/foundation/sponsorship">Sponsorship <i class="fa
fa-external-link"></i></a></li>
+ <li><a href="https://www.apache.org/security">Security <i
class="fa fa-external-link"></i></a></li>
+ <li><a href="https://www.apache.org/foundation/thanks">Thanks <i
class="fa fa-external-link"></i></a></li>
+ <li><a
href="https://www.apache.org/foundation/policies/conduct">Code of Conduct <i
class="fa fa-external-link"></i></a></li>
+ <li><a
href="https://www.apache.org/events/current-event.html">Current Event <i
class="fa fa-external-link"></i></a></li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+ </div>
+</nav>
+
+
+ <div class="container">
+ <div class="row">
+ <div class="col-md-12">
+
+ <div id="non-canonical" style="display: none; background-color:
#F0E68C; padding-left: 1em;">
+ Visit the official site at: <a
href="https://accumulo.apache.org">https://accumulo.apache.org</a>
+ </div>
+ <div id="content">
+
+ <h1 class="title">2.1.0 Metrics and Tracing Changes</h1>
+
+ <p>
+<b>Author: </b> Dave Marion<br>
+<b>Date: </b> 22 Jun 2022<br>
+
+</p>
+
+<p>Metrics and Tracing changed in 2.1.0. This post explains the new
implementations and provides examples on how to configure them.</p>
+
+<h1 id="metrics">Metrics</h1>
+
+<p>Accumulo was <a
href="https://issues.apache.org/jira/browse/ACCUMULO-1817">modified</a> in
version 1.7.0 (2015) to use the Hadoop Metrics2 framework for capturing and
emitting internal Accumulo metrics. <a
href="https://micrometer.io/">Micrometer</a>, a newer metrics framework,
supports sending metrics to many popular <a
href="https://micrometer.io/docs/concepts#_supported_monitoring_systems">monitoring
systems</a>. In Accumulo 2.1.0 support for the Hadoop Metrics2 framework has
been [...]
+
+<p>Micrometer has the concept of a <a
href="https://micrometer.io/docs/concepts#_registry">MeterRegistry</a>, which
is used to create and emit metrics to the supported monitoring systems.
Additionally, Micrometer supports sending metrics to multiple monitoring
systems concurrently. Configuring Micrometer in Accumulo will require you to
write a small peice of code to provide the MeterRegistry configuration.
Specifically, you will need to create a class that implements <a
href="https://git [...]
+
+<p>Accumulo’s metrics integration test uses a <a
href="https://github.com/apache/accumulo/blob/main/test/src/main/java/org/apache/accumulo/test/metrics/TestStatsDRegistryFactory.java">TestStatsDRegistryFactory</a>
to create and configure a <a
href="https://micrometer.io/docs/registry/statsD">StatsD Meter Registry</a>.
The instructions below provide an example of how to use this class to emit
Accumulo’s metrics to a Telegraf - InfluxDB - Grafana monitoring stack.</p>
+
+<h2 id="metrics-example">Metrics Example</h2>
+
+<p>This example uses a Docker container that contains
Telegraf-InfluxDB-Grafana system. We will configure Accumulo to send metrics to
the <a
href="https://www.influxdata.com/time-series-platform/telegraf/">Telegraf</a>
component running in the Docker image. Telegraf will persist the metrics in <a
href="https://www.influxdata.com/products/influxdb-overview/">InfluxDB</a> and
then we will visualize the metris using <a
href="https://grafana.com/">Grafana</a>. This example assumes that you h [...]
+
+<ol>
+ <li>Download the Telegraf-Influx-Grafana (TIG) Docker image
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre class="highlight"><code>docker pull
artlov/docker-telegraf-influxdb-grafana:latest
+</code></pre></div> </div>
+ </li>
+ <li>Create directories for the Docker container
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre class="highlight"><code>mkdir -p /tmp/metrics/influxdb
+chmod 777 /tmp/metrics/influxdb
+mkdir /tmp/metrics/grafana
+mkdir /tmp/metrics/grafana-dashboards
+mkdir -p /tmp/metrics/telegraf/conf
+</code></pre></div> </div>
+ </li>
+ <li>Download Telegraf configuration and Grafana dashboard
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre class="highlight"><code>cd /tmp/metrics/telegraf/conf
+wget
https://raw.githubusercontent.com/apache/accumulo-testing/main/contrib/terraform-testing-infrastructure/modules/config-files/templates/telegraf.conf.tftpl
+cat telegraf.conf.tftpl | sed "s/\${manager_ip}/localhost/" > telegraf.conf
+cd /tmp/metrics/grafana-dashboards
+wget
https://raw.githubusercontent.com/apache/accumulo-testing/main/contrib/terraform-testing-infrastructure/modules/config-files/files/grafana_dashboards/accumulo-dashboard.json
+wget
https://raw.githubusercontent.com/apache/accumulo-testing/main/contrib/terraform-testing-infrastructure/modules/config-files/files/grafana_dashboards/accumulo-dashboard.yaml
+</code></pre></div> </div>
+ </li>
+ <li>Start the TIG Docker container
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre class="highlight"><code>docker run --ulimit
nofile=66000:66000 -d --rm \
+ --restart always \
+ --name tig-stack \
+ -p 3003:3003 \
+ -p 3004:8888 \
+ -p 8086:8086 \
+ -p 22022:22 \
+ -p 8125:8125/udp \
+ -v /tmp/metrics/influxdb:/var/lib/influxdb \
+ -v /tmp/metrics/grafana:/var/lib/grafana \
+ -v /tmp/metrics/telegraf/conf:/etc/telegraf \
+ -v /tmp/metrics/grafana-dashboards:/etc/grafana/provisioning/dashboards \
+ artlov/docker-telegraf-influxdb-grafana:latest
+</code></pre></div> </div>
+ </li>
+ <li>Download Micrometer StatsD Meter Registry jar
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre class="highlight"><code>wget -O
micrometer-registry-statsd-1.9.1.jar
https://search.maven.org/remotecontent?filepath=io/micrometer/micrometer-registry-statsd/1.9.1/micrometer-registry-statsd-1.9.1.jar
+</code></pre></div> </div>
+ </li>
+ <li>At a mininum you need to enable the metrics using the property <code
class="language-plaintext highlighter-rouge">general.micrometer.enabled</code>
and supply the name of the MeterRegistryFactory class using the property <code
class="language-plaintext highlighter-rouge">general.micrometer.factory</code>.
To enable <a href="https://micrometer.io/docs/ref/jvm">JVM</a> metrics, use the
property <code class="language-plaintext
highlighter-rouge">general.micrometer.jvm.metrics.enabled< [...]
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre class="highlight"><code># Micrometer settings
+general.micrometer.enabled=true
+general.micrometer.jvm.metrics.enabled=true
+general.micrometer.factory=org.apache.accumulo.test.metrics.TestStatsDRegistryFactory
+</code></pre></div> </div>
+ </li>
+ <li>
+ <p>Copy the micrometer-registry-statsd-1.9.1.jar and accumulo-test.jar
into the Accumulo lib directory</p>
+ </li>
+ <li>The TestStatsDRegistryFactory uses system properties to determine the
host and port of the StatsD server. In this example the Telegraf component
started in step 4 above contains a StatsD server listening on localhost:8125.
Configure the TestStatsDRegistryFactory by adding the following system
properties to the JAVA_OPTS variable in accumulo-env.sh.
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code>"-Dtest.meter.registry.host=127.0.0.1"
+"-Dtest.meter.registry.port=8125"
+</code></pre></div> </div>
+ </li>
+ <li>Start Accumulo. You should see the following statement in the server
log files
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre class="highlight"><code>[metrics.MetricsUtil] INFO :
initializing metrics, enabled:true,
class:org.apache.accumulo.test.metrics.TestStatsDRegistryFactory
+</code></pre></div> </div>
+ </li>
+ <li>Log into Grafana (http://localhost:3003/) using the default credentials
(root/root). Click the <code class="language-plaintext
highlighter-rouge">Home</code> icon at the top, then click the <code
class="language-plaintext highlighter-rouge">Accumulo Micrometer Test
Dashboard</code>. If everything is working correctly, then you should see
something like the image below.</li>
+</ol>
+
+<p><img src="/images/blog/202206_metrics_and_tracing/Grafana_Screenshot.png"
alt="Grafana Screenshot" /></p>
+
+<h1 id="tracing">Tracing</h1>
+
+<p>With the retirement of HTrace, Accumulo has selected to replace it’s
tracing functionality with <a
href="https://opentelemetry.io/">OpenTelemetry</a> in version 2.1.0. Hadoop
appears to be on the same <a
href="https://issues.apache.org/jira/browse/HADOOP-15566">path</a> which, when
finished, should provide better insight into Accumulo’s use of HDFS.
OpenTelemetry supports exporting Trace information to several different
systems, to include <a href="https://www.jaegertracing.io/">Jaege [...]
+
+<h2 id="tracing-example">Tracing Example</h2>
+
+<p>This example uses the OpenTelemetry Java Agent jar file to configure and
export trace information to Jaeger. The OpenTelemetry Java Agent jar file
bundles together the supported Java exporters, provides a way to <a
href="https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure">configure</a>
them, and registers them with the GlobalOpenTelemetry singleton that is used
by Accumulo. An alternate method to supplying the OpenTelemetry dependencies,
withou [...]
+
+<ol>
+ <li>Download Jaeger all-in-one Docker image
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre class="highlight"><code> docker pull
jaegertracing/all-in-one:1.35
+</code></pre></div> </div>
+ </li>
+ <li>Download OpenTelemetry Java Agent
(https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure)
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre class="highlight"><code> wget -O
opentelemetry-javaagent-1.14.0.jar
https://search.maven.org/remotecontent?filepath=io/opentelemetry/javaagent/opentelemetry-javaagent/1.14.0/opentelemetry-javaagent-1.14.0.jar
+</code></pre></div> </div>
+ </li>
+ <li>To enable tracing, you need to set the <code class="language-plaintext
highlighter-rouge">general.opentelemetry.enabled</code> property. Modify the
accumulo.properties configuration file and add the following property.
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre class="highlight"><code># OpenTelemetry settings
+general.opentelemetry.enabled=true
+</code></pre></div> </div>
+ </li>
+ <li>To enable tracing in the shell, set the <code class="language-plaintext
highlighter-rouge">general.opentelemetry.enabled</code> property in the
accumulo-client.properties configuration file.
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre class="highlight"><code># OpenTelemetry settings
+general.opentelemetry.enabled=true
+</code></pre></div> </div>
+ </li>
+ <li>Configure the OpenTelemetry JavaAgent in accumulo-env.sh by uncommenting
the following and updating the path to the java agent jar:
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre class="highlight"><code> ## Optionally setup
OpenTelemetry SDK AutoConfigure
+ ## See
https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure
+ #JAVA_OPTS=('-Dotel.traces.exporter=jaeger' '-Dotel.metrics.exporter=none'
'-Dotel.logs.exporter=none' "${JAVA_OPTS[@]}")
+ ## Optionally setup OpenTelemetry Java Agent
+ ## See https://github.com/open-telemetry/opentelemetry-java-instrumentation
for more options
+ #JAVA_OPTS=('-javaagent:path/to/opentelemetry-javaagent-all.jar'
"${JAVA_OPTS[@]}")
+</code></pre></div> </div>
+ </li>
+ <li>Start Jaeger Docker container
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre class="highlight"><code>docker run -d --rm --name jaeger
\
+ -e COLLECTOR_ZIPKIN_HOST_PORT=:9411 \
+ -p 5775:5775/udp \
+ -p 6831:6831/udp \
+ -p 6832:6832/udp \
+ -p 5778:5778 \
+ -p 16686:16686 \
+ -p 14268:14268 \
+ -p 14250:14250 \
+ -p 9411:9411 jaegertracing/all-in-one:1.35
+</code></pre></div> </div>
+ </li>
+ <li>Start Accumulo. You should see the following statement in the server
log files
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre class="highlight"><code>[trace.TraceUtil] INFO : Trace
enabled in Accumulo: yes, OpenTelemetry instance: class
io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_10.ApplicationOpenTelemetry110,
Tracer instance: class
io.opentelemetry.javaagent.instrumentation.opentelemetryapi.trace.ApplicationTracer
+</code></pre></div> </div>
+ </li>
+ <li>View traces in Jaeger UI at http://localhost:16686. You can select the
service name on the left panel and click <code class="language-plaintext
highlighter-rouge">Find Traces</code> to view the trace information. If
everything is working correctly, then you should see something like the image
below.</li>
+</ol>
+
+<p><img src="/images/blog/202206_metrics_and_tracing/Jaeger_Screenshot.png"
alt="Jaeger Screenshot" /></p>
+
+
+<p><strong>View all posts in the <a href="/news">news archive</a></strong></p>
+
+ </div>
+
+
+<footer>
+
+ <p><a href="https://www.apache.org/foundation/contributing"><img
src="https://www.apache.org/images/SupportApache-small.png" alt="Support the
ASF" id="asf-logo" height="100" /></a></p>
+
+ <p>Copyright © 2011-2022 <a href="https://www.apache.org">The Apache
Software Foundation</a>.
+Licensed under the <a href="https://www.apache.org/licenses/">Apache License,
Version 2.0</a>.</p>
+
+ <p>Apache®, the names of Apache projects and their logos, and the multicolor
feather
+logo are registered trademarks or trademarks of The Apache Software Foundation
+in the United States and/or other countries.</p>
+
+</footer>
+
+
+ </div>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/output/feed.xml b/output/feed.xml
index 31cf3087..07a87021 100644
--- a/output/feed.xml
+++ b/output/feed.xml
@@ -6,11 +6,160 @@
</description>
<link>https://accumulo.apache.org/</link>
<atom:link href="https://accumulo.apache.org/feed.xml" rel="self"
type="application/rss+xml"/>
- <pubDate>Wed, 15 Jun 2022 15:01:27 +0000</pubDate>
- <lastBuildDate>Wed, 15 Jun 2022 15:01:27 +0000</lastBuildDate>
+ <pubDate>Fri, 08 Jul 2022 10:57:26 +0000</pubDate>
+ <lastBuildDate>Fri, 08 Jul 2022 10:57:26 +0000</lastBuildDate>
<generator>Jekyll v4.2.0</generator>
+ <item>
+ <title>2.1.0 Metrics and Tracing Changes</title>
+ <description><p>Metrics and Tracing changed in 2.1.0. This post
explains the new implementations and provides examples on how to configure
them.</p>
+
+<h1 id="metrics">Metrics</h1>
+
+<p>Accumulo was <a
href="https://issues.apache.org/jira/browse/ACCUMULO-1817">modified</a>
in version 1.7.0 (2015) to use the Hadoop Metrics2 framework for capturing and
emitting internal Accumulo metrics. <a
href="https://micrometer.io/">Micrometer</a>, a newer
metrics framework, supports sending metrics to many popular <a
href="https://micrometer.io/docs/concepts#_supported_monitoring_systems">monitoring
systems</a> [...]
+
+<p>Micrometer has the concept of a <a
href="https://micrometer.io/docs/concepts#_registry">MeterRegistry</a>,
which is used to create and emit metrics to the supported monitoring systems.
Additionally, Micrometer supports sending metrics to multiple monitoring
systems concurrently. Configuring Micrometer in Accumulo will require you to
write a small peice of code to provide the MeterRegistry configuration.
Specifically, you will need to create a class that imp [...]
+
+<p>Accumulo’s metrics integration test uses a <a
href="https://github.com/apache/accumulo/blob/main/test/src/main/java/org/apache/accumulo/test/metrics/TestStatsDRegistryFactory.java">TestStatsDRegistryFactory</a>
to create and configure a <a
href="https://micrometer.io/docs/registry/statsD">StatsD Meter
Registry</a>. The instructions below provide an example of how to use
this class to emit Accumulo’s metrics to a Telegraf - InfluxDB - G [...]
+
+<h2 id="metrics-example">Metrics Example</h2>
+
+<p>This example uses a Docker container that contains
Telegraf-InfluxDB-Grafana system. We will configure Accumulo to send metrics to
the <a
href="https://www.influxdata.com/time-series-platform/telegraf/">Telegraf</a>
component running in the Docker image. Telegraf will persist the metrics in
<a
href="https://www.influxdata.com/products/influxdb-overview/">InfluxDB</a>
and then we will visualize the metris using <a href="https:// [...]
+
+<ol>
+ <li>Download the Telegraf-Influx-Grafana (TIG) Docker image
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code>docker pull
artlov/docker-telegraf-influxdb-grafana:latest
+</code></pre></div> </div>
+ </li>
+ <li>Create directories for the Docker container
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code>mkdir -p /tmp/metrics/influxdb
+chmod 777 /tmp/metrics/influxdb
+mkdir /tmp/metrics/grafana
+mkdir /tmp/metrics/grafana-dashboards
+mkdir -p /tmp/metrics/telegraf/conf
+</code></pre></div> </div>
+ </li>
+ <li>Download Telegraf configuration and Grafana dashboard
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code>cd /tmp/metrics/telegraf/conf
+wget
https://raw.githubusercontent.com/apache/accumulo-testing/main/contrib/terraform-testing-infrastructure/modules/config-files/templates/telegraf.conf.tftpl
+cat telegraf.conf.tftpl | sed "s/\${manager_ip}/localhost/" &gt;
telegraf.conf
+cd /tmp/metrics/grafana-dashboards
+wget
https://raw.githubusercontent.com/apache/accumulo-testing/main/contrib/terraform-testing-infrastructure/modules/config-files/files/grafana_dashboards/accumulo-dashboard.json
+wget
https://raw.githubusercontent.com/apache/accumulo-testing/main/contrib/terraform-testing-infrastructure/modules/config-files/files/grafana_dashboards/accumulo-dashboard.yaml
+</code></pre></div> </div>
+ </li>
+ <li>Start the TIG Docker container
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code>docker run --ulimit
nofile=66000:66000 -d --rm \
+ --restart always \
+ --name tig-stack \
+ -p 3003:3003 \
+ -p 3004:8888 \
+ -p 8086:8086 \
+ -p 22022:22 \
+ -p 8125:8125/udp \
+ -v /tmp/metrics/influxdb:/var/lib/influxdb \
+ -v /tmp/metrics/grafana:/var/lib/grafana \
+ -v /tmp/metrics/telegraf/conf:/etc/telegraf \
+ -v /tmp/metrics/grafana-dashboards:/etc/grafana/provisioning/dashboards \
+ artlov/docker-telegraf-influxdb-grafana:latest
+</code></pre></div> </div>
+ </li>
+ <li>Download Micrometer StatsD Meter Registry jar
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code>wget -O
micrometer-registry-statsd-1.9.1.jar
https://search.maven.org/remotecontent?filepath=io/micrometer/micrometer-registry-statsd/1.9.1/micrometer-registry-statsd-1.9.1.jar
+</code></pre></div> </div>
+ </li>
+ <li>At a mininum you need to enable the metrics using the property
<code class="language-plaintext
highlighter-rouge">general.micrometer.enabled</code> and supply
the name of the MeterRegistryFactory class using the property <code
class="language-plaintext
highlighter-rouge">general.micrometer.factory</code>. To enable
<a href="https://micrometer.io/docs/ref/jvm">JVM</a>
metrics, use the property <code class=&qu [...]
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code># Micrometer settings
+general.micrometer.enabled=true
+general.micrometer.jvm.metrics.enabled=true
+general.micrometer.factory=org.apache.accumulo.test.metrics.TestStatsDRegistryFactory
+</code></pre></div> </div>
+ </li>
+ <li>
+ <p>Copy the micrometer-registry-statsd-1.9.1.jar and
accumulo-test.jar into the Accumulo lib directory</p>
+ </li>
+ <li>The TestStatsDRegistryFactory uses system properties to determine
the host and port of the StatsD server. In this example the Telegraf component
started in step 4 above contains a StatsD server listening on localhost:8125.
Configure the TestStatsDRegistryFactory by adding the following system
properties to the JAVA_OPTS variable in accumulo-env.sh.
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code>"-Dtest.meter.registry.host=127.0.0.1"
+"-Dtest.meter.registry.port=8125"
+</code></pre></div> </div>
+ </li>
+ <li>Start Accumulo. You should see the following statement in the
server log files
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code>[metrics.MetricsUtil] INFO :
initializing metrics, enabled:true,
class:org.apache.accumulo.test.metrics.TestStatsDRegistryFactory
+</code></pre></div> </div>
+ </li>
+ <li>Log into Grafana (http://localhost:3003/) using the default
credentials (root/root). Click the <code class="language-plaintext
highlighter-rouge">Home</code> icon at the top, then click the
<code class="language-plaintext highlighter-rouge">Accumulo
Micrometer Test Dashboard</code>. If everything is working correctly,
then you should see something like the image below.</li>
+</ol>
+
+<p><img
src="/images/blog/202206_metrics_and_tracing/Grafana_Screenshot.png"
alt="Grafana Screenshot" /></p>
+
+<h1 id="tracing">Tracing</h1>
+
+<p>With the retirement of HTrace, Accumulo has selected to replace it’s
tracing functionality with <a
href="https://opentelemetry.io/">OpenTelemetry</a> in
version 2.1.0. Hadoop appears to be on the same <a
href="https://issues.apache.org/jira/browse/HADOOP-15566">path</a>
which, when finished, should provide better insight into Accumulo’s use of
HDFS. OpenTelemetry supports exporting Trace information to several different
systems, to inc [...]
+
+<h2 id="tracing-example">Tracing Example</h2>
+
+<p>This example uses the OpenTelemetry Java Agent jar file to configure
and export trace information to Jaeger. The OpenTelemetry Java Agent jar file
bundles together the supported Java exporters, provides a way to <a
href="https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure">configure</a>
them, and registers them with the GlobalOpenTelemetry singleton that is used
by Accumulo. An alternate method to supplying the OpenTe [...]
+
+<ol>
+ <li>Download Jaeger all-in-one Docker image
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code> docker pull
jaegertracing/all-in-one:1.35
+</code></pre></div> </div>
+ </li>
+ <li>Download OpenTelemetry Java Agent
(https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure)
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code> wget -O
opentelemetry-javaagent-1.14.0.jar
https://search.maven.org/remotecontent?filepath=io/opentelemetry/javaagent/opentelemetry-javaagent/1.14.0/opentelemetry-javaagent-1.14.0.jar
+</code></pre></div> </div>
+ </li>
+ <li>To enable tracing, you need to set the <code
class="language-plaintext
highlighter-rouge">general.opentelemetry.enabled</code> property.
Modify the accumulo.properties configuration file and add the following
property.
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code># OpenTelemetry settings
+general.opentelemetry.enabled=true
+</code></pre></div> </div>
+ </li>
+ <li>To enable tracing in the shell, set the <code
class="language-plaintext
highlighter-rouge">general.opentelemetry.enabled</code> property
in the accumulo-client.properties configuration file.
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code># OpenTelemetry settings
+general.opentelemetry.enabled=true
+</code></pre></div> </div>
+ </li>
+ <li>Configure the OpenTelemetry JavaAgent in accumulo-env.sh by
uncommenting the following and updating the path to the java agent jar:
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code> ## Optionally setup OpenTelemetry
SDK AutoConfigure
+ ## See
https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure
+ #JAVA_OPTS=('-Dotel.traces.exporter=jaeger' '-Dotel.metrics.exporter=none'
'-Dotel.logs.exporter=none' "${JAVA_OPTS[@]}")
+ ## Optionally setup OpenTelemetry Java Agent
+ ## See https://github.com/open-telemetry/opentelemetry-java-instrumentation
for more options
+ #JAVA_OPTS=('-javaagent:path/to/opentelemetry-javaagent-all.jar'
"${JAVA_OPTS[@]}")
+</code></pre></div> </div>
+ </li>
+ <li>Start Jaeger Docker container
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code>docker run -d --rm --name jaeger \
+ -e COLLECTOR_ZIPKIN_HOST_PORT=:9411 \
+ -p 5775:5775/udp \
+ -p 6831:6831/udp \
+ -p 6832:6832/udp \
+ -p 5778:5778 \
+ -p 16686:16686 \
+ -p 14268:14268 \
+ -p 14250:14250 \
+ -p 9411:9411 jaegertracing/all-in-one:1.35
+</code></pre></div> </div>
+ </li>
+ <li>Start Accumulo. You should see the following statement in the
server log files
+ <div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code>[trace.TraceUtil] INFO : Trace
enabled in Accumulo: yes, OpenTelemetry instance: class
io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_10.ApplicationOpenTelemetry110,
Tracer instance: class
io.opentelemetry.javaagent.instrumentation.opentelemetryapi.trace.ApplicationTracer
+</code></pre></div> </div>
+ </li>
+ <li>View traces in Jaeger UI at http://localhost:16686. You can select
the service name on the left panel and click <code
class="language-plaintext highlighter-rouge">Find
Traces</code> to view the trace information. If everything is working
correctly, then you should see something like the image below.</li>
+</ol>
+
+<p><img
src="/images/blog/202206_metrics_and_tracing/Jaeger_Screenshot.png"
alt="Jaeger Screenshot" /></p>
+</description>
+ <pubDate>Wed, 22 Jun 2022 00:00:00 +0000</pubDate>
+
<link>https://accumulo.apache.org/blog/2022/06/22/2.1.0-metrics-and-tracing.html</link>
+ <guid
isPermaLink="true">https://accumulo.apache.org/blog/2022/06/22/2.1.0-metrics-and-tracing.html</guid>
+
+
+ <category>blog</category>
+
+ </item>
+
<item>
<title>Apache Accumulo 1.10.2</title>
<description><h2 id="about">About</h2>
@@ -1513,149 +1662,6 @@ to the maven-checkstyle-plugin configuration.</p>
<guid
isPermaLink="true">https://accumulo.apache.org/blog/2019/11/04/checkstyle-import-control.html</guid>
- <category>blog</category>
-
- </item>
-
- <item>
- <title>Using Azure Data Lake Gen2 storage as a data store for
Accumulo</title>
- <description><p>Accumulo can store its files in <a
href="https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction">Azure
Data Lake Storage Gen2</a>
-using the <a
href="https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-abfs-driver">ABFS
(Azure Blob File System)</a> driver.
-Similar to <a
href="/blog/2019/09/10/accumulo-S3-notes.html">S3 blog</a>,
-the write ahead logs &amp; Accumulo metadata can be stored in HDFS and
everything else on Gen2 storage
-using the volume chooser feature introduced in Accumulo 2.0. The
configurations referred on this blog
-are specific to Accumulo 2.0 and Hadoop 3.2.0.</p>
-
-<h2 id="hadoop-setup">Hadoop setup</h2>
-
-<p>For ABFS client to talk to Gen2 storage, it requires one of the
Authentication mechanism listed <a
href="https://hadoop.apache.org/docs/current/hadoop-azure/abfs.html#Authentication">here</a>
-This post covers <a
href="https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview">Azure
Managed Identity</a>
-formerly known as Managed Service Identity or MSI. This feature provides Azure
services with an
-automatically managed identity in <a
href="https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-whatis">Azure
AD</a>
-and it avoids the need for credentials or other sensitive information from
being stored in code
-or configs/JCEKS. Plus, it comes free with Azure AD.</p>
-
-<p>At least the following should be added to Hadoop’s <code
class="language-plaintext
highlighter-rouge">core-site.xml</code> on each node.</p>
-
-<div class="language-xml highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code><span
class="nt">&lt;property&gt;</span>
- <span
class="nt">&lt;name&gt;</span>fs.azure.account.auth.type<span
class="nt">&lt;/name&gt;</span>
- <span
class="nt">&lt;value&gt;</span>OAuth<span
class="nt">&lt;/value&gt;</span>
-<span class="nt">&lt;/property&gt;</span>
-<span class="nt">&lt;property&gt;</span>
- <span
class="nt">&lt;name&gt;</span>fs.azure.account.oauth.provider.type<span
class="nt">&lt;/name&gt;</span>
- <span
class="nt">&lt;value&gt;</span>org.apache.hadoop.fs.azurebfs.oauth2.MsiTokenProvider<span
class="nt">&lt;/value&gt;</span>
-<span class="nt">&lt;/property&gt;</span>
-<span class="nt">&lt;property&gt;</span>
- <span
class="nt">&lt;name&gt;</span>fs.azure.account.oauth2.msi.tenant<span
class="nt">&lt;/name&gt;</span>
- <span
class="nt">&lt;value&gt;</span>TenantID<span
class="nt">&lt;/value&gt;</span>
-<span class="nt">&lt;/property&gt;</span>
-<span class="nt">&lt;property&gt;</span>
- <span
class="nt">&lt;name&gt;</span>fs.azure.account.oauth2.client.id<span
class="nt">&lt;/name&gt;</span>
- <span
class="nt">&lt;value&gt;</span>ClientID<span
class="nt">&lt;/value&gt;</span>
-<span class="nt">&lt;/property&gt;</span>
-</code></pre></div></div>
-
-<p>See <a
href="https://hadoop.apache.org/docs/current/hadoop-azure/abfs.html">ABFS
doc</a>
-for more information on Hadoop Azure support.</p>
-
-<p>To get hadoop command to work with ADLS Gen2 set the
-following entries in <code class="language-plaintext
highlighter-rouge">hadoop-env.sh</code>. As Gen2 storage is TLS
enabled by default,
-it is important we use the native OpenSSL implementation of TLS.</p>
-
-<div class="language-bash highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code><span
class="nb">export </span><span
class="nv">HADOOP_OPTIONAL_TOOLS</span><span
class="o">=</span><span
class="s2">"hadoop-azure"</span>
-<span class="nb">export </span><span
class="nv">HADOOP_OPTS</span><span
class="o">=</span><span
class="s2">"-Dorg.wildfly.openssl.path=&lt;path/to/OpenSSL/libraries&gt;
</span><span class="k">${</span><span
class="nv">HADOOP_OPTS</span><span
class="k">}</span><span
class="s2">"</span>
-</code></pre></div></div>
-
-<p>To verify the location of the OpenSSL libraries, run <code
class="language-plaintext highlighter-rouge">whereis
libssl</code> command
-on the host</p>
-
-<h2 id="accumulo-setup">Accumulo setup</h2>
-
-<p>For each node in the cluster, modify <code
class="language-plaintext
highlighter-rouge">accumulo-env.sh</code> to add Azure storage
jars to the
-classpath. Your versions may differ depending on your Hadoop version,
-following versions were included with Hadoop 3.2.0.</p>
-
-<div class="language-bash highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code><span
class="nv">CLASSPATH</span><span
class="o">=</span><span
class="s2">"</span><span
class="k">${</span><span
class="nv">conf</span><span
class="k">}</span><span
class="s2">:</span&g [...]
-<span class="nv">CLASSPATH</span><span
class="o">=</span><span
class="s2">"</span><span
class="k">${</span><span
class="nv">CLASSPATH</span><span
class="k">}</span><span
class="s2">:</span><span
class="k">${</span><span
class="nv">HADOOP_HOME</span><span
class="k">}</sp [...]
-<span class="nv">CLASSPATH</span><span
class="o">=</span><span
class="s2">"</span><span
class="k">${</span><span
class="nv">CLASSPATH</span><span
class="k">}</span><span
class="s2">:</span><span
class="k">${</span><span
class="nv">HADOOP_HOME</span><span
class="k">}</sp [...]
-<span class="nv">CLASSPATH</span><span
class="o">=</span><span
class="s2">"</span><span
class="k">${</span><span
class="nv">CLASSPATH</span><span
class="k">}</span><span
class="s2">:</span><span
class="k">${</span><span
class="nv">HADOOP_HOME</span><span
class="k">}</sp [...]
-<span class="nv">CLASSPATH</span><span
class="o">=</span><span
class="s2">"</span><span
class="k">${</span><span
class="nv">CLASSPATH</span><span
class="k">}</span><span
class="s2">:</span><span
class="k">${</span><span
class="nv">HADOOP_HOME</span><span
class="k">}</sp [...]
-<span class="nv">CLASSPATH</span><span
class="o">=</span><span
class="s2">"</span><span
class="k">${</span><span
class="nv">CLASSPATH</span><span
class="k">}</span><span
class="s2">:</span><span
class="k">${</span><span
class="nv">HADOOP_HOME</span><span
class="k">}</sp [...]
-<span class="nv">CLASSPATH</span><span
class="o">=</span><span
class="s2">"</span><span
class="k">${</span><span
class="nv">CLASSPATH</span><span
class="k">}</span><span
class="s2">:</span><span
class="k">${</span><span
class="nv">HADOOP_HOME</span><span
class="k">}</sp [...]
-<span class="nv">CLASSPATH</span><span
class="o">=</span><span
class="s2">"</span><span
class="k">${</span><span
class="nv">CLASSPATH</span><span
class="k">}</span><span
class="s2">:</span><span
class="k">${</span><span
class="nv">HADOOP_HOME</span><span
class="k">}</sp [...]
-<span class="nv">CLASSPATH</span><span
class="o">=</span><span
class="s2">"</span><span
class="k">${</span><span
class="nv">CLASSPATH</span><span
class="k">}</span><span
class="s2">:</span><span
class="k">${</span><span
class="nv">HADOOP_HOME</span><span
class="k">}</sp [...]
-<span class="nv">CLASSPATH</span><span
class="o">=</span><span
class="s2">"</span><span
class="k">${</span><span
class="nv">CLASSPATH</span><span
class="k">}</span><span
class="s2">:</span><span
class="k">${</span><span
class="nv">HADOOP_HOME</span><span
class="k">}</sp [...]
-<span class="nv">CLASSPATH</span><span
class="o">=</span><span
class="s2">"</span><span
class="k">${</span><span
class="nv">CLASSPATH</span><span
class="k">}</span><span
class="s2">:</span><span
class="k">${</span><span
class="nv">HADOOP_HOME</span><span
class="k">}</sp [...]
-<span class="nb">export </span>CLASSPATH
-</code></pre></div></div>
-
-<p>Include <code class="language-plaintext
highlighter-rouge">-Dorg.wildfly.openssl.path</code> to <code
class="language-plaintext
highlighter-rouge">JAVA_OPTS</code> in <code
class="language-plaintext
highlighter-rouge">accumulo-env.sh</code> as shown below. This
-java property is an optional performance enhancement for TLS.</p>
-
-<div class="language-bash highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code><span
class="nv">JAVA_OPTS</span><span
class="o">=(</span><span
class="s2">"</span><span
class="k">${</span><span
class="nv">ACCUMULO_JAVA_OPTS</span><span
class="p">[@]</span><span class="k" [...]
- <span class="s1">'-XX:+UseConcMarkSweepGC'</span>
- <span
class="s1">'-XX:CMSInitiatingOccupancyFraction=75'</span>
- <span class="s1">'-XX:+CMSClassUnloadingEnabled'</span>
- <span class="s1">'-XX:OnOutOfMemoryError=kill -9
%p'</span>
- <span
class="s1">'-XX:-OmitStackTraceInFastThrow'</span>
- <span
class="s1">'-Djava.net.preferIPv4Stack=true'</span>
- <span
class="s1">'-Dorg.wildfly.openssl.path=/usr/lib64'</span>
- <span
class="s2">"-Daccumulo.native.lib.path=</span><span
class="k">${</span><span
class="nv">lib</span><span
class="k">}</span><span
class="s2">/native"</span><span
class="o">)</span>
-</code></pre></div></div>
-
-<p>Set the following in <code class="language-plaintext
highlighter-rouge">accumulo.properties</code> and then run
<code class="language-plaintext highlighter-rouge">accumulo
init</code>, but don’t start Accumulo.</p>
-
-<div class="language-ini highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code><span
class="py">instance.volumes</span><span
class="p">=</span><span
class="s">hdfs://&lt;name node&gt;/accumulo</span>
-</code></pre></div></div>
-
-<p>After running Accumulo init we need to configure storing write ahead
logs in
-HDFS. Set the following in <code class="language-plaintext
highlighter-rouge">accumulo.properties</code>.</p>
-
-<div class="language-ini highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code><span
class="py">instance.volumes</span><span
class="p">=</span><span
class="s">hdfs://&lt;namenode&gt;/accumulo,abfss://&lt;file_system&gt;@&lt;storage_account_name&gt;.dfs.core.windows.net/accumulo</span>
-<span class="py">general.volume.chooser</span><span
class="p">=</span><span
class="s">org.apache.accumulo.server.fs.PreferredVolumeChooser</span>
-<span
class="py">general.custom.volume.preferred.default</span><span
class="p">=</span><span
class="s">abfss://&lt;file_system&gt;@&lt;storage_account_name&gt;.dfs.core.windows.net/accumulo</span>
-<span
class="py">general.custom.volume.preferred.logger</span><span
class="p">=</span><span
class="s">hdfs://&lt;namenode&gt;/accumulo</span>
-</code></pre></div></div>
-
-<p>Run <code class="language-plaintext
highlighter-rouge">accumulo init --add-volumes</code> to
initialize the Azure DLS Gen2 volume. Doing this
-in two steps avoids putting any Accumulo metadata files in Gen2 during init.
-Copy <code class="language-plaintext
highlighter-rouge">accumulo.properties</code> to all nodes and
start Accumulo.</p>
-
-<p>Individual tables can be configured to store their files in HDFS by
setting the
-table property <code class="language-plaintext
highlighter-rouge">table.custom.volume.preferred</code>. This
should be set for the
-metadata table in case it splits using the following Accumulo shell
command.</p>
-
-<div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code>config -t accumulo.metadata -s
table.custom.volume.preferred=hdfs://&lt;namenode&gt;/accumulo
-</code></pre></div></div>
-
-<h2 id="accumulo-example">Accumulo example</h2>
-
-<p>The following Accumulo shell session shows an example of writing data
to Gen2 and
-reading it back. It also shows scanning the metadata table to verify the data
-is stored in Gen2.</p>
-
-<div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre
class="highlight"><code>root@muchos&gt; createtable
gen2test
-root@muchos gen2test&gt; insert r1 f1 q1 v1
-root@muchos gen2test&gt; insert r1 f1 q2 v2
-root@muchos gen2test&gt; flush -w
-2019-10-16 08:01:00,564 [shell.Shell] INFO : Flush of table gen2test
completed.
-root@muchos gen2test&gt; scan
-r1 f1:q1 [] v1
-r1 f1:q2 [] v2
-root@muchos gen2test&gt; scan -t accumulo.metadata -c file
-4&lt;
file:abfss://&lt;file_system&gt;@&lt;storage_account_name&gt;.dfs.core.windows.net/accumulo/tables/4/default_tablet/F00000gj.rf
[] 234,2
-</code></pre></div></div>
-
-<p>These instructions will help to configure Accumulo to use Azure’s
Data Lake Gen2 Storage along with HDFS. With this setup,
-we are able to successfully run the continuos ingest test. Going forward,
we’ll experiment more on this space
-with ADLS Gen2 and add/update blog as we come along.</p>
-
-</description>
- <pubDate>Tue, 15 Oct 2019 00:00:00 +0000</pubDate>
-
<link>https://accumulo.apache.org/blog/2019/10/15/accumulo-adlsgen2-notes.html</link>
- <guid
isPermaLink="true">https://accumulo.apache.org/blog/2019/10/15/accumulo-adlsgen2-notes.html</guid>
-
-
<category>blog</category>
</item>
diff --git
a/output/images/blog/202206_metrics_and_tracing/Grafana_Screenshot.png
b/output/images/blog/202206_metrics_and_tracing/Grafana_Screenshot.png
new file mode 100644
index 00000000..7c1d2aa5
Binary files /dev/null and
b/output/images/blog/202206_metrics_and_tracing/Grafana_Screenshot.png differ
diff --git
a/output/images/blog/202206_metrics_and_tracing/Jaeger_Screenshot.png
b/output/images/blog/202206_metrics_and_tracing/Jaeger_Screenshot.png
new file mode 100644
index 00000000..ac51756d
Binary files /dev/null and
b/output/images/blog/202206_metrics_and_tracing/Jaeger_Screenshot.png differ
diff --git a/output/index.html b/output/index.html
index dbcb1b09..e770adaa 100644
--- a/output/index.html
+++ b/output/index.html
@@ -179,6 +179,13 @@
<p style="font-size: 24px; margin-bottom: 0px;">Latest News</p>
+ <div class="row latest-news-item">
+ <div class="col-sm-12" style="margin-bottom: 5px">
+ <span style="font-size: 12px; margin-right: 5px;">Jun 2022</span>
+ <a href="/blog/2022/06/22/2.1.0-metrics-and-tracing.html">2.1.0
Metrics and Tracing Changes</a>
+ </div>
+ </div>
+
<div class="row latest-news-item">
<div class="col-sm-12" style="margin-bottom: 5px">
<span style="font-size: 12px; margin-right: 5px;">Feb 2022</span>
@@ -207,13 +214,6 @@
</div>
</div>
- <div class="row latest-news-item">
- <div class="col-sm-12" style="margin-bottom: 5px">
- <span style="font-size: 12px; margin-right: 5px;">Dec 2020</span>
- <a href="/release/accumulo-1.10.1/">Apache Accumulo 1.10.1</a>
- </div>
- </div>
-
<div id="news-archive-link">
<p>View all posts in the <a href="/news">news archive</a></p>
</div>
diff --git a/output/news/index.html b/output/news/index.html
index 7af942e7..9a55eea5 100644
--- a/output/news/index.html
+++ b/output/news/index.html
@@ -149,6 +149,13 @@
+ <div class="row" style="margin-top: 15px">
+ <div class="col-md-1">Jun 22</div>
+ <div class="col-md-10"><a
href="/blog/2022/06/22/2.1.0-metrics-and-tracing.html">2.1.0 Metrics and
Tracing Changes</a></div>
+ </div>
+
+
+
<div class="row" style="margin-top: 15px">
<div class="col-md-1">Feb 13</div>
<div class="col-md-10"><a href="/release/accumulo-1.10.2/">Apache Accumulo
1.10.2</a></div>
diff --git a/output/search_data.json b/output/search_data.json
index 43c1dc9d..2367f81a 100644
--- a/output/search_data.json
+++ b/output/search_data.json
@@ -302,6 +302,14 @@
},
+ "blog-2022-06-22-2-1-0-metrics-and-tracing-html": {
+ "title": "2.1.0 Metrics and Tracing Changes",
+ "content" : "Metrics and Tracing changed in 2.1.0. This post
explains the new implementations and provides examples on how to configure
them.MetricsAccumulo was modified in version 1.7.0 (2015) to use the Hadoop
Metrics2 framework for capturing and emitting internal Accumulo metrics.
Micrometer, a newer metrics framework, supports sending metrics to many popular
monitoring systems. In Accumulo 2.1.0 support for the Hadoop Metrics2 framework
has been removed in favor of using Micro [...]
+ "url": " /blog/2022/06/22/2.1.0-metrics-and-tracing.html",
+ "categories": "blog"
+ }
+ ,
+
"release-accumulo-2-1-0": {
"title": "Apache Accumulo 2.1.0",
"content" : "** DRAFT RELEASE NOTES **AboutTODO high level
description of the releaseTODO summarize contributionsTODO Version Upgrade
guidanceMinimum RequirementsTODO describe requirementsBinary
IncompatibilityThis release is known to be incompatible with prior versions of
the clientlibraries. That is, the 2.0.0 or 2.0.1 version of the client
libraries will notbe able to communicate with a 2.1.0 or later installation of
Accumulo, nor willthe 2.1.0 or later version of the client li [...]