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