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

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

این پکیج برای خانواده‌های مبتنی بر RPM از جمله توزیع‌های OpenSuse، CentOS و RedHat مناسب است و از طریق سرور Elastic و یا ریپازیتوری RPM قابل دانلود است.

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

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

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

برای توزیع‌های مبتنی بر RedHat در دایرکتوری /etc/yum.repos.d/ و برای توزیع‌های مبتنی بر OpenSuse در دایرکتوری /etc/zypp/repos.d/ فایلی به نام elasticsearch.repo ایجاد کرده و محتوای زیر را در آن قرار دهید:

[elasticsearch]

name=Elasticsearch repository for 7.x packages

baseurl=https://artifacts.elastic.co/packages/7.x/yum

enabled=0

autorefresh=1

type=rpm-md

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

سپس برای شروع نصب، در توزیع CentOS یا نسخه‌های قدیمی‌تر مبتنی بر RedHat از دستور

sudo yum install --enablerepo=elasticsearch elasticsearch

و برای توزیع‌های Fedora یا توزیع‌های جدیدتر RedHat از دستور

sudo dnf install --enablerepo=elasticsearch elasticsearch

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

sudo zypper modifyrepo --enable elasticsearch && \
  sudo zypper install elasticsearch; \
  sudo zypper modifyrepo --disable elasticsearch

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

ابتدا آخرین نسخه‌ی فایل پکیج RPM را از این آدرس دانلود کنید.

برای دانلود نسخه‌های قبلی Elasticsearch، می‌توانید از این آدرس استفاده کنید. 

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

sudo rpm --install elasticsearch-7.12.0-x86_64.rpm

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

پس از آنکه فایل‌ها و دایرکتوری‌های پکیج در سیستم نصب شد، می‌خواهیم قابلیت اجرای Elasticsearch به صورت سرویس را در RPM فعال کنیم. جهت اجرای خودکار سرویس 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 -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 را بررسی کنید.

 

ساختار دایرکتوری‌ها در پکیج RPM

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

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

/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 نکردی برامون ایمیلت رو بنویس: