نماد سایت وبلاگ شتابان هاست

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

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

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 :

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 :

داده های 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 نصب کنید.

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

خروج از نسخه موبایل