نحوه نصب Elasticsearch در CentOS 8

نحوه نصب Elasticsearch در CentOS 8

سعیده مهاجری

Elasticsearch محصول شرکتی به نام الاستیک (Elastic) است که در سال ۲۰۱۲ بنیان گذاشته شد. Elasticsearch یک موتور جستجوی اپن سورس با تجزیه و تحلیل کامل است که به زبان جاوا توسعه یافته است. این برنامه از عملیات RESTful پشتیبانی می کند و به شما امکان می دهد حجم زیادی از داده را فورا ذخیره ، جستجو و تجزیه و تحلیل کنید. Elasticsearch یکی از محبوب ترین موتورهای جستجو است که از آن می توان برای جستجوی وب سایت ، تجزیه و تحلیل اطلاعات ورودی ، بررسی عملکرد برنامه ، آنالیز و تجسم داده ها و موارد دیگر استفاده کرد. در این آموزش با ما همراه باشید تا شما عزیزان را با نصب Elasticsearch در CentOS 8 آشنا کنیم.

نصب جاوا :

Elasticsearch یک برنامه جاوا است ، بنابراین اولین قدم نصب جاوا است. برای نصب بسته OpenJDK ، موارد زیر را به عنوان root یا user با دستور sudo privileges اجرا کنید:

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 :

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 7.6 است. اگر می خواهید نسخه قبلی 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 :

داده های Elasticsearch در دایرکتوری / var / lib / elasticsearch ذخیره می شوند ، فایل های کانفیگ در / etc / elasticsearch قرار دارند. به طور پیش فرض ، Elasticsearch به گونه ای کانفیگ شده است که فقط در localhost فراخوانی شود. اگر سرویس گیرنده متصل به پایگاه داده نیز در همان host در حال اجرا است و شما در حال راه اندازی یک گروه هستید ، نیازی به تغییر فایل کانفیگ پیش فرض نیست.

دسترسی از راه دور :

خارج از بسته Elasticsearch ، احراز هویت را اجرا نمی کند ، بنابراین توسط هر کسی که می تواند به HTTP API دسترسی داشته باشد قابل دسترسی است. اگر می خواهید دسترسی از راه دور به سرور Elasticsearch خود داشته باشید ، باید فایروال خود را کانفیگ کنید و اجازه دسترسی به پورت Elasticsearch 9200 را فقط از طریق سرویس گیرنده های معتبر فراهم کنید. به عنوان مثال ، برای اجازه اتصال فقط از ۱۹۲٫۱۶۸٫۱۲۱٫۸۰ ، دستور زیر را وارد کنید. برای اجازه ارزیابی از آدرس IP قابل اعتماد از راه دور در پورت ۹۲۰۰ ، دستور زیر را اجرا کنید:

sudo firewall-cmd --new-zone=elasticsearch --permanentsudo firewall-cmd --reloadsudo firewall-cmd --zone=elasticsearch --add-source=192.168.121.80/32 --permanentsudo firewall-cmd --zone=elasticsearch --add-port=9200/tcp --permanentsudo firewall-cmd --reload

فراموش نکنید که ۱۹۲٫۱۶۸٫۱۲۱٫۸۰ را با آدرس IP راه دور خود ، تغییر دهید. بعداً ، اگر می خواهید از طریق آدرس IP دیگری اجازه دسترسی دهید ، دستور زیر را اجرا کنید:

sudo firewall-cmd --zone=elasticsearch --add-source=<IP_ADDRESS> --permanentsudo firewall-cmd --reload

پس از کانفیگ فایروال ، مرحله بعدی ویرایش کانفیگ Elasticsearch و اجازه دادن به Elasticsearch برای گوش دادن به اتصالات خارجی است. برای انجام این کار ، فایل کانفیگ elasticsearch.yml را باز کنید:

sudo nano /etc/elasticsearch/elasticsearch.yml

دستوری را که شامل network.host است ، حذف کنید و مقدار آن را به ۰٫۰٫۰٫۰ تغییر دهید:

network.host: 0.0.0.0

اگر چندین کارت شبکه بر روی دستگاه خود دارید ، آدرس IP رابط را مشخص کنید تا Elasticsearch را مجبور کند فقط به کارت شبکه داده شده ، گوش دهد. سرویس Elasticsearch را مجدداً راه اندازی کنید تا تغییرات اعمال شود:

sudo systemctl restart elasticsearch

اکنون می توانید از مکان از راه دور به سرور Elasticsearch متصل شوید.

جمع بندی :

ما به شما نشان دادیم که چگونه Elasticsearch را در CentOS 8 نصب کنید.

امیدواریم مطالب مورد پسند بوده و از آن بهره لازم را برده باشید. خوشحال میشویم نظرات و سوالات خود را در قسمت دیدگاه به اشتراک بگذارید و ما را در شتابان هاست همراهی کنید.😊

برچسب ها: دستورات لینوکس