آموزش نصب و پیکربندی Apache Pinot در لینوکس
موضوعاتی که در این مقاله به آنها پرداخته خواهد شد، به شرح زیر است:
- نصب Java در لینوکس
- نصب زوکیپر (Zookeeper) در لینوکس
- نصب Apache Pinot در لینوکس
- راهاندازی سرویسهای آپاچی پینوت
- پیکربندی Apache Pinot
- بررسی راه اندازی Apache Pinot
Apache Pinot یک پایگاهداده توزیعشده بلادرنگ برای پردازش تحلیلی برخط (OLAP) است که به منظور پاسخگویی به پرسشهای OLAP با تأخیر پایین طراحی شده است. این سامانه اغلب همراه با Apache Kafka برای دریافت و تحلیل بلادرنگ دادهها به کار میرود.
این راهنما مراحل نصب Apache Pinot بر روی یک سیستم عامل لینوکس را به شما آموزش خواهد داد. ما به بررسی پیشنیازها، دانلود و استخراج نرمافزار، پیکربندی تنظیمات، و راهاندازی سرویسها خواهیم پرداخت.
پیشنیازها:
پیش از نصب Apache Pinot، اطمینان حاصل کنید که سیستم شما شرایط زیر را دارا باشد:
- Apache Pinot برای اجرا به Java Development Kit (JDK) نسخه ۸ یا بالاتر نیاز دارد.
- Apache Pinot از Apache Zookeeper برای مدیریت خوشه استفاده میکند.
- اطمینان حاصل کنید که تنظیمات فایروال شما، پورت های لازم برای برقراری ارتباط بین Pinot و Zookeeper را مجاز میسازد.
مرحله ۱: نصب Java در لینوکس
اگر جاوا روی سیستم شما نصب نشده است، می توانید آن را از وب سایت رسمی اوراکل دانلود و نصب کنید.
برای اکثر توزیع های لینوکس، می توانید از مدیر بسته برای نصب Java (جاوا) استفاده کنید. به عنوان مثال، روی سیستم های مبتنی بر دبیان، می توانید از دستور زیر استفاده کنید.
sudo apt-get install default-jdk
پ.ن
آیا نیاز به سرور مجازی ایران دارید؟ لطفا بر روی لینک اون کلیک کنید! اگر نیاز به وی پی اس ایران با آی پی تمیز و بدون محدودیت دارید کلیک کنید.
در سیستم های مبتنی بر رد هت، می توانید از دستور زیر استفاده کنید.
sudo dnf install java-21-openjdk -y
پس از اتمام نصب Java، میتوانید با اجرای دستور زیر نسخه جاوا را تایید کنید.
java -version
مرحله 2: نصب زوکیپر (Zookeeper) در لینوکس
زوکیپر برای مدیریت خوشه توسط آپاچی پینوت ضروری است، بنابراین آن را با استفاده از دستور زیر نصب کنید.
sudo apt install zookeeperd [On Debian-based Systems] sudo dnf install zookeeperd [On RHEL-based Systems]
پس از نصب، سرویس Zookeeper را راهاندازی، فعال و وضعیت آن را بررسی کنید.
sudo systemctl start zookeeper sudo systemctl enable zookeeper sudo systemctl status zookeeper
مرحله ۳: نصب Apache Pinot در لینوکس
آخرین نسخه آپاچی پینوت را از وب سایت رسمی آپاچی پینوت دانلود کنید یا برای دانلود مستقیم از دستور wget زیر استفاده کنید.
wget https://downloads.apache.org/pinot/apache-pinot-1.1.0/apache-pinot-1.1.0-bin.tar.gz
در مرحله بعد، فایل tarball دانلود شده را در یک مکان دلخواه استخراج کنید و متغیرهای محیطی را برای دسترسی راحتتر به فایلهای باینری پینوت در فایل.bashrc یا.profile تنظیم کنید.
sudo tar -xvzf apache-pinot-1.1.0-bin.tar.gz -C /opt echo 'export PINOT_HOME=/opt/apache-pinot-1.1.0-bin' >> ~/.bashrc echo 'export PATH=$PINOT_HOME/bin:$PATH' >> ~/.bashrc source ~/.bashrc
مرحله ۴: راهاندازی سرویسهای آپاچی پینوت
آپاچی پینوت از چندین جزء تشکیل شده است که هر کدام به عنوان یک سرویس جداگانه در حال اجرا هستند و اینها عبارتند از:
- Controller:مدیریت خوشه Pinout را بر عهده دارد و وظیفه ایجاد (Schema) و جدولها را انجام میدهد.
- Broker: مسئول مسیریابی درخواستها (Query Routing) است.
- Server: دادهها را ذخیره کرده و برای درخواستها (Queries) ارائه میدهد.
- Minion: وظایف پسزمینهای مانند فشرده سازی داده ها و خلاصه سازی (Roll-up) دادهها را انجام میدهد.
هر سرویس را در یک پنجره ترمینال جداگانه یا به عنوان یک فرایند پسزمینه اجرا کنید.
کنترلر را با استفاده از دستور زیر راهاندازی کنید:
cd $PINOT_HOME bin/pinot-admin.sh StartController -configFileName conf/pinot-controller.conf
بروکر را با استفاده از دستور زیر راهاندازی کنید:
cd $PINOT_HOME bin/pinot-admin.sh StartBroker -configFilePath conf/pinot-broker.conf
سرور را با استفاده از دستور زیر راهاندازی کنید:
cd $PINOT_HOME bin/pinot-admin.sh StartServer -configFilePath conf/pinot-server.conf
مینین را با استفاده از دستور زیر راهاندازی کنید:
cd $PINOT_HOME bin/pinot-admin.sh StartMinion -configFilePath conf/pinot-minion.conf
تأیید کنید که همه سرویسها در حال اجرا هستند با بررسی لاگهای مربوطه در دایرکتوری لاگها در داخل PINOT_HOME.
مرحله ۵: پیکربندی Apache Pinot
Apache Pinot برای شروع فرایند دریافت و پرسوجو از دادهها، نیازمند یک طرحواره (schema) و پیکربندی جدول است. یک دایرکتوری برای ذخیره فایلهای پیکربندی خود ایجاد کنید.
sudo mkdir $PINOT_HOME/configs
یک فایل Schema، بهعنوان مثال my_schema.json، در دایرکتوری پیکربندی ایجاد کنید:
sudo nano $PINOT_HOME/configs/my_schema.json
برای اضافه کردن پیکربندی Schema، فایل my_schema.json را با محتوای زیر ویرایش کنید:
{ "schemaName": "mySchema", "dimensionFieldSpecs": [ { "name": "myDimension", "dataType": "STRING" } ], "metricFieldSpecs": [ { "name": "myMetric", "dataType": "LONG" } ], "dateTimeFieldSpecs": [ { "name": "myDateTime", "dataType": "LONG", "format": "1:MILLISECONDS:EPOCH", "granularity": "1:MILLISECONDS" } ] }
سپس، یک فایل پیکربندی جدول بهعنوان مثال my_table.json در دایرکتوری پیکربندی ایجاد کنید:
sudo nano $PINOT_HOME/configs/my_table.json
پیکربندی جدول زیر را اضافه کنید.
{ "tableName": "myTable", "tableType": "REALTIME", "segmentsConfig": { "timeColumnName": "myDateTime", "schemaName": "mySchema", "replication": "1" }, "tableIndexConfig": { "loadMode": "MMAP" }, "tenants": {}, "tableRetentionConfig": {}, "ingestionConfig": { "streamIngestionConfig": { "type": "kafka", "streamConfigMaps": { "streamType": "kafka", "stream.kafka.topic.name": "myKafkaTopic", "stream.kafka.broker.list": "localhost:9092", "stream.kafka.consumer.type": "simple", "stream.kafka.consumer.prop.auto.offset.reset": "smallest", "realtime.segment.flush.threshold.size": "50000" } } }, "metadata": {} }
اکنون از ابزار مدیریت Pinot برای افزودن پیکربندیهای Schema و جدول استفاده کنید:
bin/pinot-admin.sh AddSchema -schemaFile $PINOT_HOME/configs/my_schema.json -exec bin/pinot-admin.sh AddTable -tableConfigFile $PINOT_HOME/configs/my_table.json -exec
مرحله ۶: بررسی راه اندازی Apache Pinot
یک مرورگر وب را باز کرده و به رابط کاربری کنترلر Pinot بروید تا بررسی کنید که Schema و جدول شما به درستی اضافه شدهاند.
http://localhost:9000
میتوانید دادهها را با استفاده از رابط کاربری جستجو (Query Console) موجود در UI کنترلر Pinot یا با استفاده از ابزار خط فرمان جستجوی Pinot جستجو کنید:
bin/pinot-admin.sh Query -brokerHost localhost -brokerPort 8099 -query "SELECT * FROM myTable LIMIT 10"
نتیجه گیری:
نصب Apache Pinot بر روی یک سیستم لینوکس شامل مراحل مختلفی است، از جمله نصب Java و Zookeeper، دانلود و استخراج باینریهای Pinot، راهاندازی سرویسهای Pinot، و پیکربندی Schema و جدولها.
با دنبال کردن این راهنما، باید یک نمونه در حال اجرای Apache Pinot داشته باشید که آماده پاسخگویی به پرسوجوهای OLAP بلادرنگ است. برای سفارشیسازی و بهینهسازیهای بیشتر، به مستندات رسمی Apache Pinot مراجعه کنید.