آموزش نصب و پیکربندی 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 را به اپلیکیشن‌های خود متصل کنید.

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

Click to rate this post!
[Total: 0 Average: 0]

نظرات کاربران

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

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