Elasticsearch محصول شرکتی به نام الاستیک (Elastic) است که در سال ۲۰۱۲ بنیان گذاشته شد. Elasticsearch یک موتور جستجوی اپن سورس با تجزیه و تحلیل کامل است که به زبان جاوا توسعه یافته است. این برنامه از عملیات RESTful پشتیبانی می کند و به شما امکان می دهد حجم زیادی از داده را فورا ذخیره، جستجو و تجزیه و تحلیل کنید. Elasticsearch یکی از محبوب ترین موتورهای جستجوگر قدرتمند برنامه هایی است که نیازهای جستجوی پیچیده ای مانند فروشگاه های بزرگ تجارت الکترونیکی و برنامه های کاربردی تحلیلی را دارد. در این آموزش با ما همراه باشید تا شما عزیزان را با نصب Elasticsearch در CentOS 8 آشنا کنیم.
Elasticsearch یک برنامه جاوا است، بنابراین اولین قدم نصب جاوا است. برای نصب بسته OpenJDK، موارد زیر را به عنوان root یا user با امتیازات sudo اجرا کنید:
sudo dnf install java-11-openjdk-devel
نصب جاوا را با نمایش ورژن جاوا تأیید کنید:
java -version
خروجی باید چیزی شبیه به دستور زیر باشد:
openjdk version "11.0.5" 2019-10-15 LTS OpenJDK Runtime Environment 18.9 (build 11.0.5+10-LTS) OpenJDK 64-Bit Server VM 18.9 (build 11.0.5+10-LTS, mixed mode, sharing)
Elasticsearch در مخازن استاندارد CentOS 8 در دسترس نیست. ما آن را از مخزن Elasticsearch RPM نصب خواهیم کرد. GPG مخزن را با استفاده از دستور rpm وارد کنید:
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
ویرایشگر متن خود را باز کنید و فایل repository را در دایرکتوری /etc/yum.repos.d ایجاد کنید:
sudo nano /etc/yum.repos.d/elasticsearch.repo
دستور زیر را در فایل جایگذاری کنید:
[elasticsearch-7.x] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md
فایل را ذخیره کرده و ویرایشگر متن خود را ببندید. در زمان نگارش این مقاله، آخرین ورژن Elasticsearch، ورژن ۷٫۶ است. اگر می خواهید ورژن قبلی Elasticsearch را نصب کنید، ۷٫x در دستور فوق، با ورژن موردنظر خود تغییر دهید. اکنون که repository فعال است، بسته Elasticsearch را با تایپ کردن دستور زیر نصب کنید:
sudo dnf install elasticsearch
پس از اتمام مراحل نصب، سرویس را شروع و فعال کنید:
sudo systemctl enable elasticsearch.service --now
برای بررسی اینکه Elasticsearch در حال اجراست، از curl برای ارسال درخواست HTTP به پورت ۹۲۰۰ در localhost استفاده کنید:
curl -X GET "localhost:9200/"
خروجی چیزی شبیه به دستور زیر خواهد بود:
{ "name" : "centos8.localdomain", "cluster_name" : "elasticsearch", "cluster_uuid" : "V_mfjn2PRJqX3PlZb_VD7w", "version" : { "number" : "7.6.0", "build_flavor" : "default", "build_type" : "rpm", "build_hash" : "7f634e9f44834fbc12724506cc1da681b0c3b1e3", "build_date" : "2020-02-06T00:09:00.449973Z", "build_snapshot" : false, "lucene_version" : "8.4.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" }
ممکن است ۵-۱۰ ثانیه طول بکشد تا سرویس شروع شود. اگر curl: (7) Failed to connect to localhost port 9200: Connection refused مشاهده می کنید، چند ثانیه صبر کنید و دوباره امتحان کنید. برای مشاهده پیام های ثبت شده توسط سرویس Elasticsearch، از دستور زیر استفاده کنید:
sudo journalctl -u elasticsearch
در این مرحله، شما باید Elasticsearch را روی سرور CentOS خود نصب کنید.
داده های Elasticsearch در دایرکتوری / var / lib / elasticsearch ذخیره می شوند، فایل های کانفیگ در / etc / elasticsearch قرار دارند. به طور پیش فرض، Elasticsearch به گونه ای کانفیگ شده است که فقط در localhost فراخوانی شود. اگر سرویس گیرنده متصل به دیتابیس نیز در همان host در حال اجرا است و شما در حال راه اندازی یک گروه هستید، نیازی به تغییر فایل کانفیگ پیش فرض نیست.
خارج از بسته Elasticsearch، احراز هویت را اجرا نمی کند، بنابراین توسط هر کسی که می تواند به HTTP API دسترسی داشته باشد قابل دسترسی است. اگر می خواهید دسترسی ریموت به سرور Elasticsearch خود داشته باشید، باید فایروال خود را کانفیگ کنید و اجازه دسترسی به پورت Elasticsearch 9200 را فقط از طریق سرویس گیرنده های معتبر فراهم کنید. به عنوان مثال، برای اجازه اتصال فقط از ۱۹۲٫۱۶۸٫۱۲۱٫۸۰، دستور زیر را وارد کنید. دستور زیر را اجرا کنید تا فقط اجازه دسترسی ریموت به IPهای مجاز در پورت ۹۲۰۰، صادر شود:
sudo firewall-cmd --new-zone=elasticsearch --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --zone=elasticsearch --add-source=192.168.121.80/32 --permanent
sudo firewall-cmd --zone=elasticsearch --add-port=9200/tcp --permanent
sudo firewall-cmd --reload
فراموش نکنید که ۱۹۲٫۱۶۸٫۱۲۱٫۸۰ را به آدرس IP ریموت خود، تغییر دهید. بعداً، اگر می خواهید از آدرس IP دیگری استفاده کنید، از دستورات زیر استفاده کنید:
sudo firewall-cmd --zone=elasticsearch --add-source=<IP_ADDRESS> --permanent
sudo firewall-cmd --reload
sudo nano /etc/elasticsearch/elasticsearch.yml
network.host: 0.0.0.0
sudo systemctl restart elasticsearch
ما به شما نشان دادیم که چگونه Elasticsearch را در CentOS 8 نصب کنید.
امیدواریم مطالب مورد پسند بوده و از آن بهره لازم را برده باشید. خوشحال میشویم نظرات و سوالات خود را در قسمت دیدگاه به اشتراک بگذارید و ما را در شتابان هاست همراهی کنید.😊