{"id":2650,"date":"2026-01-17T16:40:50","date_gmt":"2026-01-17T15:40:50","guid":{"rendered":"https:\/\/yellotab.se\/x056\/?p=2650"},"modified":"2026-01-18T13:15:35","modified_gmt":"2026-01-18T12:15:35","slug":"kafka","status":"publish","type":"post","link":"https:\/\/yellotab.se\/x056\/2026\/01\/17\/kafka\/","title":{"rendered":"Kafka"},"content":{"rendered":"\n<p>Det enklaste s\u00e4ttet att s\u00e4tta upp ett Kafka-kluster i Proxmox \u00e5r 2026 \u00e4r att anv\u00e4nda en kombination av&nbsp;<\/p>\n\n\n\n<p><strong>LXC-containrar<\/strong>&nbsp;(f\u00f6r resurseffektivitet) och&nbsp;<strong>Docker Compose<\/strong>. Genom att anv\u00e4nda moderna Kafka-versioner med&nbsp;<strong>KRaft<\/strong>&nbsp;(Kafka Raft) slipper du dessutom hantera den extra komplexiteten med ZooKeeper.&nbsp;<\/p>\n\n\n\n<p>H\u00e4r \u00e4r en steg-f\u00f6r-steg-guide f\u00f6r den smidigaste installationen:<\/p>\n\n\n\n<p>1. Skapa en Docker-milj\u00f6 (LXC)<\/p>\n\n\n\n<p>Det snabbaste s\u00e4ttet att f\u00e5 en stabil Docker-v\u00e4rd i Proxmox \u00e4r att anv\u00e4nda f\u00e4rdiga scripts:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Anv\u00e4nd\u00a0<a href=\"https:\/\/community-scripts.github.io\/ProxmoxVE\/\" target=\"_blank\" rel=\"noreferrer noopener\">Proxmox VE Helper-Scripts<\/a>\u00a0f\u00f6r att skapa en\u00a0<strong>Docker LXC<\/strong>.<\/li>\n\n\n\n<li>K\u00f6r f\u00f6ljande kommando i din Proxmox-shell (huvudnoden):bash<code class=\"\" data-line=\"\">bash -c &quot;$(curl -fsSL https:\/\/raw.githubusercontent.com)&quot; <\/code>Anv\u00e4nd koden med f\u00f6rsiktighet.<em>V\u00e4lj standardinst\u00e4llningar och aktivera &#8221;Docker Compose&#8221; under installationen.<\/em>\u00a0<\/li>\n<\/ul>\n\n\n\n<p>2. Konfigurera Kafka-kluster med KRaft<\/p>\n\n\n\n<p>N\u00e4r din LXC \u00e4r klar, logga in i den och skapa en&nbsp;<code class=\"\" data-line=\"\">docker-compose.yml<\/code>. KRaft-l\u00e4get g\u00f6r att Kafka-noder sj\u00e4lva hanterar metadata utan ZooKeeper.&nbsp;<\/p>\n\n\n\n<p>Exempel p\u00e5 en minimal konfiguration f\u00f6r ett kluster med 3 noder:<\/p>\n\n\n\n<p>yaml<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\" data-line=\"\">services:\n  kafka1:\n    image: confluentinc\/cp-kafka:latest\n    environment:\n      KAFKA_NODE_ID: 1\n      KAFKA_PROCESS_ROLES: &#039;broker,controller&#039;\n      KAFKA_CONTROLLER_QUORUM_VOTERS: &#039;1@kafka1:9093,2@kafka2:9093,3@kafka3:9093&#039;\n      KAFKA_LISTENERS: &#039;PLAINTEXT:\/\/0.0.0.0:9092,CONTROLLER:\/\/0.0.0.0:9093&#039;\n      KAFKA_INTER_BROKER_LISTENER_NAME: &#039;PLAINTEXT&#039;\n      KAFKA_CONTROLLER_LISTENER_NAMES: &#039;CONTROLLER&#039;\n  &lt;em&gt;# Repetera f\u00f6r kafka2 och kafka3 med unika ID:n&lt;\/em&gt;\n<\/code><\/pre>\n\n\n\n<p>Anv\u00e4nd koden med f\u00f6rsiktighet.<\/p>\n\n\n\n<p>3. Starta klustret<\/p>\n\n\n\n<p>K\u00f6r kommandot i din LXC:<\/p>\n\n\n\n<p>bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\" data-line=\"\">docker compose up -d\n<\/code><\/pre>\n\n\n\n<p>Anv\u00e4nd koden med f\u00f6rsiktighet.<\/p>\n\n\n\n<p>Varf\u00f6r detta \u00e4r det enklaste s\u00e4ttet 2026:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Ingen ZooKeeper:<\/strong>\u00a0KRaft f\u00f6renklar arkitekturen avsev\u00e4rt genom att konsolidera roller.<\/li>\n\n\n\n<li><strong>L\u00e5g overhead:<\/strong>\u00a0Att k\u00f6ra Docker inuti en LXC i Proxmox drar minimalt med RAM j\u00e4mf\u00f6rt med fullstora virtuella maskiner (VM).<\/li>\n\n\n\n<li><strong>Snabb \u00e5terst\u00e4llning:<\/strong>\u00a0Du kan enkelt anv\u00e4nda Proxmox inbyggda\u00a0<strong>snapshots<\/strong>\u00a0eller\u00a0<strong>ZFS-replikering<\/strong>\u00a0f\u00f6r att ta backup p\u00e5 hela din Kafka-instans.\u00a0<\/li>\n<\/ul>\n\n\n\n<p><strong>Tips:<\/strong>&nbsp;Om du vill ha ett grafiskt gr\u00e4nssnitt f\u00f6r att hantera klustret rekommenderas verktyget&nbsp;<strong>Kafdrop<\/strong>, som ocks\u00e5 kan l\u00e4ggas till enkelt som en container i din Docker-milj\u00f6.&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Det enklaste s\u00e4ttet att s\u00e4tta upp ett Kafka-kluster i Proxmox \u00e5r 2026 \u00e4r att anv\u00e4nda en kombination av&nbsp; LXC-containrar&nbsp;(f\u00f6r resurseffektivitet) och&nbsp;Docker Compose. Genom att anv\u00e4nda moderna Kafka-versioner med&nbsp;KRaft&nbsp;(Kafka Raft) slipper du dessutom hantera den extra komplexiteten med ZooKeeper.&nbsp; H\u00e4r \u00e4r en steg-f\u00f6r-steg-guide f\u00f6r den smidigaste installationen: 1. Skapa en Docker-milj\u00f6 (LXC) Det snabbaste s\u00e4ttet att [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[261,259],"class_list":["post-2650","post","type-post","status-publish","format-standard","hentry","category-news","tag-meddelande-hantering","tag-mqqt"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/yellotab.se\/x056\/wp-json\/wp\/v2\/posts\/2650","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/yellotab.se\/x056\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/yellotab.se\/x056\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/yellotab.se\/x056\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/yellotab.se\/x056\/wp-json\/wp\/v2\/comments?post=2650"}],"version-history":[{"count":1,"href":"https:\/\/yellotab.se\/x056\/wp-json\/wp\/v2\/posts\/2650\/revisions"}],"predecessor-version":[{"id":2651,"href":"https:\/\/yellotab.se\/x056\/wp-json\/wp\/v2\/posts\/2650\/revisions\/2651"}],"wp:attachment":[{"href":"https:\/\/yellotab.se\/x056\/wp-json\/wp\/v2\/media?parent=2650"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yellotab.se\/x056\/wp-json\/wp\/v2\/categories?post=2650"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yellotab.se\/x056\/wp-json\/wp\/v2\/tags?post=2650"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}