8.4 KiB
بسم الله الرحمن الرحیم
نحوه حذف/نصب و پیکربندی Elasticsearch 8 در Ubuntu 20.04
در این مطلب قصد داریم نحوه نصب Elasticsearch 8 را در Ubuntu 20.04 ، پیکربندی Elasticsearch در وبونتو 20.04 و حذف Elasticsearch از Ubuntu را بیان کنیم.
معرفی
Elasticsearch جستجو و تجزیه و تحلیل در زمان واقعی را برای انواع داده ها فراهم می کند. چه متنی ساختاریافته یا بدون ساختار، داده های عددی یا داده های مکانی داشته باشید، Elasticsearch می تواند آن را به نحوی کارآمد ذخیره و فهرست بندی کند که از جستجوهای سریع پشتیبانی می کند.
پیش نیازها:
* سرور Ubuntu با 20.04/18.04/16.04 LTS
* جاوا 8 یا نسخه بالاتر
* 2 CPU و 4 گیگابایت RAM
* باز بودن پورت9200
بسته های سیستم را به روز کنید
sudo apt update
بسته apt-transport-https را برای دسترسی به مخزن از طریق HTTPS نصب کنید
sudo apt install apt-transport-https
1.OpenJDK را در Ubuntu نصب کنید
OpenJDK 11 را با دستور زیر در Ubuntu نصب کنید:
sudo apt install openjdk-11-jdk
بررسی نسخه ی نصبی جاوا با دستور زیر:
java --version
خروجی:
openjdk 11.0.14.1 2022-02-08
OpenJDK Runtime Environment (build 11.0.14.1+1-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (build 11.0.14.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)
2.تنظیم متغیر محیطی JAVA_HOME
برای تعریف متغیر محیطی فایل زیر را باز کنید:
sudo nano /etc/environment
متغیر زیر را در فایل قرار دهید:
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
متغیر محیطی یا environment را با استفاده از دستور زیر بارگذاری کنید
source /etc/environment
بررسی JAVA_HOME متغیر
echo $JAVA_HOME
خروجی:
/usr/lib/jvm/java-11-openjdk-amd64
3.نصب ElasticSearch 8 در Ubuntu 20.04 LTS
کلید امضای عمومی را دانلود و نصب کنید، اگر میخواهید آخرین Elasticsearch را دانلود کنید، به صفحه دانلود رسمی Elastic Stack مراجعه کنید.
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
تعریف مخزن را در این فایل ذخیره کنید: /etc/apt/sources.list.d/elastic-8.x.list:
echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list
می توانید Elasticsearch را با استفاده از دستور زیر نصب کنید:
sudo apt-get update
sudo apt-get install elasticsearch
راه اندازی سرویس Elasticsearch
sudo systemctl start elasticsearch
هنگام راهاندازی سیستم، Elasticsearch را فعال کنید
sudo systemctl enable elasticsearch
دستور زیر برای بررسی وضعیت Elasticsearch است:
sudo systemctl status elasticsearch
خروجی:
● elasticsearch.service - Elasticsearch
Loaded: loaded (/lib/systemd/system/elasticsearch.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2022-04-21 06:57:31 UTC; 9s ago
Docs: https://www.elastic.co
Main PID: 17266 (java)
Tasks: 68 (limit: 4693)
Memory: 2.3G
CGroup: /system.slice/elasticsearch.service
├─17266 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.neg>
└─17539 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller
Apr 21 06:57:12 ip-172-31-4-2 systemd[1]: Starting Elasticsearch...
Apr 21 06:57:31 ip-172-31-4-2 systemd[1]: Started Elasticsearch.
4.پیکربندی Elasticsearch در Ubuntu 20.04 LTS
بیایید در فایل پیکربندی زیر تغییراتی ایجاد کنیم
sudo nano /etc/elasticsearch/elasticsearch.yml
به بخش Network بروید و network.host را از نظر خارج کنید و IP سیستم خود را جایگزین کنید
network.host: 0.0.0.0
و باید این خط را اضافه کنید discovery.seed_hosts: [ ] در بخش discovery همانطور که در زیر نشان داده شده است:
در مرحله بعد به BEGIN SECURITY AUTO CONFIGURATION بروید و در اینجا باید true را با false جایگزین کنید، همانطور که در زیر نشان داده شده است:
Error: elasticsearch “curl: (52) Empty reply from server” on port 9200
راه حل:
فایل پیکربندی Elasticsearch را باز کنید
sudo nano /etc/elasticsearch/elasticsearch.yml
xpack.security.enabled: true
غیرفعالسازی امینت با دستور
xpack.security.enabled: false
پس از تغییر در فایل پیکربندی باید باید سرویس را دوباره راهاندازی کنید پس دستور زیر را اجرا کنید:
sudo systemctl restart elasticsearch
5.دسترسی ElasticSearch به Ubuntu
اجازه می دهد Elasticsearch را با استفاده از دستور curl با ارسال درخواست HTTP آزمایش کنیم
curl -X GET "localhost:9200"
خروجی:
{
"name" : "ip-172-31-4-2",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "5WWxXV59TUiwsLWmb1lTDg",
"version" : {
"number" : "8.1.3",
"build_flavor" : "default",
"build_type" : "deb",
"build_hash" : "39afaa3c0fe7db4869a161985e240bd7182d7a07",
"build_date" : "2022-04-19T08:13:25.444693396Z",
"build_snapshot" : false,
"lucene_version" : "9.0.0",
"minimum_wire_compatibility_version" : "7.17.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "You Know, for Search"
}
با استفاده از مرورگر می توانید دسترسی داشته باشید
http://127.0.0.1:9200
6.حذف Elasticsearch از Ubuntu
اگر می خواهید elasticsearch را حذف کنید، دستورات زیر را اجرا کنید:
sudo apt-get --purge autoremove elasticsearch
sudo apt-get remove --purge elasticsearch
sudo rm -rf /etc/elasticsearch
[منبع](https://www.fosstechnix.com/how-to-install-elasticsearch-8-on-ubuntu/)
صلوات