پرش به محتوا
نوین هاست
  • سرور مجازی
  • درباره ما
  • تماس با ما
  • بازارچه
  • دانشنامه
نوین هاست
  • سرور مجازی
    • برگشت
    • سرور مجازی ایران
      • برگشت
      • سرور مجازی برج میلاد
      • سرور مجازی زیرساخت
    • سرور مجازی اروپا
      • برگشت
      • سرور مجازی المان
      • سرور مجازی انگلیس
      • سرور مجازی فرانسه
      • سرور مجازی اتریش
      • سرور مجازی هلند
      • سرور مجازی بلغارستان
      • سرور مجازی مجارستان
      • سرور مجازی دانمارک
      • سرور مجازی سوئد
      • سرور مجازی جزیره من
      • سرور مجازی جمهوری چک
      • سرور مجازی ایتالیا
      • سرور مجازی فنلاند
      • سرور مجازی یونان
      • سرور مجازی سوئیس
      • سرور مجازی ایسلند
      • سرور مجازی کرواسی
      • سرور مجازی اسپانیا
    • سرور مجازی آسیا
      • برگشت
      • سرور مجازی ترکیه
      • سرور مجازی سنگاپور
      • سرور مجازی مالزی
      • سرور مجازی شیلی
      • سرور مجازی هنگ کنگ
      • سرور مجازی امارات
      • سرور مجازی ژاپن
      • سرور مجازی روسیه
    • سرور مجازی آمریکا
      • برگشت
      • سرور مجازی امریکا
      • سرور مجازی کانادا
    • سایر VPS ها
      • برگشت
      • سرور مجازی استرالیا
      • سرور مجازی رایگان
      • سرور مجازی اقتصادی
      • سرور مجازی ترید و بایننس
      • سرور مجازی با کارت گرافیک
      • سرور مجازی نیجریه
      • سرور مجازی بورس
      • سرور مجازی کلاس آنلاین
      • سرور مجازی کاهش پینگ
      • سرور مجازی والتر
      • سرور مجازی فارکس
      • سرور مجازی میکروتیک
      • سرور مجازی NVME
  • سرور اختصاصی
    • برگشت
    • سرور اختصاصی ایران
      • برگشت
      • سرور اختصاصی برج میلاد
      • سرور اختصاصی زیرساخت
    • سرور اختصاصی اروپا
      • برگشت
      • سرور اختصاصی آلمان
      • سرور اختصاصی ترکیه
      • سرور اختصاصی فنلاند
      • سرور اختصاصی هلند
      • سرور اختصاصی انگلیس
      • سرور اختصاصی فرانسه
    • سرور اختصاصی آمریکا
      • برگشت
      • سرور اختصاصی آمریکا
      • سرور اختصاصی کانادا
    • کولوکیشن
      • برگشت
      • آسیاتک
      • زیرساخت
  • هاست
    • برگشت
    • هاست دانلود
    • هاست نامحدود
    • هاست وردپرس
    • هاست ویندوز ایران
  • نوین پلاس +
  • پنل کاربری ارتباط با ما
  • سرور مجازی
  • سرور مجازی ایرانسرور مجازی حرفه ای از ایران
  • سرور مجازی اروپاپایداری و کیفیت ، سرعت بالا
  • سرور مجازی آسیاوب سرور لایت اسپید و امنیت و سرعت بالا
  • سایر VPS هابهینه برای فروشگاه های وردپرسی
  • سرور مجازی زیرساخت
    • سرور مجازی برج میلاد
  • سرور مجازی المان
    • سرور مجازی فرانسه
    • سرور مجازی سوئد
    • سرور مجازی اتریش
    • سرور مجازی اسپانیا
    • سرور مجازی انگلیس
    • سرور مجازی ایتالیا
    • سرور مجازی ایسلند
    • سرور مجازی بلغارستان
    • سرور مجازی سوئیس
    • سرور مجازی جزیره من
    • سرور مجازی جمهوری چک
    • سرور مجازی فنلاند
    • سرور مجازی دانمارک
    • سرور مجازی مجارستان
    • سرور مجازی هلند
    • سرور مجازی یونان
  • سرور مجازی شیلی
    • سرور مجازی روسیه
    • سرور مجازی ترکیه
    • سرور مجازی مالزی
    • سرور مجازی ژاپن
    • سرور مجازی سنگاپور
    • سرور مجازی هنگ کنگ
    • سرور مجازی امارات
  • سرور مجازی کانادا
    • سرور مجازی امریکا
    • سرور مجازی نیجریه
    • سرور مجازی استرالیا
    • سرور مجازی NVME
    • سرور مجازی با کارت گرافیک
    • سرور مجازی رایگان
    • سرور مجازی ترید و بایننس
    • سرور مجازی فارکس
    • سرور مجازی کلاس آنلاین
    • سرور مجازی میکروتیک
    • سرور مجازی والتر
    • سرور مجازی NVME
    • سرور مجازی اقتصادی
  • سرور اختصاصی
  • سرور اختصاصی ایرانمنابع کاملا اختصاصی و قدرتمند
  • سرور اختصاصی اروپابا ip اختصاصی از بهترین کشور ها
  • سرور اختصاصی آمریکاup time 99.99%
  • سایر VDS ها
  • برج میلاد
    • زیرساخت
  • سرور اختصاصی آلمان
    • سرور اختصاصی انگلیس
    • سرور اختصاصی ترکیه
    • سرور اختصاصی فرانسه
    • سرور اختصاصی فنلاند
    • سرور اختصاصی هلند
  • سرور اختصاصی آمریکا
    • سرور اختصاصی کانادا
  • کولوکیشن
  • آسیاتک
  • زیرساخت
  • هاست
  • دامنه
  • نوین پلاس +
021-49624 ورود / عضویت
لینوکس

راهنمای لینوکس

70
  • اجرای دستورات لینوکس در ویندوز
  • راه اندازی سایت در سرور لینوکس
  • IP شناور در اوبونتو و دبیان
  • بازیابی رمز root
  • آموزش بکاپ از سرور لینوکس
  • آموزش اجرای دستور از راه دور
  • ایجاد یوزر در لینوکس
  • تفاوت ipv4 با ipv6 چیست
  • دستور tar لینوکس
  • کانفیگ IPv6 در لینوکس
  • بکاپ گیری از سرور لینوکس
  • راه اندازی سایت در سرور
  • نصب فایروال در لینوکس
  • لیست کردن کاربران در لینوکس
  • پارتیشن بندی در لینوکس
  • بش bash چیست؟
  • آموزش تغییر نام فایل در لینوکس
  • آموزش نصب آلمالینوکس
  • دبیان
    • ارتقا دبیان
  • آلمالینوکس
    • تبدیل Centos به AlmaLinux
    • نصب Visual Studio Code در آلمالینوکس
    • نصب پایتون روی آلمالینوکس
    • نصب Node.js در AlmaLinux
  • اوبونتو
    • نصب NextCloud در اوبونتو
    • فعال کردن SSH اوبونتو
    • نصب ماینکرافت روی اوبونتو
    • نصب کاساندرا Cassandra در اوبونتو
    • آموزش نصب اوبونتو
    • نصب Graylog در اوبونتو
    • نصب Redis در اوبونتو
    • نصب Maven در اوبونتو
    • نصب تامکت در اوبونتو
    • آموزش نصب Ghost CMS در ubuntu
    • نصب GitLab در اوبونتو
    • نصب GCC در اوبونتو
    • نصب جاوا در اوبونتو
    • نصب و راه اندازی Bind DNS Server اوبونتو
    • نصب جنکینز در اوبونتو
    • نصب وردپرس در اوبونتو
    • نصب Oh My Zsh در اوبونتو
    • نصب پرومتئوس در اوبونتو
    • نصب Kubectl در اوبونتو
    • نصب PyTorch در اوبونتو
    • حذف داکر در اوبونتو
    • نصب آناکوندا
    • آموزش نصب Wine
    • آموزش نصب آپاچی کافکا
    • نصب Xrdp در اوبونتو
    • نصب وایرشارک در اوبونتو
    • آموزش نصب Go در اوبونتو
    • آموزش نصب MariaDB در اوبونتو
    • آموزش نصب Ansible
    • نصب درایور انویدیا در اوبونتو
    • آموزش نصب Hadoop
    • آموزش نصب Terraform
    • نصب و کانفیگ SSH در Ubuntu
    • نصب KVM در Ubuntu
    • نصب گوگل کروم در ubuntu
    • آموزش نصب گرافانا
    • چک کردن نسخه ubuntu
    • آموزش نصب phpMyAdmin در اوبونتو
    • آموزش نصب Postman
    • نصب داکر در اوبونتو
    • نصب Redis در اوبونتو
    • نصب MySQL در اوبونتو
    • نصب و کانفیگ آپاچی در اوبونتو
    • کران جاب در اوبونتو
    • ارتقا اوبونتو
    • نصب MongoDB در اوبونتو
    • نصب محیط گرافیکی در اوبونتو

تحقیق و توسعه

8
  • آموزش Portainer داکر
  • پاک کردن کش DNS
  • افزایش امنیت سرور
  • آموزش لود بالانسینگ
  • پیکربندی SSL در PostgreSQL
  • پایتون
    • ترکیب دو لیست در پایتون
    • تبدیل رشته به عدد در پایتون
    • معکوس کردن لیست در پایتون

سوالات متداول

4
  • رید (RAID) چیست؟
  • عمومی
    • ترافیک مورد نیاز سایت
    • SELinux چیست؟
    • محافظت در برابر حملات DDoS
View Categories
  • خانه
  • مستدات
  • راهنمای لینوکس
  • اوبونتو
  • آموزش نصب آپاچی کافکا

آموزش نصب آپاچی کافکا

زمان مطالعه: 6 دقیقه

آیا نیاز دارید آپاچی کافکا به صورت محلی روی اوبونتو اجرا شود؟ این راهنما شما را در نصب آخرین نسخه و تنظیم آن با حالت KRaft (Kafka Raft Metadata) که جایگزین نیاز به Zookeeper می‌شود، راهنمایی می‌کند. ما کافکا را برای اجرا به عنوان یک سرویس سیستمی تنظیم خواهیم کرد، سپس محیط را برای توسعه محلی آماده خواهیم کرد.

سرور مجازی ایران

پیش‌ نیازها #

قبل از ادامه، مطمئن شوید که موارد زیر را دارید:

  • یک سرور مجازی با سیستم عامل اوبونتو
  • یک یوزر با قابلیت sudo و دسترسی SSH به سرور.
  • حداقل ۲ گیگابایت رم سرور.

کافکا برای اجرا به یک محیط مناسب نیاز دارد. این بخش با نصب جاوا، ایجاد یک کاربر سیستم اختصاصی و پیکربندی صحیح کافکا، محیط را راه‌اندازی می‌کند. نصب جاوا آپاچی کافکا برای اجرا به جاوا نیاز دارد. اوبونتو به راحتی چندین نسخه از OpenJDK را در مخازن پیش‌فرض خود ارائه می‌دهد، که در حال حاضر OpenJDK 21 نسخه پیش‌فرض است. این بدان معناست که می‌توانید آن را مستقیماً نصب کنید.

با به‌روزرسانی لیست بسته‌های خود شروع کنید. این کار تضمین می‌کند که با آخرین نسخه‌های موجود کار می‌کنید:

sudo apt update

سپس، OpenJDK 21 را با اجرای دستور زیر نصب کنید:

sudo apt install openjdk-21-jdk -y

پس از نصب، بررسی کنید که جاوا به درستی نصب شده است:

java -version

شما باید خروجی‌ای مشابه این را ببینید که نشان می‌دهد جاوا ۲۱ نصب شده است:

خروجیopenjdk version "21.0.6" 2025-01-21
OpenJDK Runtime Environment (build 21.0.6+7-Ubuntu-124.04.1)
OpenJDK 64-Bit Server VM (build 21.0.6+7-Ubuntu-124.04.1, mixed mode, sharing)

اکنون، جاوا نصب شده و آماده استفاده است.

ایجاد کاربر و دایرکتوری‌های کافکا #

ما یک کاربر اختصاصی برای اجرای کافکا ایجاد خواهیم کرد تا سیستم ما سازماندهی شده و امنیت بهبود یابد. همچنین ساختار دایرکتوری را که کافکا در آن نصب خواهد شد و داده‌های آن را ذخیره می‌کند، تنظیم خواهیم کرد.

ابتدا، یک کاربر سیستم جدید kafkaبدون دسترسی ورود به سیستم ایجاد کنید:

sudo useradd -r -m -U -d /opt/kafka -s /bin/false kafka

این kafkaدستور کاربر را ایجاد کرده و دایرکتوری خانگی آن را روی قرار می‌دهد /opt/kafka. همچنین به دلایل امنیتی از ورود مستقیم این کاربر به سیستم جلوگیری می‌کند.

در مرحله بعد، دایرکتوری اصلی کافکا را ایجاد کنید که در آن فایل‌های کافکا را نصب خواهیم کرد:

sudo mkdir -p /opt/kafka

پس از این، باید kafkaمالکیت کاربر را اعطا کنیم:

sudo chown -R kafka:kafka /opt/kafka

این به kafkaکاربر کنترل روی /opt/kafkaدایرکتوری را می‌دهد. به این ترتیب، کافکا در زمان اجرا به دسترسی لازم برای خواندن، نوشتن و مدیریت همه چیز در این پوشه دسترسی خواهد داشت.

در نهایت، برای تأیید اینکه مالکیت و مجوزها به درستی تنظیم شده‌اند، دستور زیر را اجرا کنید:

ls -ld /opt/kafka

شما باید خروجی مشابهی با این ببینید:

خروجیdrwxr-x--- 2 kafka kafka 4096 Apr 27 14:35 /opt/kafka

با این کار، ما یک کاربر و دایرکتوری اختصاصی برای کافکا راه‌اندازی کرده‌ایم.

کافکا را دانلود و استخراج کنید #

با رفتن به یک دایرکتوری موقت که در آن آرشیو کافکا را دانلود و با آن کار خواهید کرد، شروع کنید. یک انتخاب خوب، /tmpدایرکتوری زیر است:

cd /tmp

اکنون، نسخه باینری کافکا ۴.۰.۰ را با استفاده از wgetدستور زیر دانلود کنید:

wget https://downloads.apache.org/kafka/4.0.0/kafka_2.13-4.0.0.tgz

پس از دانلود آرشیو، آن را در مسیر زیر استخراج کنید /opt/kafka:

sudo tar -xzf kafka_2.13-4.0.0.tgz -C /opt/kafka --strip-components=1

این --strip-components=1پرچم از پوشه بالایی صرف نظر می‌کند و فایل‌ها را مستقیماً در قرار می‌دهد /opt/kafka.

در مرحله بعد، مالکیت فایل را به‌روزرسانی کنید تا kafkaکاربر به همه چیز دسترسی کامل داشته باشد:

sudo chown -R kafka:kafka /opt/kafka

این تضمین می‌کند که کافکا می‌تواند فایل‌های خود را بدون هیچ مشکلی در زمینه مجوز مدیریت کند.

برای تأیید اینکه همه چیز به درستی استخراج شده است، محتویات دایرکتوری را فهرست کنید /opt/kafka:

sudo ls -l /opt/kafka

شما باید خروجی مشابه زیر را ببینید:

خروجیtotal 64
drwxr-xr-x  3 kafka kafka  4096 Mar 14 08:20 bin
drwxr-xr-x  2 kafka kafka  4096 Mar 14 08:20 config
drwxr-xr-x  2 kafka kafka  4096 Apr 28 09:34 libs
-rw-r--r--  1 kafka kafka 14699 Mar 14 08:19 LICENSE
drwxr-xr-x  2 kafka kafka  4096 Mar 14 08:20 licenses
-rw-r--r--  1 kafka kafka 27064 Mar 14 08:19 NOTICE
drwxr-xr-x  2 kafka kafka  4096 Mar 14 08:20 site-docs

با نگاه به این خروجی، اولین پوشه‌ای که متوجه خواهید شد، پوشه‌ی . است bin. این پوشه شامل اسکریپت‌های اجرایی برای کافکا است. در اینجا اسکریپت‌هایی را خواهید یافت که به شما امکان می‌دهند سرور کافکا را راه‌اندازی کنید، تاپیک ایجاد کنید، پیام‌ها را تولید و مصرف کنید و وظایف مدیریتی را انجام دهید. بیشتر تعاملات عملی شما با کافکا از طریق این اسکریپت‌ها انجام می‌شود.

پوشه بعدی است config. فایل‌های پیکربندی کافکا در اینجا ذخیره می‌شوند. اگر نیاز به تنظیم نحوه اجرای کافکا دارید، مثلاً تنظیم شناسه کارگزار، به‌روزرسانی پورت‌های شنونده یا تغییر گزینه‌های گزارش، این تغییرات را در اینجا انجام خواهید داد.

همچنین پوشه را مشاهده خواهید کرد libs. این پوشه تمام کتابخانه‌های جاوا و وابستگی‌هایی را که کافکا برای عملکرد خود به آنها نیاز دارد، در خود جای داده است. این کتابخانه‌ها وظایف مهمی مانند شبکه‌سازی، ذخیره‌سازی و ارتباطات داخلی بین اجزای کافکا را بر عهده دارند.

در زیر پوشه‌ها، چند فایل نیز وجود دارد. این LICENSEفایل شرایط و ضوابط توزیع کافکا را شرح می‌دهد.

درست بعد از آن licensesدایرکتوری قرار دارد. برخلاف LICENSEفایل، این دایرکتوری شامل مجوزهایی برای کتابخانه‌های شخص ثالث است که همراه با کافکا ارائه می‌شوند. این دایرکتوری شفافیت لازم را در مورد تمام اجزای خارجی مورد استفاده کافکا فراهم می‌کند.

همچنین فایلی را مشاهده خواهید کرد NOTICEکه شامل اطلاعیه‌های قانونی اضافی و اسناد مربوط به نرم‌افزارهای شخص ثالث موجود در کافکا است. این فایل، اطلاعات موجود در LICENSEفایل را تکمیل می‌کند.

در نهایت، این site-docsپوشه مستندات آفلاین برای کافکا را ارائه می‌دهد. اگرچه بیشتر مستندات کافکا به صورت آنلاین در دسترس هستند، اما این پوشه به شما امکان دسترسی به راهنماها و منابع مهم را بدون نیاز به اتصال به اینترنت می‌دهد.

پیکربندی کافکا #

از نسخه ۴.۰.۰ به بعد، کافکا به طور پیش‌فرض در حالت KRaft اجرا می‌شود. این بدان معناست که متادیتای خود را به صورت داخلی و بدون Zookeeper مدیریت می‌کند.

در این بخش، کافکا را طوری پیکربندی می‌کنیم که به عنوان یک سرور مستقل با استفاده از حالت KRaft اجرا شود. فایل پیکربندی را به‌روزرسانی می‌کنیم، یک Cluster ID ایجاد می‌کنیم و فضای ذخیره‌سازی کافکا را فرمت می‌کنیم.

مرحله ۱: به‌روزرسانی پیکربندی کافکا #

با بررسی اینکه کافکا به درستی برای اجرا در حالت KRaft تنظیم شده است، شروع کنید.

فایل را باز کنید server.properties:

sudo nano /opt/kafka/config/server.properties

حالا، بررسی کنید که خطوط زیر به درستی تنظیم شده باشند:

process.roles=broker,controller
node.id=1
controller.quorum.bootstrap.servers=localhost:9093
listeners=PLAINTEXT://:9092,CONTROLLER://:9093
advertised.listeners=PLAINTEXT://localhost:9092,CONTROLLER://localhost:9093
controller.listener.names=CONTROLLER
listener.security.protocol.map=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL

این تنظیمات به کافکا می‌گویند که هم به عنوان واسطه و هم به عنوان کنترل‌کننده در یک دستگاه عمل کند. آن‌ها همچنین پورت‌هایی را که کافکا برای صحبت با کلاینت‌ها و مدیریت ارتباطات داخلی خود استفاده خواهد کرد، تعریف می‌کنند.

سپس، اگر تنظیمات زیر Server Basicsاز قبل وجود ندارد، آن را در زیر بخش اضافه کنید:

controller.quorum.voters=1@localhost:9093
آموزش نصب آپاچی کافکا
آموزش نصب آپاچی کافکا

این به کافکا می‌گوید که کدام گره به عنوان کنترل‌کننده عمل می‌کند و چگونه می‌توان به آن دسترسی پیدا کرد. اگرچه ما فقط با یک سرور کار می‌کنیم، کافکا همچنان انتظار دارد که فرمت کامل برای node-id@host:portمدیریت صحیح عملیات خوشه داخلی استفاده شود.

نکته :

controller.quorum.voters=1@localhost:9093یعنی:

  • ۱شناسه گره منحصر به فرد سرور ما است.
  • localhost:9093آدرس و پورتی است که کنترلر در آن گوش می‌دهد.

بدون این، کافکا قادر نخواهد بود فضای ذخیره‌سازی خود را به درستی مقداردهی اولیه کند.

در نهایت، log.dirsتنظیمات زیر این Log Basicsبخش را پیدا کنید و آن را از حالت پیش‌فرض /tmp/kraft-combined-logsبه یک دایرکتوری پایدارتر به‌روزرسانی کنید:

log.dirs=/opt/kafka/data

آموزش نصب آپاچی کافکااین کار داده‌های کافکا را به طور ایمن در زیر ذخیره می‌کند /opt/kafka، نه در زیر /tmp، که ممکن است به طور خودکار پاک شود.

CTRL + 0با فشار دادن ، سپس Enterو CTRL + Xبرای خروج، فایل را ذخیره کرده و ببندید .

مرحله ۲: ایجاد شناسه خوشه #

در مرحله بعد، باید یک شناسه خوشه منحصر به فرد ایجاد کنیم. این شناسه، ابرداده‌های کافکا را به سرور ما مرتبط می‌کند.

دستور زیر را اجرا کنید:

sudo /opt/kafka/bin/kafka-storage.sh random-uuid

خروجی یک رشته تصادفی طولانی خواهد بود که شبیه به این است:

خروجیHnRVGDW9SB-bI_yUGGEK_A

این شناسه خوشه را با دقت کپی و ذخیره کنید. ما از آن برای مقداردهی اولیه فضای ذخیره‌سازی کافکا استفاده خواهیم کرد.

مرحله ۳: قالب‌بندی دایرکتوری ذخیره‌سازی کافکا #

از دستور زیر برای قالب‌بندی دایرکتوری ذخیره‌سازی کافکا استفاده کنید. آن را <your-cluster-id>با شناسه واقعی که ایجاد کرده‌اید جایگزین کنید:

sudo /opt/kafka/bin/kafka-storage.sh format -t <your-cluster-id> -c /opt/kafka/config/server.properties

اگر دستور با موفقیت اجرا شود، پیام تأیید مشابهی را مشاهده خواهید کرد:

خروجیFormatting metadata directory /opt/kafka/data with metadata.version 4.0-IV3.

اکنون کافکا برای اجرا در حالت KRaft مستقل تنظیم شده است و فضای ذخیره‌سازی آن آماده است. در مرحله بعد، آن را طوری پیکربندی می‌کنید که به عنوان یک سرویس اجرا شود و سرور را برای تکمیل تنظیمات راه‌اندازی کنید.

ایجاد یک سرویس systemd برای کافکا #

برای مدیریت کافکا مانند یک سرویس مناسب در اوبونتو، آن را در زیر تنظیم خواهیم کرد systemd. این به ما امکان می‌دهد کافکا را مانند هر سرویس استاندارد لینوکس، در هنگام بوت سیستم، شروع، متوقف و به طور خودکار اجرا کنیم.

ما یک فایل سرویس برای کافکا ایجاد خواهیم کرد و آن را به درستی پیکربندی خواهیم کرد.

مرحله ۱: ایجاد فایل سرویس کافکا #

با ایجاد یک فایل سرویس جدید با نام زیر شروع کنید kafka.service:

sudo nano /etc/systemd/system/kafka.service

در مرحله بعد، کد زیر را اضافه کنید:

[Unit]
Description=Apache Kafka Server
After=network.target

[Service]
Type=simple
User=kafka
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
ExecStop=/opt/kafka/bin/kafka-server-stop.sh
Restart=on-abnormal

[Install]
WantedBy=multi-user.target

هر بخش از فایل سرویس، systemdنحوه مدیریت کافکا را بیان می‌کند.

این [Unit]بخش توضیح می‌دهد که کافکا چه زمانی باید شروع به کار کند. ما می‌خواهیم کافکا تا زمان آماده شدن شبکه منتظر بماند، زیرا برای عملکرد صحیح به ارتباط شبکه نیاز دارد. این تنظیم After=network.targetتضمین می‌کند که در هنگام بوت شدن، خیلی زود شروع به کار نکند.

بخش بعدی [Service]، بخشی است که نحوه اجرای کافکا به عنوان یک فرآیند را تعریف می‌کند. ما تنظیم Type=simpleمی‌کنیم systemdکه کافکا بدون نیاز به handshakeهای اضافی، در پیش‌زمینه اجرا شود. همچنین مشخص می‌کنیم User=kafkaکه کافکا تحت کاربر غیر روتی که قبلاً ایجاد کرده‌ایم اجرا شود و یک لایه امنیتی اضافه کنیم. این ExecStartخط به اسکریپت شروع کافکا و فایل پیکربندی اشاره می‌کند، در حالی که نحوه توقف کافکا به طور مناسب در صورت نیاز ExecStopرا بیان می‌کند . این تنظیم به کافکا کمک می‌کند تا در صورت خرابی به هر دلیل غیرمنتظره‌ای، به طور خودکار مجدداً راه‌اندازی شود و آن را مقاوم‌تر نگه دارد.systemdRestart=on-abnormal

در آخر، [Install]بخش. این بخش می‌گوید systemdکه کافکا چه زمانی باید شروع شود. ما آن را به لینک می‌کنیم multi-user.target، که وضعیت استاندارد سیستم برای سرورها و ماشین‌های چند کاربره است. به این ترتیب، کافکا هر زمان که سیستم به طور عادی بوت شود، به طور خودکار شروع به کار می‌کند.

پس از اضافه کردن محتوا، فایل را ذخیره کرده و خارج شوید.آموزش نصب آپاچی کافکا

مرحله ۲: آماده‌سازی دایرکتوری داده‌های کافکا #

قبل از شروع کافکا، باید مطمئن شویم که دایرکتوری داده‌ای که در آن پیکربندی کرده‌ایم server.propertiesوجود دارد.

دایرکتوری را ایجاد کنید و مالکیت صحیح را تنظیم کنید:

sudo mkdir -p /opt/kafka/data
sudo chown -R kafka:kafka /opt/kafka/data

این به کافکا مکان مناسبی برای ذخیره لاگ‌های داخلی و داده‌های تاپیک می‌دهد. اگر این دایرکتوری وجود نداشته باشد، کافکا شروع به کار نخواهد کرد.

مرحله ۳: فعال‌سازی و شروع سرویس کافکا #

اکنون که محیط آماده است، می‌توانیم systemdسرویس جدید را تشخیص دهیم:

sudo systemctl daemon-reload

سپس، کافکا را فعال کنید تا به طور خودکار در هنگام بوت شروع شود:

sudo systemctl enable kafka

سپس، سرویس کافکا را مجدداً راه‌اندازی کنید:

sudo systemctl restart kafka

در نهایت، وضعیت سرویس کافکا را بررسی کنید تا از فعال بودن آن اطمینان حاصل کنید:

sudo systemctl status kafka

باید ببینید که کافکا فعال است و همانطور که باید اجرا می‌شود.

خروجی• kafka.service - Apache Kafka Server
Loaded: loaded (/etc/systemd/system/kafka service; enabled; preset: enabled)
Active: active (running) since Mon 2025-04-28 15:57:38 UTC; 8s ago
Main PID: 12463 (java)
Tasks: 102 (limit: 4542)
Memory: 367.OM (peak: 369.5M)
CPU: 5.6085
CGroup: /system slice/kafka.service
۱۲۴۶۳ java -Xmx1G -Xms1G -server -XX:+UseG1GC -XX:MaxGCPauseMіllіs=20 -XX:InitіatingHeap0ccupancyPeгcent=З5_ -XX:+Expl¿c¡‡
…

تست کافکا #

با اجرای کافکا به عنوان یک سرویس، مرحله بعدی تأیید این است که آیا می‌تواند پیام‌ها را از ابتدا تا انتها مدیریت کند یا خیر. شما یک تاپیک ایجاد می‌کنید، چند پیام منتشر می‌کنید و بررسی می‌کنید که آیا یک مصرف‌کننده می‌تواند آنها را دریافت کند یا خیر.

مرحله ۱: ایجاد یک تاپیک کافکا #

برای ایجاد تاپیک این دستور را اجرا کنید:

sudo /opt/kafka/bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1

این یک تاپیک جدید با نام ایجاد می‌کند test-topicو از طریق پورت به کارگزار کافکا که روی دستگاه محلی شما در حال اجرا است متصل می‌شود ۹۰۹۲. این تاپیک با یک پارتیشن تنظیم شده است که برای اهداف آزمایشی کافی است. از آنجایی که در این تنظیمات فقط یک کارگزار وجود دارد، ضریب تکثیر نیز روی یک تنظیم می‌شود، به این معنی که کافکا هر پیام را فقط در آن کارگزار ذخیره می‌کند.

اگر همه چیز طبق انتظار پیش برود، خروجی مشابهی با این خواهید دید:

خروجیCreated topic test-topic.

مرحله ۲: یک تولیدکننده راه‌اندازی کنید #

با ایجاد تاپیک، می‌توانید یک تولیدکننده (producer) را شروع کنید. تولیدکننده یک برنامه ساده است که پیام‌هایی را به یک تاپیک کافکا ارسال می‌کند.

دستور زیر را اجرا کنید:

sudo /opt/kafka/bin/kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092

اکنون، ترمینال شما می‌تواند ورودی را بپذیرد. اکنون می‌توانید هر پیامی را تایپ کنید، را فشار دهید Enterو کافکا آن را به test-topicتاپیک ارسال خواهد کرد.

برای مثال، این پیام را تایپ کنید:

خروجیHello Kafka!
Testing...

هر خطی که تایپ می‌کنید به عنوان یک پیام جدید ارسال شده به کافکا در نظر گرفته می‌شود.

مرحله ۳: یک مشتری ایجاد کنید #

سرور مجازی المان

برای اینکه ببینید آیا کافکا پیام‌ها را به درستی ارسال می‌کند یا خیر، یک پنجره یا تب ترمینال دیگر باز کنید.

در این ترمینال جدید، یک مصرف‌کننده کافکا راه‌اندازی کنید:

sudo /opt/kafka/bin/kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server localhost:9092

این دستور به همان test-topicتاپیک متصل می‌شود و از ابتدا شروع به خواندن پیام‌ها می‌کند.

همانطور که شما پیام‌هایی را از تولیدکننده ارسال می‌کنید، آنها مستقیماً به مصرف‌کننده ارسال می‌شوند. برای مثال، تایپ کردن Hello, Kafka! در تولیدکننده، بلافاصله همان خط را در مصرف‌کننده نمایش می‌دهد:

خروجیHello Kafka!
Testing…

این نشان می‌دهد که کافکا طبق انتظار عمل می‌کند.

نتیجه‌ گیری #

اکنون کافکا با استفاده از حالت KRaft روی دستگاه شما نصب و اجرا شده است. شما آن را به عنوان یک سرویس سیستمی مناسب پیکربندی کرده و تأیید کرده‌اید که می‌تواند پیام‌ها را ارسال و دریافت کند.

با این، می‌توانید سرویس‌های ساده‌ای بسازید. اگر تصمیم دارید بعداً ویژگی‌های پیشرفته‌تر کافکا را بررسی کنید، این تنظیمات پایه محکمی به شما می‌دهد.

Updated on آبان ۱۱, ۱۴۰۴

نظر شما چیست؟!

  • Happy
  • Normal
  • Sad

Related Docs

  • نصب Xrdp در اوبونتو
  • نصب و کانفیگ SSH در Ubuntu
  • آموزش نصب Hadoop

Share This Article :

  • Facebook
  • X
  • LinkedIn
  • Pinterest
نصب Xrdp در اوبونتوآموزش نصب Wine

دیدگاهتان را بنویسید لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

فهرست مطلب
  • پیش‌ نیازها
    • ایجاد کاربر و دایرکتوری‌های کافکا
    • کافکا را دانلود و استخراج کنید
    • پیکربندی کافکا
      • مرحله ۱: به‌روزرسانی پیکربندی کافکا
      • مرحله ۲: ایجاد شناسه خوشه
      • مرحله ۳: قالب‌بندی دایرکتوری ذخیره‌سازی کافکا
  • ایجاد یک سرویس systemd برای کافکا
    • مرحله ۱: ایجاد فایل سرویس کافکا
    • مرحله ۲: آماده‌سازی دایرکتوری داده‌های کافکا
    • مرحله ۳: فعال‌سازی و شروع سرویس کافکا
  • تست کافکا
    • مرحله ۱: ایجاد یک تاپیک کافکا
    • مرحله ۲: یک تولیدکننده راه‌اندازی کنید
    • مرحله 3: یک مشتری ایجاد کنید
  • نتیجه‌ گیری
نوین هاست

نوین هاست ارائه دهنده خدمات میزبانی، فروش انواع سرورهای مجازی و اختصاصی ایران و خارج برترین لوکیشن ها و استفاده از بهترین سخت افزارها با پشتیبانی 7/24

نماد اعتماد نوین هاست
لوگو ساماندهی
نظام صنفی رایانه ای کشور
دانش بنیان

دسترسی سریع

  • سرور مجازی
  • سرور مجازی ایران
  • سرور اختصاصی
  • هاست اشتراکی
  • ثبت دامنه
  • درباره ما
  • قوانین سرویس دهی

سرورهای مجازی

  • سرور مجازی المان
  • سرور مجازی فرانسه
  • سرور مجازی انگلیس
  • سرور مجازی امریکا
  • سرور مجازی کانادا
  • سرور مجازی فنلاند
  • سرور مجازی هلند

سرورهای اختصاصی

  • سرور اختصاصی ایران
  • سرور اختصاصی برج میلاد
  • سرور اختصاصی زیرساخت
  • سرور اختصاصی خارج
  • سرور اختصاصی آلمان
  • سرور اختصاصی فرانسه
  • سرور اختصاصی آمریکا
تمام حقوق این سایت محفوظ و متعلق به نوین هاست می باشد.
Facebook Twitter Youtube Whatsapp Instagram Telegram