Equinix Bare Metal Server上的设置HarperdB
#编程 #教程 #database #harperdb

目录

Harperdb简介

harperdb是全球分布的边缘数据平台,旨在处理具有 超低潜伏期的大量数据。其他边缘数据库解决方案未进行优化,全局复制速度很慢。而HarperdB的读写优化,每节点每秒写入20k以上的写入,全局复制为110毫秒。

Harperdb的聚类方法依赖于最终的一致性比传统选择更有效,并且您可以在全球范围内锁定数据库。阅读有关Harperdb及其在此blog中试图解决的用例的更多信息。

harperdb具有以下列出的解决方案,如果您是一个正在寻找该领域数据库解决方案的组织,则可以利用Harperdb来满足您的需要,

  • 分布式数据库
  • Edge Computing / Edge Caching
  • 基础设施储蓄

托管HarperdB的方法

HarperdB有多种可用方法,但是使用HarperdB启动和运行的最快方法是Harperdb Cloud。

也可以在诸如AWS,Azure,GCP和前提云提供商等公共云提供商的云实例上安装HarperDB。

在此博客中,我们将看到如何在Equinix Cloud Bare Metal Server中设置Harperdb数据库,并创建步骤以创建DB模式,表格和插入记录。

Equinix Bare Metal的简介

Equinix是提供按需裸金属作为服​​务产品的领导者之一。您可以sign-up here开始使用Equinix。

Equinix帐户设置并完成先决条件

在本节中,我们将看到以Equinix开始的步骤。

步骤1:注册帐户,
步骤2:在注册期间,我们需要添加用于帐单的付款方式(适用deploynow守则以获取250美元的审判信用额)
步骤3:在组织下创建一个组织和一个项目

Equinix Org Project

步骤5:单击项目的名称以转到项目页面
步骤6:单击项目设置> SSH键

步骤7:在您的工作站中创建一个SSH键,我们将使用SSH方法从中登录到Equinix实例。如果您是新手为工作站创建SSH键,请关注guide here
步骤8:复制以 *.pib
结尾的文件(通常为文件名是id_rsa.pub) 步骤9:通过添加新的添加新键来粘贴SSH密钥页面中的公共密钥值。

new ssh key

在Equinix中创建On Dempor服务器

在本节中,我们将看到部署按需服务器安装Harperdb的步骤。
步骤1:转到项目>裸金属服务器>按需

Step 1 select ondemand

步骤2:转到“经典”选项卡,选择要托管HarperdB服务器的地铁区域。

Step 2 equinix create

步骤3:选择操作系统 - 对于此harperdb演示,我选择了obuntu 20.04

Step 3 equinix create

步骤4:扩展可选设置,然后转到SSH键选择SSH键,我们添加了

Step 4 equinix create

步骤5:验证摘要并单击现在部署
步骤6:我们可以观察服务器实例正在部署

Step 6 equinix create

步骤7:一段时间后,实例部署将完成,我们可以看到实例已启动并运行

Step 7 equinix create

步骤8:单击实例âhostnameâ以打开实例详细信息

Step 8 equinix create

使用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:~#

现在,我们登录了服务器,让我们查看在Equinix服务器中安装HarperDB的步骤。

在Equinix服务器上安装并运行HarperdB

先决条件

我遵循可用的安装步骤here,并遵循Linux安装步骤以安装nvm,因为我们在Equinix中部署了Ubuntu OS。

由于它只是一个演示安装,因此我跳过了LVM配置并配置数据卷部分。
现在,HarperdB需要NPM和NODEJS。因此,我们需要使用

安装它们 nvm -节点版本管理器,这是安装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

使用NPM安装HarperdB

我使用离线安装方法在Equinix中安装HarperdB。

步骤1:Download installation package

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在操作系统靴时开始。

在Equinix中运行HarperdB

成功安装执行命令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:at as http://145.40.77.227:9925

从外部访问服务器

开始使用Equinix中托管的harperdb

我们现在将看到如何创建DB模式,创建表并插入其中的记录。

请参阅API docs中的快速启动示例,以探索用于创建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数据平台的简介,以及如何轻松开始使用Equinix Bare Metal On-Demand服务器中的HarperdB设置。
另外,我们已经介绍了如何访问数据库并尝试创建DB模式,表和记录。
希望本文对于数据库专业人员,开发人员和数据架构师应该有用

文档参考

harperdb Getting Started
Harperdb API documentation
Equinix Getting Started

跟随我的工作并取得联系,
这是萨拉瓦南(Saravanan),我是一个开发传教士|技术博客作者|导师| AWS社区建设者| Hashicorp大使|内容创建者