blob: bd5c7039a43204514c615bd5034092caa0823505 [file] [log] [blame]
<!DOCTYPE html>
<html lang="1.7" class="js csstransforms3d">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="Hugo 0.81.0" />
<meta name="description" content="A set of micro-services for connecting millions of devices.">
<meta name="author" content="The Eclipse Hono Project">
<link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
<title>Hono Kafka Client Configuration :: Eclipse Hono&trade; Vers.: 1.7</title>
<link href="/hono/docs/css/nucleus.css?1626138718" rel="stylesheet">
<link href="/hono/docs/css/fontawesome-all.min.css?1626138718" rel="stylesheet">
<link href="/hono/docs/css/hybrid.css?1626138718" rel="stylesheet">
<link href="/hono/docs/css/featherlight.min.css?1626138718" rel="stylesheet">
<link href="/hono/docs/css/perfect-scrollbar.min.css?1626138718" rel="stylesheet">
<link href="/hono/docs/css/auto-complete.css?1626138718" rel="stylesheet">
<link href="/hono/docs/css/atom-one-dark-reasonable.css?1626138718" rel="stylesheet">
<link href="/hono/docs/css/theme.css?1626138718" rel="stylesheet">
<link href="/hono/docs/css/hugo-theme.css?1626138718" rel="stylesheet">
<link href="/hono/docs/css/theme-hono.css?1626138718" rel="stylesheet">
<link href="/hono/docs/css/hono.css?1626138718" rel="stylesheet">
<script src="/hono/docs/js/jquery-3.3.1.min.js?1626138718"></script>
<style>
:root #header + #content > #left > #rlblock_left{
display:none !important;
}
:not(pre) > code + span.copy-to-clipboard {
display: none;
}
</style>
<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@EclipseHono">
<meta name="twitter:title" content="Hono Kafka Client Configuration :: Eclipse Hono&amp;trade; Vers.: 1.7">
<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
<meta property="og:title" content="Hono Kafka Client Configuration :: Eclipse Hono&amp;trade; Vers.: 1.7" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://www.eclipse.org/hono/docs/1.7/admin-guide/hono-kafka-client-configuration//" />
<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
</head>
<body class="" data-url="/hono/docs/1.7/admin-guide/hono-kafka-client-configuration/">
<nav id="sidebar" class="">
<div id="header-wrapper">
<div id="header">
<a href="https://www.eclipse.org/hono/">
<img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
</a>
</div>
<div class="searchbox">
<label for="search-by"><i class="fas fa-search"></i></label>
<input data-search-input id="search-by" type="search" placeholder="Search...">
<span data-search-clear=""><i class="fas fa-times"></i></span>
</div>
<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1626138718"></script>
<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1626138718"></script>
<script type="text/javascript">
var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.7";
</script>
<script type="text/javascript" src="/hono/docs/js/search.js?1626138718"></script>
</div>
<div class="highlightable">
<ul class="topics">
<li data-nav-id="/hono/docs/1.7/concepts/" title="Concepts" class="dd-item
">
<a href="/hono/docs/1.7/concepts/">
<i class="far fa-lightbulb"></i> Concepts
</a>
<ul>
<li data-nav-id="/hono/docs/1.7/concepts/device-identity/" title="Device Identity" class="dd-item ">
<a href="/hono/docs/1.7/concepts/device-identity/">
Device Identity
</a>
</li>
<li data-nav-id="/hono/docs/1.7/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
<a href="/hono/docs/1.7/concepts/tenancy/">
Multi-Tenancy
</a>
</li>
<li data-nav-id="/hono/docs/1.7/concepts/device-provisioning/" title="Device Provisioning" class="dd-item ">
<a href="/hono/docs/1.7/concepts/device-provisioning/">
Device Provisioning
</a>
</li>
<li data-nav-id="/hono/docs/1.7/concepts/connecting-devices/" title="Connecting Devices" class="dd-item ">
<a href="/hono/docs/1.7/concepts/connecting-devices/">
Connecting Devices
</a>
</li>
<li data-nav-id="/hono/docs/1.7/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
<a href="/hono/docs/1.7/concepts/device-notifications/">
Device Notifications
</a>
</li>
<li data-nav-id="/hono/docs/1.7/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
<a href="/hono/docs/1.7/concepts/command-and-control/">
Command &amp; Control
</a>
</li>
<li data-nav-id="/hono/docs/1.7/concepts/resource-limits/" title="Resource limits" class="dd-item ">
<a href="/hono/docs/1.7/concepts/resource-limits/">
Resource limits
</a>
</li>
<li data-nav-id="/hono/docs/1.7/concepts/connection-events/" title="Connection Events" class="dd-item ">
<a href="/hono/docs/1.7/concepts/connection-events/">
Connection Events
</a>
</li>
</ul>
</li>
<li data-nav-id="/hono/docs/1.7/user-guide/" title="User Guide" class="dd-item
">
<a href="/hono/docs/1.7/user-guide/">
<i class="fas fa-book-reader"></i> User Guide
</a>
<ul>
<li data-nav-id="/hono/docs/1.7/user-guide/mongodb-based-device-registry/" title="MongoDB Based Device Registry" class="dd-item ">
<a href="/hono/docs/1.7/user-guide/mongodb-based-device-registry/">
MongoDB Based Device Registry
</a>
</li>
<li data-nav-id="/hono/docs/1.7/user-guide/jdbc-based-device-registry/" title="JDBC Based Device Registry" class="dd-item ">
<a href="/hono/docs/1.7/user-guide/jdbc-based-device-registry/">
JDBC Based Device Registry
</a>
</li>
<li data-nav-id="/hono/docs/1.7/user-guide/file-based-device-registry/" title="File Based Device Registry" class="dd-item ">
<a href="/hono/docs/1.7/user-guide/file-based-device-registry/">
File Based Device Registry
</a>
</li>
<li data-nav-id="/hono/docs/1.7/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
<a href="/hono/docs/1.7/user-guide/http-adapter/">
HTTP Adapter
</a>
</li>
<li data-nav-id="/hono/docs/1.7/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
<a href="/hono/docs/1.7/user-guide/mqtt-adapter/">
MQTT Adapter
</a>
</li>
<li data-nav-id="/hono/docs/1.7/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
<a href="/hono/docs/1.7/user-guide/amqp-adapter/">
AMQP Adapter
</a>
</li>
<li data-nav-id="/hono/docs/1.7/user-guide/coap-adapter/" title="CoAP Adapter" class="dd-item ">
<a href="/hono/docs/1.7/user-guide/coap-adapter/">
CoAP Adapter
</a>
</li>
<li data-nav-id="/hono/docs/1.7/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
<a href="/hono/docs/1.7/user-guide/kura-adapter/">
Kura Adapter
</a>
</li>
<li data-nav-id="/hono/docs/1.7/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
<a href="/hono/docs/1.7/user-guide/sigfox-adapter/">
Sigfox Adapter
</a>
</li>
</ul>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/" title="Admin Guide" class="dd-item
parent
">
<a href="/hono/docs/1.7/admin-guide/">
<i class="fas fa-sliders-h"></i> Admin Guide
</a>
<ul>
<li data-nav-id="/hono/docs/1.7/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/common-config/">
Common Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/auth-server-config/">
Auth Server Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/mongodb-device-registry-config/" title="MongoDB Based Device Registry Configuration" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/mongodb-device-registry-config/">
MongoDB Based Device Registry Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/jdbc-device-registry-config/" title="JDBC Based Device Registry Configuration" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/jdbc-device-registry-config/">
JDBC Based Device Registry Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/file-based-device-registry-config/" title="File Based Device Registry Configuration" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/file-based-device-registry-config/">
File Based Device Registry Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/command-router-config/" title="Configuring the Command Router Service" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/command-router-config/">
Command Router Service Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/device-connection-config/" title="Configuring the Device Connection Service" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/device-connection-config/">
Device Connection Service Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/http-adapter-config/">
HTTP Adapter Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/mqtt-adapter-config/">
MQTT Adapter Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/amqp-adapter-config/">
AMQP Adapter Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/coap-adapter-config/" title="CoAP Adapter Configuration" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/coap-adapter-config/">
CoAP Adapter Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/kura-adapter-config/">
Kura Adapter Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/hono-client-configuration/">
Hono Client Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/hono-kafka-client-configuration/" title="Hono Kafka Client Configuration" class="dd-item active">
<a href="/hono/docs/1.7/admin-guide/hono-kafka-client-configuration/">
Hono Kafka Client Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/amqp-network-config/">
AMQP 1.0 Messaging Network Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/secure_communication/">
Secure Communication
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/monitoring-tracing-config/">
Monitoring &amp; Tracing
</a>
</li>
</ul>
</li>
<li data-nav-id="/hono/docs/1.7/dev-guide/" title="Developer Guide" class="dd-item
">
<a href="/hono/docs/1.7/dev-guide/">
<i class="fas fa-tools"></i> Developer Guide
</a>
<ul>
<li data-nav-id="/hono/docs/1.7/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
<a href="/hono/docs/1.7/dev-guide/building_hono/">
Building from Source
</a>
</li>
<li data-nav-id="/hono/docs/1.7/dev-guide/amqp_adapter_client/" title="AMQP Adapter Client for Java" class="dd-item ">
<a href="/hono/docs/1.7/dev-guide/amqp_adapter_client/">
AMQP Adapter Client for Java
</a>
</li>
<li data-nav-id="/hono/docs/1.7/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
<a href="/hono/docs/1.7/dev-guide/java_client_consumer/">
Consuming Messages from Java
</a>
</li>
<li data-nav-id="/hono/docs/1.7/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
<a href="/hono/docs/1.7/dev-guide/custom_http_adapter/">
Implement a Custom Hono HTTP Protocol Adapter
</a>
</li>
</ul>
</li>
<li data-nav-id="/hono/docs/1.7/api/" title="API" class="dd-item
">
<a href="/hono/docs/1.7/api/">
&nbsp;<i class='fas fa-plug'></i>&nbsp;API
</a>
<ul>
<li data-nav-id="/hono/docs/1.7/api/telemetry/" title="Telemetry API Specification" class="dd-item ">
<a href="/hono/docs/1.7/api/telemetry/">
Telemetry API
</a>
</li>
<li data-nav-id="/hono/docs/1.7/api/event/" title="Event API Specification" class="dd-item ">
<a href="/hono/docs/1.7/api/event/">
Event API
</a>
</li>
<li data-nav-id="/hono/docs/1.7/api/command-and-control/" title="Command &amp; Control API Specification" class="dd-item ">
<a href="/hono/docs/1.7/api/command-and-control/">
Command &amp; Control API
</a>
</li>
<li data-nav-id="/hono/docs/1.7/api/kafka-api/" title="Kafka-based APIs" class="dd-item ">
<a href="/hono/docs/1.7/api/kafka-api/">
Kafka-based APIs
</a>
</li>
<li data-nav-id="/hono/docs/1.7/api/telemetry-kafka/" title="Telemetry API for Kafka Specification" class="dd-item ">
<a href="/hono/docs/1.7/api/telemetry-kafka/">
Telemetry API for Kafka
</a>
</li>
<li data-nav-id="/hono/docs/1.7/api/event-kafka/" title="Event API for Kafka Specification" class="dd-item ">
<a href="/hono/docs/1.7/api/event-kafka/">
Event API for Kafka
</a>
</li>
<li data-nav-id="/hono/docs/1.7/api/command-and-control-kafka/" title="Command &amp; Control API for Kafka Specification" class="dd-item ">
<a href="/hono/docs/1.7/api/command-and-control-kafka/">
Command &amp; Control API for Kafka
</a>
</li>
<li data-nav-id="/hono/docs/1.7/api/tenant/" title="Tenant API Specification" class="dd-item ">
<a href="/hono/docs/1.7/api/tenant/">
Tenant API
</a>
</li>
<li data-nav-id="/hono/docs/1.7/api/command-router/" title="Command Router API Specification" class="dd-item ">
<a href="/hono/docs/1.7/api/command-router/">
Command Router API
</a>
</li>
<li data-nav-id="/hono/docs/1.7/api/device-connection/" title="Device Connection API Specification" class="dd-item ">
<a href="/hono/docs/1.7/api/device-connection/">
Device Connection API
</a>
</li>
<li data-nav-id="/hono/docs/1.7/api/device-registration/" title="Device Registration API Specification" class="dd-item ">
<a href="/hono/docs/1.7/api/device-registration/">
Device Registration API
</a>
</li>
<li data-nav-id="/hono/docs/1.7/api/credentials/" title="Credentials API Specification" class="dd-item ">
<a href="/hono/docs/1.7/api/credentials/">
Credentials API
</a>
</li>
<li data-nav-id="/hono/docs/1.7/api/authentication/" title="Authentication API Specification" class="dd-item ">
<a href="/hono/docs/1.7/api/authentication/">
Authentication API
</a>
</li>
<li data-nav-id="/hono/docs/1.7/api/management/" title="Device Registry Management API Specification" class="dd-item ">
<a href="/hono/docs/1.7/api/management/">
Device Registry Management API
</a>
</li>
<li data-nav-id="/hono/docs/1.7/api/metrics/" title="Metrics" class="dd-item ">
<a href="/hono/docs/1.7/api/metrics/">
Metrics
</a>
</li>
</ul>
</li>
<li data-nav-id="/hono/docs/1.7/deployment/" title="Deployment" class="dd-item
">
<a href="/hono/docs/1.7/deployment/">
<i class="fas fa-shipping-fast"></i> Deployment
</a>
<ul>
<li data-nav-id="/hono/docs/1.7/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
<a href="/hono/docs/1.7/deployment/helm-based-deployment/">
Helm based Deployment
</a>
</li>
<li data-nav-id="/hono/docs/1.7/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
<a href="/hono/docs/1.7/deployment/openshift/">
OpenShift / OKD
</a>
</li>
<li data-nav-id="/hono/docs/1.7/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
<a href="/hono/docs/1.7/deployment/create-kubernetes-cluster/">
Setting up a Kubernetes Cluster
</a>
</li>
<li data-nav-id="/hono/docs/1.7/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
<a href="/hono/docs/1.7/deployment/resource-limitation/">
Limiting Resource Usage
</a>
</li>
</ul>
</li>
<li data-nav-id="/hono/docs/1.7/architecture/" title="Architecture" class="dd-item
">
<a href="/hono/docs/1.7/architecture/">
<i class="fas fa-landmark"></i> Architecture
</a>
<ul>
<li data-nav-id="/hono/docs/1.7/architecture/component-view/" title="Component View" class="dd-item ">
<a href="/hono/docs/1.7/architecture/component-view/">
Component View
</a>
</li>
<li data-nav-id="/hono/docs/1.7/architecture/auth/" title="Authentication/Authorization" class="dd-item ">
<a href="/hono/docs/1.7/architecture/auth/">
Authentication/Authorization
</a>
</li>
</ul>
</li>
</ul>
<section id="shortcuts">
<h3></h3>
<ul>
<li>
<a class="padding" href="https://www.eclipse.org/hono/" title="Hono&#39;s Homepage"><i class='fas fa-home'></i> Hono Home</a>
</li>
<li>
<a class="padding" href="https://www.eclipse.org/hono/getting-started/" title="Getting started with Eclipse Hono"><i class='fas fa-plane-departure'></i> Getting Started</a>
</li>
</ul>
</section>
<section id="prefooter">
<hr/>
<ul>
<li>
<div id="select-box-wrapper">
<div id="select-box">
<a class="padding">
Version:&nbsp;
<div class="select-style">
<select id="select-language" onchange="location = this.value;">
<option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/hono-kafka-client-configuration/">stable (1.8)</option>
<option id="1.8" value="https://www.eclipse.org/hono/docs/1.8/admin-guide/hono-kafka-client-configuration/">1.8</option>
<option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/admin-guide/hono-kafka-client-configuration/" selected>1.7</option>
<option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/admin-guide/hono-kafka-client-configuration/">1.6</option>
<option id="dev" value="https://www.eclipse.org/hono/docs/dev/admin-guide/hono-kafka-client-configuration/">dev</option>
</select>
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
<g>
<g id="arrow-drop-down">
<polygon points="0,63.75 127.5,191.25 255,63.75 " />
</g>
</g>
</svg>
</div>
</a>
</div>
</div>
</li>
</ul>
</section>
<section id="footer">
<p>&copy; 2021 <a href="https://www.eclipse.org/hono/">The Eclipse Hono Project</a></p>
<p>
Documentation built with
<a href="https://gohugo.io/" target="_blank">Hugo</a>
using the
<a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
</p>
<div class="eclipse-logo">
<a href="https://www.eclipse.org" target="_blank">
<img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
</a>
</div>
</section>
</div>
</nav>
<section id="body">
<div id="overlay"></div>
<div class="old-version-hint">
<p>This page refers to version <em>1.7</em>.
You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
</p>
</div>
<div class="padding highlightable">
<div>
<div id="top-bar">
<div id="top-github-link">
<a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/admin-guide/hono-kafka-client-configuration.md" target="blank">
<i class="fas fa-code-branch"></i>
<span id="top-github-link-text">Edit this page</span>
</a>
</div>
<div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
<span id="sidebar-toggle-span">
<a href="#" id="sidebar-toggle" data-sidebar-toggle="">
<i class="fas fa-bars"></i>
</a>
</span>
<span id="toc-menu"><i class="fas fa-list-alt"></i></span>
<span class="links">
<a href='/hono/docs/1.7/'>Documentation</a> > <a href='/hono/docs/1.7/admin-guide/'>Admin Guide</a> > Hono Kafka Client Configuration
</span>
</div>
<div class="progress">
<div class="wrapper">
<nav id="TableOfContents">
<ul>
<li><a href="#configure-for-kafka-based-messaging">Configure for Kafka based Messaging</a></li>
<li><a href="#producer-configuration-properties">Producer Configuration Properties</a>
<ul>
<li><a href="#using-tls">Using TLS</a></li>
</ul>
</li>
<li><a href="#consumer-configuration-properties">Consumer Configuration Properties</a>
<ul>
<li><a href="#using-tls-1">Using TLS</a></li>
</ul>
</li>
<li><a href="#admin-client-configuration-properties">Admin Client Configuration Properties</a>
<ul>
<li><a href="#using-tls-2">Using TLS</a></li>
</ul>
</li>
<li><a href="#common-configuration-properties">Common Configuration Properties</a></li>
</ul>
</nav>
</div>
</div>
</div>
</div>
<div id="head-tags">
</div>
<div id="body-inner">
<h1>
Hono Kafka Client Configuration
</h1>
<p>Protocol adapters can be configured to use Kafka for the messaging. The Kafka client used there can be configured with
environment variables and/or command line options.</p>
<div class="alert alert-notice">
<h4 class="alert-heading"><i class="fas fa-info-circle"></i> Tech preview</h4>
<div>The support of Kafka as a messaging system is currently a preview and not yet ready for production.
The implementation as well as it&rsquo;s APIs may change with the next version.</div>
</div>
<h2 id="configure-for-kafka-based-messaging">Configure for Kafka based Messaging</h2>
<p>The selection of whether to use AMQP or Kafka for the messaging can be configured on the tenant. This requires that
protocol adapters must have the configurations for both messaging networks.
To configure a tenant to use Kafka, the <a href="/hono/docs/1.7/api/tenant/#tenant-information-format">tenant configuration</a>
must contain a field <code>ext</code>, which contains a field with the key <code>messaging-type</code> and the value <code>kafka</code>
(to use AMQP, the value must be <code>amqp</code>).
The following example shows a tenant that is configured to use Kafka for messaging:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-json" data-lang="json">{
<span style="color:#f92672">&#34;tenant-id&#34;</span>: <span style="color:#e6db74">&#34;TEST_TENANT&#34;</span>,
<span style="color:#f92672">&#34;enabled&#34;</span>: <span style="color:#66d9ef">true</span>,
<span style="color:#f92672">&#34;ext&#34;</span>: {
<span style="color:#f92672">&#34;messaging-type&#34;</span>: <span style="color:#e6db74">&#34;kafka&#34;</span>
}
}
</code></pre></div><p>If the configuration of a protocol adapter contains only the connection to one messaging system, this will be used.
<strong>NB</strong>: If only one messaging network is configured at protocol adapters, make sure that tenants are not configured to use another.</p>
<h2 id="producer-configuration-properties">Producer Configuration Properties</h2>
<p>The <code>org.eclipse.hono.client.kafka.CachingKafkaProducerFactory</code> factory can be used to create Kafka producers for Hono&rsquo;s Kafka based APIs.
The producers created by the factory are configured with instances of the class <code>org.eclipse.hono.client.kafka.KafkaProducerConfigProperties</code>
which can be used to programmatically configure a producer.</p>
<p>The configuration needs to be provided in the form <code>HONO_KAFKA_PRODUCERCONFIG_${PROPERTY}</code> as an environment variable or
as a command line option in the form <code>hono.kafka.producerConfig.${property}</code>, where <code>${PROPERTY}</code> respectively
<code>${property}</code> is any of the Kafka client&rsquo;s <a href="https://kafka.apache.org/documentation/#producerconfigs">producer properties</a>.
The provided configuration is passed directly to the Kafka producer without Hono parsing or validating it.</p>
<p>The following properties can <em>not</em> be set using this mechanism because the protocol adapters use fixed values instead
in order to implement the message delivery semantics defined by Hono&rsquo;s Telemetry and Event APIs.</p>
<table>
<thead>
<tr>
<th style="text-align:left">Kafka Producer Config Property</th>
<th style="text-align:left">Fixed Value</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left"><code>key.serializer</code></td>
<td style="text-align:left"><code>org.apache.kafka.common.serialization.StringSerializer</code></td>
</tr>
<tr>
<td style="text-align:left"><code>value.serializer</code></td>
<td style="text-align:left"><code>io.vertx.kafka.client.serialization.BufferSerializer</code></td>
</tr>
<tr>
<td style="text-align:left"><code>enable.idempotence</code></td>
<td style="text-align:left"><code>true</code></td>
</tr>
</tbody>
</table>
<div class="alert alert-notice">
<h4 class="alert-heading"><i class="fas fa-info-circle"></i> Enable Kafka based Messaging</h4>
<div>The Kafka client requires the property <code>bootstrap.servers</code> to be provided. This variable is the minimal configuration
required to enable Kafka based messaging.</div>
</div>
<h3 id="using-tls">Using TLS</h3>
<p>The factory can be configured to use TLS for</p>
<ul>
<li>authenticating the brokers in the Kafka cluster during connection establishment and</li>
<li>(optionally) authenticating to the broker using a client certificate</li>
</ul>
<p>To use this, a Kafka Producer configuration as described in
<a href="https://kafka.apache.org/documentation/#security_configclients">Kafka documentation - section &ldquo;Security&rdquo;</a> needs to be provided.
The properties must be prefixed with <code>HONO_KAFKA_PRODUCERCONFIG_</code> and <code>hono.kafka.producerConfig.</code> respectively as shown in
<a href="#producer-configuration-properties">Producer Configuration Properties</a>.
The complete reference of available properties and the possible values is available in
<a href="https://kafka.apache.org/documentation/#producerconfigs">Kafka documentation - section &ldquo;Producer Configs&rdquo;</a>.</p>
<h2 id="consumer-configuration-properties">Consumer Configuration Properties</h2>
<p>Consumers for Hono&rsquo;s Kafka based APIs are configured with instances of the class <code>org.eclipse.hono.client.kafka.consumer.KafkaConsumerConfigProperties</code>
which can be used to programmatically configure a consumer.</p>
<p>The configuration needs to be provided in the form <code>HONO_KAFKA_CONSUMERCONFIG_${PROPERTY}</code> as an environment variable or
as a command line option in the form <code>hono.kafka.consumerConfig.${property}</code>, where <code>${PROPERTY}</code> respectively
<code>${property}</code> is any of the Kafka client&rsquo;s <a href="https://kafka.apache.org/documentation/#consumerconfigs">consumer properties</a>.
The provided configuration is passed directly to the Kafka consumer without Hono parsing or validating it.</p>
<p>The following properties can <em>not</em> be set using this mechanism because the protocol adapters use fixed values instead.</p>
<table>
<thead>
<tr>
<th style="text-align:left">Kafka Consumer Config Property</th>
<th style="text-align:left">Fixed Value</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left"><code>key.deserializer</code></td>
<td style="text-align:left"><code>org.apache.kafka.common.serialization.StringDeserializer</code></td>
</tr>
<tr>
<td style="text-align:left"><code>value.deserializer</code></td>
<td style="text-align:left"><code>io.vertx.kafka.client.serialization.BufferDeserializer</code></td>
</tr>
</tbody>
</table>
<div class="alert alert-notice">
<h4 class="alert-heading"><i class="fas fa-info-circle"></i> Enable Kafka based Messaging</h4>
<div>The Kafka client requires the property <code>bootstrap.servers</code> to be provided. This variable is the minimal configuration
required to enable Kafka based messaging.</div>
</div>
<h3 id="using-tls-1">Using TLS</h3>
<p>The factory can be configured to use TLS for</p>
<ul>
<li>authenticating the brokers in the Kafka cluster during connection establishment and</li>
<li>(optionally) authenticating to the broker using a client certificate</li>
</ul>
<p>To use this, a Kafka Consumer configuration as described in
<a href="https://kafka.apache.org/documentation/#security_configclients">Kafka documentation - section &ldquo;Security&rdquo;</a> needs to be provided.
The properties must be prefixed with <code>HONO_KAFKA_CONSUMERCONFIG_</code> and <code>hono.kafka.consumerConfig.</code> respectively as shown in
<a href="#consumer-configuration-properties">Consumer Configuration Properties</a>.
The complete reference of available properties and the possible values is available in
<a href="https://kafka.apache.org/documentation/#consumerconfigs">Kafka documentation - section &ldquo;Consumer Configs&rdquo;</a>.</p>
<h2 id="admin-client-configuration-properties">Admin Client Configuration Properties</h2>
<p>Admin clients for Hono&rsquo;s Kafka based APIs are configured with instances of the class <code>org.eclipse.hono.client.kafka.KafkaAdminClientConfigProperties</code>
which can be used to programmatically configure an admin client.</p>
<p>The configuration needs to be provided in the form <code>HONO_KAFKA_ADMINCLIENTCONFIG_${PROPERTY}</code> as an environment variable or
as a command line option in the form <code>hono.kafka.adminClientConfig.${property}</code>, where <code>${PROPERTY}</code> respectively
<code>${property}</code> is any of the Kafka client&rsquo;s <a href="https://kafka.apache.org/documentation/#adminclientconfigs">admin client properties</a>.
The provided configuration is passed directly to the Kafka admin client without Hono parsing or validating it.</p>
<div class="alert alert-notice">
<h4 class="alert-heading"><i class="fas fa-info-circle"></i> Enable Kafka based Messaging</h4>
<div>The Kafka client requires the property <code>bootstrap.servers</code> to be provided. This variable is the minimal configuration
required to enable Kafka based messaging.</div>
</div>
<h3 id="using-tls-2">Using TLS</h3>
<p>The factory can be configured to use TLS for</p>
<ul>
<li>authenticating the brokers in the Kafka cluster during connection establishment and</li>
<li>(optionally) authenticating to the broker using a client certificate</li>
</ul>
<p>To use this, a Kafka admin client configuration as described in
<a href="https://kafka.apache.org/documentation/#security_configclients">Kafka documentation - section &ldquo;Security&rdquo;</a> needs to be provided.
The properties must be prefixed with <code>HONO_KAFKA_ADMINCLIENTCONFIG_</code> and <code>hono.kafka.adminClientConfig.</code> respectively as shown in
<a href="#admin-client-configuration-properties">Admin Client Configuration Properties</a>.
The complete reference of available properties and the possible values is available in
<a href="https://kafka.apache.org/documentation/#adminclientconfigs">Kafka documentation - section &ldquo;Admin Configs&rdquo;</a>.</p>
<h2 id="common-configuration-properties">Common Configuration Properties</h2>
<p>Configuration properties that are common to all the client types described above can be put in a common configuration section.
This will avoid having to define duplicate configuration properties for the different client types.</p>
<p>Relevant properties are <code>bootstrap.servers</code> and the properties related to the TLS configuration (see chapters above).</p>
<p>The properties must be prefixed with <code>HONO_KAFKA_COMMONCLIENTCONFIG_</code> and <code>hono.kafka.commonClientConfig.</code> respectively.</p>
<p>A property with the same name defined in the configuration of one of the specific client types above will have precedence
over the common property.</p>
<footer class="footline">
</footer>
</div>
</div>
<div id="navigation">
</div>
</section>
<div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
<div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
</div>
<script src="/hono/docs/js/clipboard.min.js?1626138719"></script>
<script src="/hono/docs/js/perfect-scrollbar.min.js?1626138719"></script>
<script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1626138719"></script>
<script src="/hono/docs/js/jquery.sticky.js?1626138719"></script>
<script src="/hono/docs/js/featherlight.min.js?1626138719"></script>
<script src="/hono/docs/js/highlight.pack.js?1626138719"></script>
<script>hljs.initHighlightingOnLoad();</script>
<script src="/hono/docs/js/modernizr.custom-3.6.0.js?1626138719"></script>
<script src="/hono/docs/js/learn.js?1626138719"></script>
<script src="/hono/docs/js/hugo-learn.js?1626138719"></script>
<link href="/hono/docs/mermaid/mermaid.css?1626138719" rel="stylesheet" />
<script src="/hono/docs/mermaid/mermaid.js?1626138719"></script>
<script>
mermaid.initialize({ startOnLoad: true });
</script>
<script>
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-5WLCZXC');
</script>
<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
</body>
</html>