ubuntu

نصب و پیکربندی Elasticsearch در اوبونتو 18.04

Elasticsearch پلتفرمی برای جستجوی توزیعی و تجزیه و تحلیل داده ها در زمان واقعی است. در واقع به دلیل قابلیت استفاده ، ویژگی های قدرتمند و مقیاس پذیری آن یک انتخاب محبوب است.
این مقاله نصب Elasticsearch ، پیکربندی آن برای موارد استفاده ، ایمن سازی نصب و شروع کار با سرور مجازی Elasticsearch را به شما آموزش میدهد.
پیش نیازها
قبل از دنبال کردن این آموزش ، به موارد زیر نیاز دارید:
سرور مجازی Ubuntu 18.04 با 4 گیگابایت حافظه رم و دو CPU که با یک کاربر sudo غیر ریشه تنظیم شده باشد. می توانید با دنبال کردن راه اندازی سرور مجازی اولیه با اوبونتو 18.04 به این هدف برسید
OpenJDK 11 نصب شده باشد
برای این آموزش ، با حداقل مقدار CPU و RAM مورد نیاز برای اجرای Elasticsearch کار خواهیم کرد. توجه داشته باشید که میزان CPU ، RAM و حافظه ذخیره شده مورد نیاز سرور مجازی Elasticsearch شما به میزان تعداد ورود هایی که انتظار دارید بستگی دارد.
مرحله 1 – نصب و پیکربندی Elasticsearch
مولفه های Elasticsearch در مخازن بسته پیش فرض اوبونتو در دسترس نیستند. اما می توانند پس از افزودن لیست منبع بسته Elastic ، با APT نصب شوند.
به منظور محافظت از سیستم شما در برابر جعل بسته ، همه بسته ها با کلید امضای Elasticsearch امضا شده اند. بسته هایی که با استفاده از کلید تأیید شده اند توسط مدیر بسته شما قابل اعتماد خواهند بود. در این مرحله ، کلید GPG عمومی Elasticsearch را وارد کرده و به منظور نصب Elasticsearch ، لیست منبع بسته Elastic را اضافه می کنید.
برای شروع ، از cURL ، ابزار خط فرمان برای انتقال داده با URL ، برای وارد کردن کلید عمومی GPG Elasticsearch در APT استفاده کنید. توجه داشته باشید که ما از آرگومان -fsSL برای بی صدا کردن روند و خطاهای احتمالی (به جز خرابی سرور مجازی) استفاده می کنیم و به cURL اجازه می دهیم در صورت تغییر جهت درخواستی را در یک مکان جدید ارائه کند. خروجی دستور cURL را در برنامه apt-key قرار دهید ، که کلید عمومی GPG را به APT اضافه می کند.
$ curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add –

در مرحله بعد ، لیست منبع Elastic را به فهرست منابع Source.list.d اضافه کنید ، جایی که APT به دنبال منابع جدید است:
$ echo “deb https://artifacts.elastic.co/packages/7.x/apt stable main” | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list

سپس ، لیست های بسته خود را به روز کنید تا APT منبع جدید Elastic را بخواند:
$ sudo apt update

سپس با این دستور Elasticsearch را نصب کنید:
$ sudo apt install elasticsearch

اکنون Elasticsearch نصب شده است و آماده پیکربندی است.
مرحله 2 – پیکربندی Elasticsearch
برای پیکربندی Elasticsearch ، فایل های پیکربندی آن را ویرایش خواهیم کرد. Elasticsearch سه فایل پیکربندی دارد:
elasticsearch.yml برای پیکربندی Elasticsearch ، فایل اصلی پیکربندی
jvm.options برای پیکربندی تنظیمات ماشین مجازی جاوا (JVM) Elasticsearch
log4j2.properties برای پیکربندی ورود به سیستم Elasticsearch
برای این آموزش ، ما به فایل elasticsearch.yml علاقه مندیم ، که بیشتر گزینه های پیکربندی در آن ذخیره شده است. این فایل در دیرکتوری / etc / elasticsearch قرار دارد.
از ویرایشگر متن دلخواه خود برای ویرایش فایل پیکربندی Elasticsearch استفاده کنید. در اینجا ، ما از nano استفاده خواهیم کرد:
$ sudo nano /etc/elasticsearch/elasticsearch.yml

توجه: فایل پیکربندی Elasticsearch با فرمت YAML است ، به این معنی که ما باید قالب indentation را حفظ کنیم. مطمئن شوید که هیچ فضای اضافی با ویرایش این فایل اضافه نمی کنید.
فایل elasticsearch.yml گزینه های پیکربندی را برای خوشه ، گره ، مسیرها ، حافظه ، شبکه ، جستجو و گیت شما فراهم می کند. بسیاری از این گزینه ها در فایل از قبل پیکربندی شده اند اما می توانید آنها را با توجه به نیاز خود تغییر دهید. برای اهداف نمایشی پیکربندی تک سرور مجازی ، فقط تنظیمات میزبان شبکه را انجام خواهیم داد.
Elasticsearch ترافیک را از همه جای پورت 9200 گوش می دهد. بهتر است دسترسی بیرونی به نمونه Elasticsearch را محدود کنید تا از خواندن داده های خارجی خود جلوگیری کنید یا خوشه Elasticsearch را از طریق API REST خود خاموش کنید. برای محدود کردن دسترسی و در نتیجه افزایش امنیت ، خطی را که شبکه را مشخص می کند ، پیدا کنید ، آن را حذف کنید و مقدار آن را با localhost جایگزین کنید ، بنابراین به این شکل خواهد بود:
/etc/elasticsearch/elasticsearch.yml
. . .
# ———————————- Network ———————————–
#
# Set the bind address to a specific IP (IPv4 or IPv6):
#
network.host: localhost
. . .

ما localhost را مشخص کرده ایم تا Elasticsearch به تمام رابط ها و IP های مرزی گوش کند. اگر می خواهید فقط به یک رابط خاص گوش دهید ، می توانید IP آن را به جای localhost مشخص کنید. elasticsearch.yml را ذخیره کرده و ببندید. اگر از nano استفاده می کنید ، می توانید با فشار دادن CTRL + X ، به دنبال آن Y و سپس ENTER این کار را انجام دهید.
این حداقل تنظیماتی است که می توانید با استفاده از Elasticsearch از آنها شروع کنید. اکنون می توانید برای اولین بار Elasticsearch را راه اندازی کنید.
سرویس Elasticsearch را با systemctl شروع کنید. برای شروع کار چند لحظه به Elasticsearch وقت بدهید تا راه اندازی شود. در غیر این صورت ، با خطای عدم امکان اتصال مواجه شوید.
$ sudo systemctl start elasticsearch

سپس ، دستور زیر را اجرا کنید تا Elasticsearch بتواند هر بار که سرور مجازی بوت می شود راه‌اندازی گردد:
$ sudo systemctl enable elasticsearch

با فعال شدن Elasticsearch هنگام راه اندازی ، بیایید به سراغ بحث بعدی در مورد امنیت برویم.
مرحله 3 – امنیت Elasticsearch
به طور پیش فرض ، Elasticsearch توسط هر شخصی که می تواند به HTTP API دسترسی داشته باشد قابل کنترل است. این همیشه یک خطر امنیتی نیست زیرا Elasticsearch فقط در رابط حلقه برگشت (یعنی 127.0.0.1) کار میکند ، که فقط به صورت محلی قابل دسترسی است. بنابراین ، دسترسی عمومی امکان پذیر نیست و تا زمانی که به همه کاربران سرور مجازی اعتماد داشته باشید ، امنیت با مشکلی مواجه نخواهد بود.
اگر نیاز به دسترسی از راه دور باHTTP API دارید ، می توانید میزان قرار گرفتن در معرض شبکه را با فایروال پیش فرض اوبونتو ، UFW ، محدود کنید. اگر مراحل پیش فرض راه اندازی سرور مجازی اولیه با آموزش اوبونتو 18.04 را دنبال کرده باشید ، باید این فایروال فعال باشد.
اکنون فایروال را پیکربندی می کنیم تا به پورت پیش فرض Elasticsearch HTTP API (TCP 9200) برای میزبان از راه دور قابل اعتماد دسترسی پیدا کنیم ، که به طور کلی سرور مجازی مورد استفاده شما در یک تنظیمات تک سرور مجازی ،مانند 198.51.100.0 است. برای دسترسی ، دستور زیر را تایپ کنید:
$ sudo ufw allow from 198.51.100.0 to any port 9200

پس از اتمام کار ، می توانید UFW را با این دستور فعال کنید:
$ sudo ufw enable

در آخر ، وضعیت UFW را با دستور زیر بررسی کنید:
$ sudo ufw status

اگر قوانین را بطور صحیح مشخص کرده باشید ، خروجی باید به این شکل باشد:
Output
Status: active

To Action From
— —— —-
9200 ALLOW 198.51.100.0
22 ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)

UFW اکنون باید برای محافظت از پورت Elasticsearch 9200 فعال و تنظیم شود.
اگر می خواهید روی حفاظت بیشتر سرمایه گذاری کنید ، Elasticsearch افزونه تجاری Shield را برای خرید ارائه می دهد.
مرحله 4 – آزمایش Elasticsearch
اکنون ، Elasticsearch باید در پورت 9200 در حال اجرا باشد. شما می توانید آن را با cURL و درخواست GET تست کنید.
$ curl -X GET ‘http://localhost:9200’

باید پاسخ زیر را مشاهده کنید:
Output
{
“node.name” : “My First Node”,
“cluster.name” : “mycluster1”,
“version” : {
“number” : “2.3.1”,
“build_hash” : “bd980929010aef404e7cb0843e61d0665269fc39”,
“build_timestamp” : “2020-04-04T12:25:05Z”,
“build_snapshot” : false,
“lucene_version” : “5.5.0”
},
“tagline” : “You Know, for Search”
}

اگر پاسخی مشابه پاسخ فوق می بینید ، Elasticsearch به درستی کار می کند. در غیر این صورت ، اطمینان حاصل کنید که دستورالعمل های نصب را به درستی رعایت کرده اید و زمانی را برای شروع کامل Elasticsearch ارائه کرده اید.
برای انجام یک بررسی دقیق تر از Elasticsearch ، دستور زیر را اجرا کنید:
$ curl -XGET ‘http://localhost:9200/_nodes?pretty’

در خروجی از دستور فوق می توانید تمام تنظیمات فعلی گره ، خوشه ، مسیرهای برنامه ، ماژول ها و موارد دیگر را تأیید کنید.
مرحله 5 – استفاده از Elasticsearch
برای شروع استفاده از Elasticsearch ، ابتدا اجازه دهید داده هایی را اضافه کنیم. Elasticsearch از API RESTful استفاده می کند ، که به دستورات معمول CRUD پاسخ می دهد: ایجاد (create ) ، خواندن (read)، به روزرسانی (update) و حذف (delete). برای کار با آن ، دوباره از دستور cURL استفاده خواهیم کرد.
شما می توانید اولین ورودی خود را مانند این اضافه کنید:
$ curl -XPOST -H “Content-Type: application/json” ‘http://localhost:9200/tutorial/helloworld/1’ -d ‘{ “message”: “Hello World!” }’

شما باید پاسخ زیر را دریافت کنید:
Output
{“_index”:”tutorial”,”_type”:”helloworld”,”_id”:”1″,”_version”:2,”result”:”updated”,”_shards”:{“total”:2,”successful”:1,”failed”:0},”_seq_no”:1,”_primary_term”:1}

با cURL ، یک درخواست HTTP POST را به سرور مجازی Elasticsearch ارسال کردیم. URI درخواست /tutorial/helloworld/1 با چندین پارامتر بود:
tutorial  ایندکس داده ها در Elasticsearch است.
helloworld  نوع است.
1  شناسه ورود ما تحت فهرست و نوع فوق است.
شما می توانید این اولین ورودی را با درخواست HTTP GET بازیابی کنید.
$ curl -X GET -H “Content-Type: application/json” ‘http://localhost:9200/tutorial/helloworld/1’ -d ‘{ “message”: “Hello World!” }’

این خروجی باید حاصل شود:
Output
{“_index”:”tutorial”,”_type”:”helloworld”,”_id”:”1″,”_version”:1,”found”:true,”_source”:{ “message”: “Hello, World!” }}

برای تغییر یک ورودی موجود ، می توانید از درخواست HTTP PUT استفاده کنید.
$ curl -X PUT -H “Content-Type: application/json” ‘localhost:9200/tutorial/helloworld/1?pretty’ -d ‘

$ {

$ “message”: “Hello, People!”

$ }’

Elasticsearch باید اصلاح موفقیت آمیز مانند این را تصدیق کند:
Output
{
“_index” : “tutorial”,
“_type” : “helloworld”,
“_id” : “1”,
“_version” : 2,
“_shards” : {
“total” : 2,
“successful” : 1,
“failed” : 0
},
“created” : false
}

در مثال بالا پیام ورودی اول را در “hello people!” تغییر داده ایم. با این کار ، تعداد نسخه به طور خودکار به 2 افزایش یافته است.
ممکن است در درخواست فوق آرگومان اضافی pretty را به خوبی مشاهده کرده باشید. این کار فرمت قابل خواندن توسط انسان را ممکن می سازد تا بتوانید هر فیلد داده را روی یک ردیف جدید بنویسید. همچنین می توانید هنگام بازیابی داده ها نتایج خود را “پیش بینی کنید” تا با وارد کردن دستور زیر ، خروجی خواناتری بدست آورید:
$ curl -X GET -H “Content-Type: application/json” ‘http://localhost:9200/tutorial/helloworld/1?pretty’

در حال حاضر پاسخ برای تجزیه و تحلیل یک انسان فرمت بندی خواهد شد:
Output
{
“_index” : “tutorial”,
“_type” : “helloworld”,
“_id” : “1”,
“_version” : 2,
“found” : true,
“_source” : {
“message” : “Hello, People!”
}
}

اکنون داده های موجود در Elasticsearch اضافه و پرس و جو شده است. برای کسب اطلاعات در مورد سایر عملیات ، لطفاً مستندات API را بررسی کنید.
نتیجه
اکنون Elasticsearch را نصب ، پیکربندی و شروع به استفاده کرده اید. از زمان انتشار اولیه Elasticsearch ، الاستیک سه ابزار اضافی – Logstash ، Kabana و Beats را توسعه داده است که در رابطه با Elasticsearch بعنوان بخشی از Elastic Stack مورد استفاده قرار می گیرد. این ابزارها با همکاری هم ، این امکان را به شما می دهند تا ورودهای ایجاد شده از هر منبع و با هر فرمی را در روشی که به centralized logging شناخته می شود جستجو ، تجزیه و تحلیل کنید. برای شروع کار با Elastic Stack در اوبونتو 18.04 ، لطفاً به راهنمای ما درمورد نحوه نصب Elasticsearch ،Logstash و Kibana (Elastic Stack) در اوبونتو 18.04 مراجعه کنید.

 

از این لینک ها زیر می توانید آمورش های بیشتری برای لینوکس پیدا کنید :

نصب و پیکربندی Ansible در اوبونتو 18.04 – نصب MySQL در اوبونتو 18.04

نظارت بر سلامت سرور با Checkmk در اوبونتو – اجرای چند نسخه PHP بر روی یک سرور

نصب Nginx، MySQL، PHP در CentOS 7 –  نصب و پیکربندی Elasticsearch در اوبونتو 18.04

راه اندازی سرور اولیه با اوبونتو 20.04 – تنظیم کلیدهای SSH در Ubuntu 20.04

نصب و استفاده از PostgreSQL در اوبونتو 20.0 – نحوه نصب MySQL در اوبونتو 20.04

نصب Python 3 روی سرور Ubuntu 18.04 –  نحوه نصب Python 3 روی سرور Ubuntu 20.04

نصب Linux،Apache،MySQL،PHP LAMP در اوبونتو 20.04 –  نصب وب سرور Apache در CentOS 8

نحوه نصب Drupal با Docker Compose –  نحوه نصب Nginx در اوبونتو 20.04

7 مورد از اقدامات امنیتی برای محافظت از سرورهای شما –  نحوه نصب و ایمن سازی Redis در اوبونتو 20.04

نحوه نصب و ایمن سازی Redis در اوبونتو 18.04اضافه کردن فضای Swap در اوبونتو 20.04

چگونه می توان فایروال را با UFW در اوبونتو 20.04 تنظیم کردنظارت بر اطلاعیه و مسیر BGP با BGPalerter اوبونتو 18.04

نصب و ایمن سازی phpMyAdmin در اوبونتو 20.04  –  نصب و استفاده از Composer در اوبونتو 20.04

ریست کردن رمز ورود ریشه MySQL یا MariaDB –  استفاده از نوع داده MySQL BLOB برای ذخیره تصاویر

نصب Nginx در اوبونتو 18.04نصب توزیع Anaconda پایتون در اوبونتو 20.04

نحوه نصب جاوا با Apt در اوبونتو 18.04 –  نحوه نصب Django و تنظیم محیط توسعه در اوبونتو 16.04

نصب جنگو و تنظیم محیط توسعه در اوبونتو 20.04 – نحوه ایجاد سرور Minecraft در اوبونتو 18.04

نحوه راه اندازی یک پروژه Node با Typescript –  نحوه نصب و پیکربندی VNC در اوبونتو 18.04

ایجاد یک برنامه Django و اتصال آن به یک بانک اطلاعاتینصب و پیکربندی VNC در اوبونتو 20.04

نصب MariaDB در اوبونتو 20.04  –  فعال سازی و اتصال رابط کاربری Django

تنظیم پلتفرم Cloud IDE کد سرور را در اوبونتو 18.04پیکربندی Apache HTTP با رویداد MPM و PHP-FPM

 

 

کلمات کلیدی خرید سرور

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکاخرید سرور مجازی ارزان هلندvpsخرید vps هلندخرید سرور مجازی آمریکاخرید vps فرانسهتست vpsسرور مجازی تستسرور مجازی ویندوزارزانترین vpsخرید وی پی اسvps ارزان – 


https://vpsgol.net/product/vps-germany/

https://vpsgol.net/product/vps-usa/

https://vpsgol.net/product/vps-france/

https://vpsgol.net/product/vps-canada/

https://vpsgol.net/product/vps-poland/

https://vpsgol.net/product/vps-netherlands/

https://vpsgol.net/product/vps-england/