آموزش ها-هاست نگار

نحوه نصب آپاچی کافکا در دبیان 10

 

آپاچی کافکا یک پلتفرم توزیع شده محبوب است که برای مدیریت حجم زیادی از داده های Real time طراحی شده است. کلاستر کافکا بسیار مقیاس پذیر و مقاوم در برابر خطا است و همچنین در مقایسه با سایر واسطه های پیام مانند ActiveMQ و RabbitMQ دارای توان عملیاتی بسیار بالاتری است. اگرچه به طور کلی به عنوان یک سیستم پیام رسانی (انتشار/اشتراک) استفاده می شود، بسیاری از سازمان ها نیز از آن برای جمع آوری لاگ ها استفاده می کنند زیرا ذخیره سازی دائمی را برای پیام های منتشر شده ارائه می دهد.
 
در این آموزش، Apache Kafka 2.1.1 را به صورت امن بر روی سرور Debian 10 نصب و پیکربندی می‌کنید، سپس تنظیمات خود را با انتشار پیام Hello World آزمایش می‌کنید. سپس به صورت اختیاری KafkaT را برای نظارت بر کافکا و راه اندازی یک کلاستر چند گره کافکا نصب خواهید کرد.
 
پیش نیازها
برای پیگیری، شما نیاز دارید:
  • یک سرور Debian 10 با حداقل 4 گیگابایت رم و یک کاربر غیر روت با امتیازات sudo.
  • OpenJDK 11 روی سرور شما نصب شده است. کافکا به زبان جاوا نوشته شده است، بنابراین به JVM نیاز دارد.
توجه: نصب‌های بدون 4 گیگابایت رم ممکن است باعث از کار افتادن سرویس کافکا شود، زیرا ماشین مجازی جاوا (JVM) در هنگام راه‌اندازی منابع بالای میخواهد.
 
مرحله 1 - ایجاد یک کاربر برای کافکا
از آنجایی که کافکا می‌تواند درخواست‌ها را از طریق یک شبکه مدیریت کند، ایجاد یک کاربر اختصاصی برای آن بهترین روش است. اگر سرور کافکا در معرض خطر قرار گیرد، این آسیب به ماشین دبیان شما را به حداقل می رساند. در این مرحله کاربر اختصاصی kafka را ایجاد خواهید کرد.
به عنوان کاربر sudo غیر ریشه خود وارد شده اید، یک کاربری به نام kafka با دستور useradd ایجاد کنید:
sudo useradd kafka -m
 m- تضمین می کند که یک دایرکتوری اصلی برای کاربر ایجاد می شود. این دایرکتوری خانه، /home/kafka، به عنوان دایرکتوری فضای کاری شما برای اجرای دستورات بعدی عمل می کند.
رمز عبور را با استفاده از passwd تنظیم کنید:
sudo passwd kafka
رمز عبوری را که می خواهید برای این کاربر استفاده کنید وارد کنید. در مرحله بعد، کاربر kafka را با دستور adduser به گروه sudo اضافه کنید تا از امتیازات لازم برای نصب وابستگی های کافکا برخوردار باشد:
sudo adduser kafka sudo
کاربر کافکا شما اکنون آماده است. با استفاده از su وارد این حساب شوید:
su -l kafka
اکنون که کاربر خاص کافکا را ایجاد کرده اید، می توانید به دانلود و استخراج باینری های کافکا بروید.
 
مرحله 2 - دانلود و استخراج باینری های کافکا
در این مرحله، باینری های کافکا را دانلود و در پوشه های اختصاصی در دایرکتوری اصلی کاربر کافکا خود استخراج می کنید. برای شروع، یک دایرکتوری در /home/kafka به نام Downloads ایجاد کنید تا دانلودهای شما ذخیره شود:
mkdir ~/Downloads
سپس، curl را با استفاده از apt-get نصب کنید تا بتوانید فایل های ریموت را دانلود کنید:
sudo apt-get update && sudo apt-get install curl
وقتی از شما خواسته شد، Y را تایپ کنید تا دانلود curl تایید شود.
هنگامی که curl نصب شد، از آن برای دانلود باینری های کافکا استفاده کنید:
curl "https://archive.apache.org/dist/kafka/2.1.1/kafka_2.11-2.1.1.tgz" -o ~/Downloads/kafka.tgz
یک دایرکتوری به نام کافکا ایجاد کنید و به این دایرکتوری تغییر دهید. این دایرکتوری پایه نصب کافکا خواهد بود:
mkdir ~/kafka && cd ~/kafka
بایگانی را که دانلود کرده اید با استفاده از دستور tar استخراج کنید:
tar -xvzf ~/Downloads/kafka.tgz --strip 1
شما --strip 1 را مشخص کرده اید تا اطمینان حاصل کنید که محتوای بایگانی در خود ~/kafka/ استخراج می شود و نه در دایرکتوری دیگری، مانند ~/kafka/kafka_2.12-2.1.1/.
اکنون که باینری ها را با موفقیت دانلود و استخراج کردید، می توانید به پیکربندی کافکا بروید تا امکان حذف topic را فراهم کند.
 
مرحله 3 - پیکربندی سرور کافکا
رفتار پیش‌فرض کافکا به ما اجازه نمی‌دهد topic، دسته، گروه یا نام فیدی را که می‌توان پیام‌ها را برای آن منتشر کرد حذف کنیم. برای تغییر این، فایل پیکربندی را ویرایش خواهید کرد.
گزینه های پیکربندی کافکا در server.properties مشخص شده است. این فایل را با نانو یا ویرایشگر مورد علاقه خود باز کنید:
nano ~/kafka/config/server.properties
بیایید تنظیمی اضافه کنیم که به ما امکان می دهد topic های کافکا را حذف کنیم. خط بولد شده زیر را به پایین فایل اضافه کنید:
group.initial.rebalance.delay.ms
delete.topic.enable = true
فایل را ذخیره کنید و از nano خارج شوید. اکنون که کافکا را پیکربندی کرده‌اید، می‌توانید فایل‌های واحد سیستمی را برای اجرا و فعال کردن کافکا در هنگام راه‌اندازی ایجاد کنید.
 
مرحله 4 - ایجاد فایل های Systemd Unit و راه اندازی سرور کافکا
در این قسمت فایل های systemd unit را برای سرویس کافکا ایجاد می کنید. این به شما کمک می‌کند تا اقدامات معمول سرویس مانند راه‌اندازی، توقف و راه‌اندازی مجدد کافکا را مطابق با سایر سرویس‌های لینوکس انجام دهید.
ZooKeeper سرویسی است که کافکا از آن برای مدیریت وضعیت کلاستر و تنظیمات خود استفاده می کند. معمولاً در سیستم های توزیع شده به عنوان یک جزء جدایی ناپذیر استفاده می شود. در این آموزش از Zookeeper برای مدیریت این جنبه های کافکا استفاده خواهید کرد. ابتدا فایل واحد را برای zookeeper ایجاد کنید:
sudo nano /etc/systemd/system/zookeeper.service
تعریف واحد زیر را در فایل وارد کنید:
 
[Unit]
Requires=network.target remote-fs.target
After=network.target remote-fs.target
[Service]
Type=simple
User=kafka
ExecStart=/home/kafka/kafka/bin/zookeeper-server-start.sh /home/kafka/kafka/config/zookeeper.properties
ExecStop=/home/kafka/kafka/bin/zookeeper-server-stop.sh
Restart=on-abnormal
[Install]
WantedBy=multi-user.target
 
بخش [unit] مشخص می‌کند که Zookeeper باید قبل از شروع به کار، شبکه و سیستم فایل آماده باشد.
بخش [Service] مشخص می کند که systemd باید از فایل های شل zookeeper-server-start.sh و zookeeper-server-stop.sh برای شروع و توقف سرویس استفاده کند. همچنین مشخص می کند که Zookeeper در صورت خروج غیرعادی باید به طور خودکار راه اندازی مجدد شود.
پس از اتمام ویرایش فایل را ذخیره کرده و ببندید. سپس فایل سرویس systemd را برای کافکا ایجاد کنید:
sudo nano /etc/systemd/system/kafka.service
تعریف واحد زیر را در فایل وارد کنید:
 
[Unit]
Requires=zookeeper.service
After=zookeeper.service
[Service]
Type=simple
User=kafka
ExecStart=/bin/sh -c '/home/kafka/kafka/bin/kafka-server-start.sh /home/kafka/kafka/config/server.properties > /home/kafka/kafka/kafka.log 2>&1'
ExecStop=/home/kafka/kafka/bin/kafka-server-stop.sh
Restart=on-abnormal
[Install]
WantedBy=multi-user.target
 
بخش [Unit] مشخص می کند که این فایل به zookeeper.service بستگی دارد. این اطمینان حاصل می کند که با شروع سرویس کافکا، zookeeper به طور خودکار شروع به کار می کند.
بخش [Service] مشخص می کند که systemd باید از فایل های شل kafka-server-start.sh و kafka-server-stop.sh برای شروع و توقف سرویس استفاده کند. همچنین مشخص می کند که در صورت خروج غیرعادی کافکا باید به طور خودکار راه اندازی مجدد شود.
اکنون که واحدها تعریف شده اند، کافکا را با دستور زیر شروع کنید:
sudo systemctl start kafka
برای اطمینان از اینکه سرور با موفقیت راه اندازی شده است، لاگ ها را برای واحد کافکا بررسی کنید:
sudo journalctl -u kafka
خروجی مشابه زیر را خواهید دید:
Output
Mar 23 13:31:48 kafka systemd[1]: Started kafka.service.
شما اکنون یک سرور کافکا دارید که به پورت 9092 گوش می دهد، که پورت پیش فرض کافکا است.
شما سرویس کافکا را راه اندازی کرده اید، اما اگر بخواهید سرور خود را راه اندازی مجدد کنید، هنوز به طور خودکار راه اندازی نمی شود. برای فعال کردن کافکا در بوت سرور، اجرا کنید:
sudo systemctl enable kafka
در این مرحله شما خدمات کافکا و zookeeper را راه اندازی و فعال کردید.
در این آموزش نحوه نصب آپاچی کافکا در Debian 10 را توضیح دادیم. امیدواریم این مقاله آموزشی برای شما مفید بوده باشد، برای دیدن باقی آموزش ها میتوانید وارد منوی پشتیبانی بخش آموزش ها شوید، در صورتی که درباره این آموزش به مشکل یا سوالی برخورد کردید، میتوانید آن را در بخش دیدگاه بیان کنید.

 

 

آموزش های مرتبط:

آموزش نصب MariaDB بر روی ابونتو
آموزش نصب و کانفیگ Nginx بر روی Ubuntu
چگونه یک مخزن پکیج به دبیان، اوبونتو اضافه کنیم
آموزش نحوه نصب و پیکربندی UFW در Ubuntu
نصب جنگو بر روی Centos 7
طریقه نصب ionCube بر روی CentOS
نصب مونگو دی بی بر روی CetnoOS

 

نوشتن دیدگاه


تصویر امنیتی
تصویر امنیتی جدید

خرید هاست

 

آموزش های مرتبط