آموزش نصب Elasticsearch در اوبونتو 18.04
Elasticsearch یکی از پرطرفدارترین موتورهای جستجوگر قدرتمند است که دارای الزامات جستجو پیچیده مانند فروشگاههای بزرگ تجارت الکترونیک و برنامه های کاربردی تحلیلی هستند.
در این آموزش، ما به شما نحوه نصب Elasticsearch در اوبونتو 18.04 را نشان خواهیم داد. دستورالعمل های مشابه برای اوبونتو 16.04 و هر توزیع مبتنی بر اوبونتو شامل لینوکس مینت، کوبونتو و سیستم عامل اولیه استفاده می شود.
پیش نیازها
شما باید به عنوان یک کاربر با مجوزهای sudo وارد شوید تا قادر به نصب بسته ها در سیستم دبیان باشید.
نصب Elasticsearch
ساده ترین راه برای نصب Elasticsearch در اوبونتو 18.04 با نصب بسته deb از مخزن Elasticsearch رسمی است.
در زمان نوشتن این مقاله، آخرین نسخه از Elasticsearch 6.6.1
و نیاز به نصب اوراکل جاوا استاندارد نسخه 8 یا OpenJDK 8 در سیستم است.
با به روز رسانی بسته بسته ها و نصب OpenJDK 8:
sudo apt update sudo apt install openjdk-8-jdk
نصب جاوا را با اجرای دستور زیر انجام دهید که نسخه جاوا را چاپ می کند:
java -version
خروجی باید چیزی شبیه به این باشد:
openjdk version "1.8.0_191" OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.18.04.1-b12) OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
اکنون که جاوا نصب شده است، گام بعدی این است که مخزن Elasticsearch را اضافه کنید.
GPG مخزن را با استفاده از wget
زیر wget
وارد کنید:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
دستور بالا باید خروجی OK
را داشته باشد یعنی کلید با موفقیت وارد شده و بسته ها از این مخزن مورد اعتماد قرار می گیرند.
بعد، مخزن Elasticsearch را به سیستم با انتشار:
sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" > /etc/apt/sources.list.d/elastic-6.x.list'
اگر می خواهید یک نسخه قبلی از Elasticsearch را نصب کنید، 6.x
در فرمان بالا با نسخه ای که نیاز دارید تغییر دهید.
هنگامی که مخزن فعال است، لیست بسته apt
به روزرسانی کنید و موتور جستجوی Elasticsearch را با تایپ کردن نصب کنید:
sudo apt update
sudo apt install elasticsearch
سرویس Elasticsearch پس از اتمام فرآیند نصب، به طور خودکار شروع نخواهد شد. برای شروع سرویس و فعال کردن سرویس خدمت:
sudo systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service
شما می توانید بررسی کنید که Elasticsearch با ارسال یک درخواست HTTP به پورت 9200 در localhost با دستور زیر curl اجرا می شود :
curl -X GET "localhost:9200/"
شما باید چیزی شبیه به این را ببینید:
{ "name" : "kwEpA2Q", "cluster_name" : "elasticsearch", "cluster_uuid" : "B-5B34LXQFqDeIYwSgD3ww", "version" : { "number" : "6.6.1", "build_flavor" : "default", "build_type" : "deb", "build_hash" : "1fd8f69", "build_date" : "2019-02-13T17:10:04.160291Z", "build_snapshot" : false, "lucene_version" : "7.6.0", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" }
این سرویس 5-10 ثانیه طول خواهد کشید تا سرویس شروع شود. اگر می بینید curl: (7) Failed to connect to localhost port 9200: Connection refused
، منتظر چند ثانیه و دوباره امتحان کنید.
اگر می خواهید پیام های ثبت شده توسط سرویس Elasticsearch را ببینید، می توانید از دستور زیر استفاده کنید:
sudo journalctl -u elasticsearch
تبریک می گوییم، در این مرحله شما Elasticsearch را در سرور اوبونتو نصب کرده اید.
اولین نفری باشید که از آموزشها و تخفیفهای ویژه با خبر میشوید 😉
با عضویت در خبرنامه از 80 درصد تخفیف بهره مند شوید
پیکربندی Elasticsearch
داده های Elasticsearch در /var/lib/elasticsearch
ذخیره می شوند، فایل های پیکربندی در /etc/elasticsearch
و گزینه های راه اندازی جاوا را می توان در /etc/default/elasticsearch
پیکربندی کرد.
به طور پیش فرض Elasticsearch پیکربندی شده است که فقط در localhost گوش دهد. اگر سرویس گیرنده اتصال به پایگاه داده نیز در همان میزبان اجرا می شود و شما یک خوشه گره تک تنظیم می کنید، نیازی به تغییر پرونده پیکربندی پیش فرض نیست.
دسترسی از راه دور
خارج از جعبه Elasticsearch، احراز هویت پیاده سازی نمی کند بنابراین می تواند توسط هر کسی که بتواند به HTTP API دسترسی پیدا کند دسترسی پیدا کند. اگر می خواهید اجازه دسترسی از راه دور به سرور Elasticsearch خود را داشته باشید، شما باید فایروال خود را پیکربندی کنید و اجازه دسترسی به پورت 9200 Elasticsearch را فقط از مشتری های معتبر داشته باشید.
اوبونتو با یک ابزار پیکربندی فایروال به نام UFW همراه است . به طور پیش فرض UFW نصب شده است، اما فعال نشده است. قبل از اینکه فایروال UFW را فعال کنید، ابتدا قاعده ای را تنظیم کنید که به اتصال SSH های ورودی اجازه می دهد:
sudo ufw allow 22
اجازه ارزیابی از آدرس IP قابل اعتماد از راه دور:
sudo ufw allow from 192.168.100.20 to any port 9200
فراموش نکنید که 192.168.100.20
با آدرس IP از راه دور خود تغییر دهید.
UFW را با تایپ کردن فعال کنید:
sudo ufw enable
سرانجام وضعیت دیوار آتش را بررسی کنید:
sudo ufw status
خروجی باید چیزی شبیه به این باشد:
Status: active To Action From -- ------ ---- 22 ALLOW Anywhere 9200 ALLOW 192.168.100.20 22 (v6) ALLOW Anywhere (v6)
هنگامی که فایروال شما پیکربندی شده است، گام بعدی این است که تنظیمات Elasticsearch را ویرایش کنید و اجازه دهید Elasticsearch برای اتصال خارجی ها گوش دهد.
برای انجام این کار، فایل پیکربندی elasticsearch.yml
را باز کنید:
sudo nano /etc/elasticsearch/elasticsearch.yml
جستجو برای خط که شامل network.host
، uncomment آن را تغییر دهید و مقدار را به 0.0.0.0
تغییر دهید: /etc/elasticsearch/elasticsearch.yml
network.host: 0.0.0.0
اگر در دستگاه شما چندین واسط شبکه داشته باشید، می توانید آدرس IP رابط را مشخص کنید که باعث می شود Elasticsearch فقط در رابط مشخص شده گوش دهد.
برای تغییرات اعمال می شود سرویس Elasticsearch را راه اندازی مجدد کنید:
sudo systemctl restart elasticsearch
نتیجه
شما با موفقیت از Elasticsearch در اوبونتو 18.04 نصب کردید. شما هم اکنون می توانید از صفحه مستندات رسمی Elasticsearch دیدن کنید و یاد بگیرید چگونه با Elasticsearch شروع کنید.
اولین نفر باشید که نظر ارسال میکنید