دیتابیسلینوکس

آموزش نصب و پیکربندی Elasticsearch روی CentOS 8

مقدمه

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

Elasticsearch از معماری RESTful پشتیبانی می‌کند؛ یعنی می‌توانید با استفاده از متدهای HTTP مثل GET، POST، PUT و DELETE و آدرس‌های URI، داده‌ها را مدیریت کنید. این ساختار هم برای توسعه‌دهندگان و هم کاربران بسیار ساده و قابل فهم است.

این ابزار متن‌باز و رایگان است و توسط شرکت Elastic پشتیبانی می‌شود؛ به همین دلیل برای استفاده‌های شخصی تا پروژه‌های سازمانی مناسب است.

در این آموزش یاد می‌گیرید:

  • Elasticsearch را نصب کنید
  • آن را پیکربندی کنید
  • و شروع به استفاده از آن کنید

پیش‌نیازها

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

  • یک سرور CentOS 8 با حداقل ۱ گیگ رم
  • یک کاربر غیر root با دسترسی sudo
  • نصب بودن ابزار wget

مرحله ۱ — نصب Java

Elasticsearch با زبان Java نوشته شده، پس ابتدا باید Java نصب شود.

نصب OpenJDK:

sudo dnf install java-1.8.0-openjdk.x86_64 -y

بررسی نصب:

java -version

اگر درست نصب شده باشد خروجی مشابه زیر می‌بینید:

openjdk version "1.8.0_262"

مرحله ۲ — نصب Elasticsearch

دانلود و نصب از طریق rpm:

sudo rpm -ivh https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.2-x86_64.rpm

مسیرهای مهم:

  • نصب: /usr/share/elasticsearch
  • تنظیمات: /etc/elasticsearch

فعال‌سازی برای اجرا هنگام بوت:

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service

مرحله ۳ — پیکربندی Elasticsearch

فایل‌های مهم:

  • elasticsearch.yml → تنظیمات اصلی
  • jvm.options → تنظیمات حافظه

تنظیم نام نود و کلاستر

sudo nano /etc/elasticsearch/elasticsearch.yml

ویرایش:

node.name: "My First Node"
cluster.name: mycluster1

تنظیم شبکه

به‌صورت پیش‌فرض فقط روی localhost اجرا می‌شود (امن‌تر).


نقش نودها (اختیاری)

node.roles: [ master ]

مسیر ذخیره داده

path.data: /media/different_media

تنظیم حافظه JVM

sudo nano /etc/elasticsearch/jvm.options

مثلاً برای سرور ۱ گیگ:

-Xms512m
-Xmx512m

اجرای سرویس

sudo systemctl start elasticsearch.service

مرحله ۴ — (اختیاری) امن‌سازی Elasticsearch

نکته مهم: Elasticsearch به‌صورت پیش‌فرض امنیت داخلی ندارد

توصیه‌ها:

  • فقط روی localhost اجرا شود
  • یا دسترسی با فایروال محدود شود
  • یا از VPN استفاده کنید

برای تغییر IP:

sudo nano /etc/elasticsearch/elasticsearch.yml
network.host: 10.0.0.1

⚠️ هرگز روی IP عمومی بدون امنیت باز نکنید


غیرفعال کردن اسکریپت‌ها

script.allowed_types: none

ریستارت:

sudo service elasticsearch restart

مرحله ۵ — تست Elasticsearch

curl -X GET 'http://localhost:9200'

اگر درست کار کند:

{
  "name": "My First Node",
  "cluster_name": "mycluster1"
}

مرحله ۶ — استفاده از Elasticsearch

افزودن داده

curl -H 'Content-Type: application/json' -X POST \
'http://localhost:9200/tutorial/helloworld/1' \
-d '{ "message": "Hello World!" }'

دریافت داده

curl -X GET 'http://localhost:9200/tutorial/helloworld/1'

ویرایش داده

curl -H 'Content-Type: application/json' -X PUT \
'localhost:9200/tutorial/helloworld/1?pretty' \
-d '{ "message": "Hello People!" }'

نمایش خواناتر

curl -X GET 'http://localhost:9200/tutorial/helloworld/1?pretty'

نتیجه‌گیری

در این آموزش:

  • Elasticsearch را نصب کردید
  • آن را پیکربندی کردید
  • و کار با آن را شروع کردید

قدم بعدی این است که Elasticsearch را به اپلیکیشن‌های خود متصل کنید.

از همراهی شما با پارمین کلود سپاسگزاریم.

نوشته های مشابه

دیدگاهتان را بنویسید

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

دکمه بازگشت به بالا