آموزش نصب Elasticsearch در CentOS 8
Elasticsearch یک موتور جستجوی متن کامل و متناسب با آنالیز است و از عملیات RESTful پشتیبانی می کند و به شما امکان می دهد حجم زیادی از داده ها را فورا ذخیره ، جستجو و تجزیه و تحلیل کنید. Elasticsearch یکی از محبوب ترین موتورهای جستجوگر قدرتمند برنامه هایی است که نیازهای جستجوی پیچیده ای مانند فروشگاه های بزرگ تجارت الکترونیکی و برنامه های کاربردی تحلیلی را دارد. این آموزش نصب Elasticsearch در CentOS 8 را پوشش می دهد.
نصب جاوا
Elasticsearch یک برنامه جاوا است ، بنابراین اولین قدم نصب جاوا است.
برای نصب بسته OpenJDK موارد زیر را به عنوان root یا یوزر با دسترسی روت اجرا کنید:
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)
یک راز بزرگ درمورد 90 % هاستینگ های ایرانی، اورسل کردن بیش از حد است که باعث افت کیفیت سرورها میشود.
وان سرور با ارائه دسترسی های مختلف این امکان را به شما خواهد داد که تمامی منابع سرورتان را مدیریت و بررسی کنید و همچنین با ارائه گارانتی 100% برگشت وجه ریسک خرید شما را به %0 کاهش میدهد.
نصب Elasticsearch
Elasticsearch در مخازن استاندارد CentOS 8 موجود نیست. ما آن را از مخزن Elasticsearch RPM نصب خواهیم کرد.
GPG مخزن را با استفاده از دستور rpm
وارد کنید:
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
ویرایشگر متن خود را باز کنید و پرونده مخزن فهرست /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 7.6
است. اگر می خواهید نسخه قبلی Elasticsearch را نصب کنید ، 7.x
در دستور بالا با نسخه مورد نیاز خود تغییر دهید.
اکنون که مخزن فعال است ، بسته Elasticsearch را با تایپ کردن دستور زیر نصب کنید:
sudo dnf install elasticsearch
پس از اتمام مراحل نصب ، سرویس را شروع و فعال کنید:
sudo systemctl enable elasticsearch.service --now
برای تأیید صحت اجرای Elasticsearch ، از curl
برای ارسال درخواست HTTP به پورت 9200 در 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"
}
ممکن است 5-10 ثانیه طول بکشد تا سرویس شروع شوند. اگر curl: (7) Failed to connect to localhost port 9200: Connection refused
مشاهده می کنید ، چند ثانیه صبر کنید و دوباره امتحان کنید.
برای مشاهده پیام های وارد شده توسط سرویس Elasticsearch ، از دستور زیر استفاده کنید:
sudo journalctl -u elasticsearch
در این مرحله ، شما باید Elasticsearch را بر روی سرور CentOS خود نصب کنید.
پیکربندی Elasticsearch
داده های Elasticsearch در فهرست /var/lib/elasticsearch
ذخیره می شوند ، پرونده های پیکربندی در /etc/elasticsearch
قرار دارند.
به طور پیش فرض ، Elasticsearch پیکربندی شده است که فقط در localhost فراخوانی شود. اگر مشتری متصل به پایگاه داده نیز در همان میزبان در حال اجرا است و شما در حال تنظیم یک گروه هستید ، نیازی به تغییر فایل پیکربندی پیش فرض نیست.
دسترسی از راه دور
خارج از بسته Elasticsearch ، احراز هویت را پیاده سازی نمی کند ، بنابراین توسط هر کسی که می تواند به HTTP API دسترسی داشته باشد قابل دسترسی است. اگر می خواهید دسترسی از راه دور به سرور Elasticsearch خود داشته باشید ، باید دیوار آتش خود را پیکربندی کنید و اجازه دسترسی به درگاه Elasticsearch 9200 را فقط از طریق مشتریهای معتبر فراهم کنید.
به عنوان مثال ، برای اجازه اتصال فقط از 192.168.121.80
، دستور زیر را وارد کنید:
دستور زیر را اجرا کنید تا فقط اجازه دسترسی ریموت به ای پی های مجاز در پورت 9200
صادر شود:
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
فراموش نکنید که 192.168.121.80
را به آدرس IP ریموت خود تغییر دهید.
بعداً ، اگر می خواهید از آدرس IP دیگری استفاده کنید ، از دستورات زیر استفاده کنید:
sudo firewall-cmd --zone=elasticsearch --add-source=<IP_ADDRESS> --permanent
sudo firewall-cmd --reload
پس از پیکربندی فایروال ، مرحله بعدی ویرایش پیکربندی Elasticsearch و اجازه دادن به Elasticsearch برای گوش دادن به اتصالات خارجی است.
برای انجام این کار ، پرونده پیکربندی elasticsearch.yml
را باز کنید:
sudo nano /etc/elasticsearch/elasticsearch.yml
خطی را که حاوی network.host
، مقدار آن را به 0.0.0.0
تغییر دهید:
network.host: 0.0.0.0
اگر چندین کارت شبکه در دستگاه خود دارید ، آدرس IP رابط را تعیین کنید تا Elasticsearch را مجبور کند فقط به کارت شبکه داده شده گوش کند.
سرویس Elasticsearch را برای اجرای تغییرات ری استارت کنید:
sudo systemctl restart elasticsearch
اکنون می توانید به صورت ریموت به سرور Elasticsearch وصل شوید.
نتیجه گیری
ما به شما نحوه نصب Elasticsearch در CentOS 8 را نشان داده ایم.
برای کسب اطلاعات بیشتر در مورد Elasticsearch ، به صفحه رسمی اسناد مراجعه کنید.
اولین نفر باشید که نظر ارسال میکنید