نحوه نصب Elasticsearch در Debian 10

Elasticsearch یک توزیع متن-باز که دارای موتور جستجو بصورت full-text و آنالیز است. همچنین از عملیات RESTful نیز پشتیبانی میکند و به شما اجازه میدهد داده حجم زیادی از داده ها را بصورت بلادرنگ یا Real-Time ذخیره، جستجو و آنالیز کنید.Elasticsearch یکی از محبوب ترین موتورهای جستجوگر قدرتمند برنامه هایی است که نیازهای جستجوی پیچیده ای مانند فروشگاه های بزرگ تجارت الکترونیکی و برنامه های کاربردی تحلیلی را دارد.

در این آموزش نحوه نصب Elasticsearch در Debian 10 توضیح داده شده است.

نصب Java

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

دستور زیر را با یک کاربر که دارای سطح دسترسی sudo است اجرا کنید تا OpenJDK نصب شود:

sudo apt install default-jdk

برای اطمینان از نصب دستور زیر را اجرا نمایید:

java -version

خروجی به شکل زیر:

openjdk version "11.0.6" 2020-01-14
OpenJDK Runtime Environment (build 11.0.6+10-post-Debian-1deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.6+10-post-Debian-1deb10u1, mixed mode, sharing)

نصب الستیک

متاسفانه الستیک در مخازن استاندارد دبیان 10 وجود نداره برای این منظور باید از مخازن APT خوده Elasticsearch استفاده نماییم:

با استفاده از wget کلید GPG مخازن مورد نظر را در سیستم import نمایید:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

خروجی اگر OK باشد یعنی با موفقیت این کار صورت گرفته است. و پکیجی که از این مخزن دانلود میکنید قابل اعتماد است.

در این مرحله مخزن الستیک را در سیستم دبیان 10 خود اضافه کنیم:

sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list'

نکته: هنگامی که این آموزش تهیه شد اخرین ورژن الستیک ورژن 7.8 بوده است.

آپدیت لیست مخازن و نصب Elasticsearch engine

sudo apt update
sudo apt install elasticsearch

پس از اتمام مراحل نصب سرویس الستیک را اجرا میکنید:

sudo systemctl enable elasticsearch.service --now

برای اطمینان از فعال سازی الستیک، با استفاده از curl یک درخواست HTTP با پورت 9200 به localhost ارسال میکنیم:

curl -X GET "localhost:9200/"

خروجی که بعد از ارسال باید دریافت کنیم:

{
  "name" : "debian10.localdomain",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "yCOOHdvYR8mHRs5mNXQdDQ",
  "version" : {
    "number" : "7.6.1",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "aa751e09be0a5072e8570670309b1f12348f023b",
    "build_date" : "2020-02-29T00:15:25.529771Z",
    "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 مواجه شدید چند دقیقه ای را صبر کنید دوباره انجام دهید راه اندازی سرویس حدودا 5 الی 10 ثانیه زمان میبرد.

برای مشاهده لاگ های ارسال شده توسط سرویس elastic دستور زیر را اجرا نمایید:

sudo journalctl -u elasticsearch

تا اینجا الستیک با موفقیت بر روی دبیان 10 شما نصب و راه اندازی شده است. در ادامه با کانفیگ کردن آن آشنا میشوید.

کانفیگ Elasticsearch

الستیک داده های خود را در دایرکتوری /var/lib/elasticsearch ذخیره میکند. فایل های کانفیگ در دایرکتوری /etc/elasticsearch واقع شده است و آپشن جاوا استارت-آپ را میتوانید در دایرکتوری /etc/default/elasticsearch کانفیگ کنید.

بطور پیش فرض، کانفیگ Elasticsearch فقط به localhost گوش میدهد

ریموت اکسس

Elasticsearch ، احراز هویت را پیاده سازی نمی کند ، بنابراین توسط هر کسی که به HTTP API دسترسی دارد قابل دسترس باشد. اگر می خواهید دسترسی از راه دور به سرور Elasticsearch خود داشته باشید ، باید فایروال خود را پیکربندی کنید و اجازه دسترسی به پورت Elasticsearch 9200 را فقط از طریق کلاینت قابل اعتماد فراهم کنید.

برای مثال اگر از ufw استفاده میکنید و بخواهید یک آی پی مانند 192.168.121.80 به الستیک دسترسی داشته باشد باید مراحل زیر را انجام دهید: ( آی پی مثال زده را با ای پی ریموت اکسس خود جایگزین کنید)

sudo ufw allow from 192.168.100.20 to any port 9200

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

sudo nano /etc/elasticsearch/elasticsearch.yml

خط موجود را جستجو کنید network.host و سپس آن را Uncomment کنید و عبارت زیر را قرار دهید:

network.host: 0.0.0.0

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

نتیجه

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

درباره AfshinBalakar

افشین بالاکار دانشجوی مهندسی تکنولوژی نرم افزار، مدت 5 سال است با لینوکس رابطه افلاطونی دارم.

پیشنهاده میشه بخونی

نصب و کانفیگ yarn

آموزش نحوه نصب Yarn در Debian 10

Yarn یک مدیر بسته JavaScript است که با npm سازگار است و به شما امکان …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *