راه اندازی HarperDB بر روی سرور Equinix Bare Metal
فهرست مطالب
مقدمه ای بر HarperDB
HarperDB یک است پلت فرم داده لبه توزیع شده در سطح جهانی که برای مدیریت حجم عظیمی از داده ها طراحی شده است تأخیر بسیار کم. راه حل های دیگر پایگاه داده لبه نوشتن بهینه نیستند و تکثیر سراسری کند است. در حالی که HarperDB بهینه سازی شده برای خواندن و نوشتن است و تا 20K نوشتن در ثانیه در هر گره را با 110 میلی ثانیه تکرار جهانی انجام می دهد.
روش خوشهبندی HarperDB به سازگاری نهایی متکی است تا بسیار کارآمدتر از گزینههای سنتی باشد، و نمیتوانید پایگاه داده را در سطح جهانی قفل کنید. اطلاعات بیشتر در مورد HarperDB و موارد استفاده ای که سعی در حل آن دارد را در این وبلاگ بخوانید.
HarperDB راه حل های ذکر شده در زیر را دارد و اگر سازمانی به دنبال راه حل های پایگاه داده در این زمینه هستید، می توانید از HarperDB برای نیاز خود استفاده کنید.
- پایگاه داده توزیع شده
- Edge Computing / Edge Caching
- صرفه جویی در زیرساخت
راه های میزبانی HarperDB
راههای مختلفی برای شروع کار با HarperDB وجود دارد، اما سریعترین راه برای راهاندازی و اجرا با HarperDB استفاده از HarperDB Cloud است.
همچنین امکان نصب HarperDB بر روی نمونه های ابری در ارائه دهندگان ابر عمومی مانند AWS، Azure، GCP و ارائه دهندگان On Premise Cloud مانند Equinix و Linode وجود دارد.
در این وبلاگ نحوه راه اندازی پایگاه داده HarperDB در سرور Equinix Cloud Bare Metal و ایجاد مراحل ایجاد یک طرح DB، جدول و درج یک رکورد را خواهیم دید.
مقدمه ای بر Equinix Bare Metal
Equinix یکی از پیشروان در ارائه فلز برهنه به عنوان یک محصول خدماتی است. برای شروع با Equinix می توانید در اینجا ثبت نام کنید.
راه اندازی حساب Equinix و تکمیل پیش نیازها
در این بخش مراحل شروع کار با Equinix را خواهیم دید.
مرحله 1: ثبت نام برای یک حساب کاربری،
مرحله 2: در طول ثبت نام، باید روش پرداخت را برای صورتحساب اضافه کنیم (برای دریافت اعتبار آزمایشی 250 دلاری، کد “deploynow” را اعمال کنید)
مرحله 3: یک سازمان و یک پروژه تحت سازمان ایجاد کنید
مرحله 5: روی نام پروژه کلیک کنید تا به صفحه پروژه بروید
مرحله 6: روی Project Settings > SSH Keys کلیک کنید
مرحله 7: یک کلید ssh در ایستگاه کاری خود ایجاد کنید که از آن با استفاده از روش SSH به “Equinix Instance” وارد می شویم. اگر در ایجاد کلید SSH برای ایستگاه کاری خود تازه کار هستید، راهنمای اینجا را دنبال کنید
مرحله 8: کلید عمومی (به طور کلی نام فایل id_rsa.pub خواهد بود) را از فایلی که با *.pib ختم می شود کپی کنید.
مرحله 9: با افزودن «افزودن کلید جدید»، مقدار کلید عمومی را در صفحه کلید SSH جایگذاری کنید.
یک سرور درخواستی در Equinix ایجاد کنید
در این بخش ما مراحل استقرار سرور درخواستی خود را برای نصب HarperDB خواهیم دید.
مرحله 1: به پروژه > Bare metal servers > On demand بروید
مرحله 2: به تب “Classic” بروید، منطقه مترو را که می خواهید سرور HarperDB را در آن میزبانی کنید، انتخاب کنید.
مرحله 3: سیستم عامل را انتخاب کنید – برای این نسخه ی نمایشی HarperDB من سیستم عامل “Ubuntu 20.04” را انتخاب کرده ام.
مرحله 4: “تنظیمات اختیاری” را باز کنید و به “کلیدهای SSH” بروید تا کلید SSH را که قبلا اضافه کردهایم انتخاب کنید.
مرحله 5: خلاصه را تأیید کنید و روی “Deploy Now” کلیک کنید
مرحله 6: می توانیم مشاهده کنیم که نمونه سرور در حال استقرار است
مرحله 7: پس از مدتی استقرار نمونه کامل خواهد شد و میتوانیم ببینیم که نمونه در حال اجرا است
مرحله 8: روی نمونه «نام میزبان» کلیک کنید تا جزئیات نمونه باز شود
با استفاده از SSH وارد سرور شوید
با استفاده از آدرس IPV4 عمومی، می توانیم با استفاده از روش SSH وارد سرور شویم
هنگام ایجاد نمونه از جفت کلید خصوصی کلید عمومی که در کلید SSH اضافه کرده ایم استفاده کنید. در مسیر قرار خواهد گرفت ~/.ssh
$ ssh -i ~/.ssh/equinix_key root@145.40.77.227
The authenticity of host '145.40.77.227 (145.40.77.227)' can't be established.
ED25519 key fingerprint is SHA256:A8G3NWfuX9wEvSbiTtReGwSqouiUirqvXbfBjB/StmM.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '145.40.77.227' (ED25519) to the list of known hosts.
Welcome to Ubuntu 18.04.6 LTS (GNU/Linux 5.4.0-137-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information as of Thu Apr 6 05:42:41 UTC 2023
System load: 0.25 Processes: 261
Usage of /: 0.5% of 438.04GB Users logged in: 0
Memory usage: 1% IP address for bond0: 145.40.77.227
Swap usage: 0%
0 updates can be applied immediately.
Your Hardware Enablement Stack (HWE) is supported until April 2023.
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
root@c3-small-x86-01:~#
حالا وارد سرور شدیم و مراحل نصب HarperDB را در سرور Equinix می بینیم.
HarperDB را بر روی سرور Equinix نصب و اجرا کنید
پیش نیازها
من مراحل نصب موجود در اینجا را دنبال کردم و مراحل نصب لینوکس را برای نصب دنبال کردم nvm
، از آنجایی که ما سیستم عامل اوبونتو را در Equinix مستقر کردیم.
از آنجایی که این فقط یک نصب آزمایشی است، من از بخش پیکربندی LVM و پیکربندی حجم داده صرفنظر کرده ام.
اکنون HarperDB به npm و NodeJS نیاز دارد. بنابراین باید آنها را با استفاده از
nvm
– Node version manager که راه پیشنهادی برای نصب NodeJS و npm است
من از دستورات زیر برای نصب استفاده کرده ام nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
پس از اجرای دستورات بالا، می توانید از سرور Equinix خارج شده و مجددا وارد شوید تا تغییرات اعمال شوند.
exit
سپس نصب کنید nvm
نسخه 17 که برای من خوب کار کرد.
nvm install 17
نصب HarperDB با استفاده از npm
من از روش نصب آفلاین برای نصب HarperDB در Equinix استفاده کرده ام.
مرحله 1: بسته نصبی را دانلود کنید
wget https://products-harperdb-io.s3.us-east-2.amazonaws.com/harperdb-4.0.5.tgz
مرحله 2: با استفاده از npm نصب کنید
sudo npm install -g harperdb-4.0.5.tgz harperdb install
برخی مراحل اختیاری در اسناد موجود است که می تواند به HarperDB کمک کند تا هنگام بوت شدن سیستم عامل شروع به کار کند.
HarperDB را در Equinix اجرا کنید
پس از نصب موفقیت آمیز دستور را اجرا کنید harperdb run
برای راه اندازی پایگاه داده
دستورات را برای راه اندازی پایگاه داده دنبال کنید
$ harperdb run
This version of HarperDB is tested against Node.js version 18.13.0, the currently installed Node.js version is: 17.9.1. Some issues may occur with untested versions of Node.js.
Starting HarperDB...
HarperDB not found, starting install process.
Starting HarperDB install...
Terms & Conditions can be found at https://harperdb.io/legal/end-user-license-agreement
and can be viewed by typing or copying and pasting the URL into your web browser.
I Agree to the HarperDB Terms and Conditions. (yes/no) yes
Please enter a destination for HarperDB: /root/hdb
Please enter a server listening port for HarperDB: 9925
Please enter a username for the HDB_ADMIN: HDB_ADMIN
Please enter a password for the HDB_ADMIN: [hidden]
HarperDB installation was successful.
▒▒▒▓▓▓▓▓▓▓▓▓▓▓▒▒
▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒
▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▒▒
▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▒
▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▒
▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▒▒
▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒
▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒
▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒
▒▒▒▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒
▒▒▒▒▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒
▒▒▒▓▓▒▒▒▒▒▒▒▒▒▒▒
▒▒▒▒▒▒▒
HarperDB, Inc. Denver, CO.
|------------- HarperDB 4.0.5 successfully started ------------|
روش جایگزین برای اجرای HarperDB
همچنین یک فرمان تک خطی برای اجرای HarperDB وجود دارد که تمام آرگومان های فراخوانی پایگاه داده را به عنوان گزینه های CLI ارسال می کند.
harperdb install --TC_AGREEMENT "yes" --ROOTPATH "/home/ubuntu/hdb" --OPERATIONSAPI_NETWORK_PORT "9925" --HDB_ADMIN_USERNAME "HDB_ADMIN" --HDB_ADMIN_PASSWORD "abc123!"
با استفاده از Equinix IP به HarperDB دسترسی پیدا کنید
HarperDB در سرور اجرا می شود، بنابراین می توان از طریق localhost:port به آن دسترسی داشت http://localhost:9925
همچنین میتوانیم با استفاده از «equinix-public-ip:port» از خارج به سرور دسترسی داشته باشیم http://145.40.77.227:9925
شروع به استفاده از HarperDB میزبانی شده در Equinix کنید
اکنون نحوه ایجاد یک طرح DB، ایجاد جداول و درج رکوردها در آن را خواهیم دید.
به «مثالهای شروع سریع» در اسناد API مراجعه کنید تا روشهای برنامهنویسی مختلف برای ایجاد عناصر HarperDB مانند طرحواره، جداول و غیره را بررسی کنید.
من با استفاده از curl
روش بازی با HarperDB
ایجاد طرحواره
root@c3-small-x86-01:~ curl --location --request POST -u HDB_ADMIN:admin123 'http://localhost:9925' --header 'Content-Type: application/json' --data-raw '{
"operation": "create_schema",
"schema": "dev"
}'
{"message":"schema 'dev' successfully created"}
ایجاد جدول
root@c3-small-x86-01:~ curl --location --request POST -u HDB_ADMIN:admin123 'http://localhost:9925' --header 'Content-Type: application/json' --data-raw '{
"operation": "create_table",
"schema": "dev",
"table": "dog",
"hash_attribute": "id"
}'
{"message":"table 'dev.dog' successfully created."}
یک رکورد درج کنید
root@c3-small-x86-01:~ curl --location --request POST -u HDB_ADMIN:admin123 'http://localhost:9925' --header 'Content-Type: application/json' --data-raw '{
"operation": "insert",
"schema": "dev",
"table": "dog",
"records": [
{
"id": 1,
"dog_name": "Penny",
"owner_name": "Kyle",
"breed_id": 154,
"age": 7,
"weight_lbs": 38
}
]
}'
{"message":"inserted 1 of 1 records","inserted_hashes":[1],"skipped_hashes":[]}
نتیجه
در این مقاله، ما در مورد معرفی پلت فرم داده HarperDB و چگونگی شروع آسان با راه اندازی HarperDB در سرور درخواستی فلزی Equinix Bare بحث کردیم.
همچنین نحوه دسترسی به پایگاه داده را بررسی کردیم و سعی کردیم یک طرحواره DB، جدول و رکورد ایجاد کنیم.
امیدواریم این مقاله برای متخصصان پایگاه داده، توسعه دهندگان و معماران داده که به دنبال آموزش نصب HarperDB بر روی سرورهای فلزی برهنه Equinix هستند، مفید باشد.
مراجع سند
شروع HarperDB
اسناد HarperDB API
شروع Equinix
کارهای من را دنبال کنید و تماس بگیرید
این سراوانان است، من یک مبشر DevOps هستم | Tech Blogger | مربی | AWS Community Builder | سفیر Hashicorp | سازنده محتوا