نصب Elasticsearch در توزیع Debian

نصب Elasticsearch در توزیع Debian

پکیج Debian از سرور Elastic یا از ریپازیتوری APT قابل دانلود است. این پکیج برای خانواده‌های Debian از جمله توزیع Ubuntu مناسب است.

قبل از ادامه ی مراحل نصب ابتدا مطمئن شوید که تنظیمات مربوط به سرویس تحریم‌شکن، در سرور شما اعمال شده باشد تا بتوانید به سرور Elastic دسترسی داشته باشید.

روش نصب از طریق ریپازیتوری APT

در ابتدا توجه کنید دستور هایی که در ادامه با sudo شروع می‌شوند نیاز دارند تا کاربر فعلی از نوع کاربران sudo تعریف شده باشد. چنانچه در اجرای آنها با sudo مشکل داشتید، به احتمال زیاد کاربر شما دسترسی sudo ندارد یا این که sudo در سیستم شما نصب نیستند. در این صورت می‌توانید از این لینک کمک بگیرید.

اگر پکیج apt-transport-https روی سیستم شما نصب نیست، ابتدا آن را نصب کنید. این پکیج برای نصب از طریق ریپازیتوری APT مورد نیاز است.

sudo apt-get install apt-transport-https

سپس با استفاده از دستور زیر منبع ریپازیتوری APT مخصوص Elastic را در لیست منابع APT ذخیره کنید:

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list

توجه شود در دستور بالا نسخه‌ی اصلی برای دانلود، نسخه‌ی 7 تعیین شده و در زمان نصب اقدام به دریافت آخرین نسخه‌ی پایدار  (stable) 7 خواهد کرد. اگر نیاز به نصب نسخه‌ای دیگر از  Elasticsearch داشته باشید، می‌توانید نسخه‌ی مد نظر را در دستور بالا جایگزین کنید. 

سپس با استفاده از دستور زیر اقدام به دریافت و نصب Elasticsearch با توجه به منبع تعریف شده می‌کنیم:

sudo apt-get update && sudo apt-get install elasticsearch

 روش دانلود و نصب بدون استفاده از ریپازیتوری APT

ابتدا فایل پکیج Debian را از اين آدرس دانلود کنید.

برای دانلود نسخه‌های قبلی Elasticsearch، كليك كنيد.

پس از دانلود فایل، دستور dpkg را برای نصب در Debian استفاده کنید (در دستور زیر فرض بر این است که در دایرکتوری فایل دانلود شده قرار داریم!) : 

sudo dpkg -i elasticsearch-7.12.0-amd64.deb

فعال سازی سرویس Elasticsearch در Debian

پس از آنکه فایل‌ها و دایرکتوری‌های پکیج در سیستم نصب شد، می‌خواهیم قابلیت اجرای Elasticsearch به صورت سرویس را در Debian فعال کنیم. برای اجرای خودکار سرویس Elasticsearch در زمان بوت (boot) سیستم‌عامل، ابتدا باید بررسی کنید سیستم شما از ماژول systemd یا SysVinit برای مدیریت سرویس‌ها استفاده می‌کند (توزیع‌های جدیدتر معمولا از systemd استفاده می‌کنند). با استفاده از دستور زیر نوع ماژول مشخص می‌شود:

ps -p 1

اگر سیستم شما از ماژول SysVinit استفاده می‌کند، دستور زیر را برای تنظیم اجرای خودکار سرویس Elasticsearch اجرا کنید:

sudo update-rc.d elasticsearch defaults 95 10

برای شروع به کار یا متوقف کردن سرویس به ترتیب می‌توانید از دستور‌های زیر استفاده کنید:

sudo -i service elasticsearch start
sudo -i service elasticsearch stop

اگر سیستم شما از ماژول systemd استفاده می‌کند، دستور زیر را برای تنظیم اجرای خودکار سرویس Elasticsearch اجرا کنید:

sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service

برای شروع به کار یا متوقف کردن سرویس می‌توانید به ترتیب از دستور‌های‌ زیر استفاده کنید:

sudo systemctl start elasticsearch.service
sudo systemctl stop elasticsearch.service

پس از شروع به کار سرویس، اگر اجرای آن با خطا مواجه نشده باشد یک سرور روی پورت پیش‌فرض 9200 برای Elasticsearch ایجاد می‌شود. برای اطمینان از برقراری این سرور یک درخواست http به آدرس localhost:9200 ارسال می‌کنیم. این کار را می‌توانیم با استفاده از دستور curl انجام دهیم اما قبل از آن مطمئن باشید که پکیج curl روی سیستم شما نصب باشد. اگر نیاز به نصب curl دارید، با استفاده از دستور زیر ابتدا آن را نصب کنید:

sudo apt-get install curl

برای اطمینان از اجرای صحیح سرویس Elasticsearch، یک درخواست http به آدرس localhost:9200 ارسال کنید 

curl -X GET "localhost:9200/?pretty"

و منتظر پاسخی مشابه ساختار زیر باشید:

{
  "name" : "Cp8oag6",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA",
  "version" : {
    "number" : "7.12.0",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "f27399d",
    "build_date" : "2016-03-30T09:51:41.449Z",
    "build_snapshot" : false,
    "lucene_version" : "8.8.0",
    "minimum_wire_compatibility_version" : "1.2.3",
    "minimum_index_compatibility_version" : "1.2.3"
  },
  "tagline" : "You Know, for Search"

}در توزیع‌های مبتنی بر systemd می‌توانید با دستور زیر وضعیت کنونی سرویس را بررسی کنید:

sudo systemctl status elasticsearch.service

که در صورت صحت اجرای سرویس، پاسخ زیر را دریافت خواهید کرد:

در صورت بروز خطا در اجرای سرویس Elasticsearch، بايد log فرایند‌های اجرای سرویس در فایل‌های مسیر /var/log/elasticsearch را بررسی کنید.

ساختار دایرکتوری‌ها در پکیج توزیع Debian

دایرکتوری etc/elasticsearch/ شامل تنظیمات runtime در Elasticsearch است که در آینده با جزییات آن آشنا خواهیم شد. مالکیت این دایرکتوری و فایل‌های زیرمجموعه‌ی آن روی root:elasticsearch تنظیم شده است. Elasticsearch تنظیمات خود را به طور پیش‌فرض از فایل etc/elasticsearch/elasticsearch.yml/ می‌خواند. همچنین در توزیع Debian یک فایل جداگانه برای تنظیمات مخصوص سیستم درنظر گرفته شده است که در مسیر etc/default/elastsicsearch/ قرار دارد.

سایر دایرکتوری‌های مهم در نسخه‌ی Debian به شرح زیر است:

usr/share/elasticsearch/ این دایرکتوری که معروف به ES_HOME است، دایرکتوری اصلی شامل فایل‌های اجرایی Elasticsearch است.

usr/share/elasticsearch/bin/این دایرکتوری زیر‌مجموعه‌ی ES_HOME بوده و شامل فایل‌های باینری برای راه‌اندازی سرویس، اجرای پلاگین‌ها و ... است.

var/lib/elasticsearch/محل ذخیره داده های ایندکس‌ها

usr/share/elasticsearch/jdk/ : این دایرکتوری فایل‌های مربوط به نسخه‌ی پیش‌فرض Java ضمیمه شده به Elasticsearch را شامل می‌شود.

var/log/elasticsearch/محل قرارگیری فایل‌های log

دوره در دست تالیف است ... rocket
نظرات
اگر login نکردی برامون ایمیلت رو بنویس: