跳转到主要内容

部署独立模式的 Databend

部署独立模式的 Databend

Databend支持自托管和云对象存储解决方案。 本专题介绍如何部署一个独立模式的Databend。 Databend 支持的对象存储解决方案见 了解部署模式

设置您的对象存储

a. 参考 MinIO Quickstart Guide 下载并安装 MinIO 到您的本地机器。

b. 打开终端窗口并导航到存放 MinIO 的文件夹。

c. 运行命令vim server.sh来创建一个包含以下内容的文件:

~/minio$ cat server.sh
export MINIO_ROOT_USER=minioadmin
export MINIO_ROOT_PASSWORD=minioadmin
./minio server --address :9900 ./data

d. 运行以下命令来启动 MinIO 服务器:

chmod +x server.sh
./server.sh

e. 用浏览器打开http://127.0.0.1:9900并输入账号(`minioadmin` / minioadmin) ,登录到 MinIO 控制台。

f. 在 MinIO 控制台中,创建一个名为 databend 的 bucket。

下载 Databend

a. Create a folder named databend in the directory /usr/local.

b. 从 Github 下载并提取最新版本的 Databend:

curl -LJO https://github.com/datafuselabs/databend/releases/download/${version}/databend-${version}-x86_64-unknown-linux-musl.tar.gz
tar xzvf databend-${version}-x86_64-unknown-linux-musl.tar.gz

c. 将提取的 bin, configs, 和 scripts 文件夹移动到 /usr/local/databend

部署 Meta 节点

a. 在文件夹 /usr/local/databend/configs中打开文件 databend-meta.toml, 把所有的127.0.0.1 替换成0.0.0.0

b. Open a terminal window and navigate to the folder /usr/local/databend/bin.

c. 运行以下命令来启动 Meta 节点:

./databend-meta -c ../configs/databend-meta.toml > meta.log 2>&1 &

d. 运行以下命令来检查 Meta 节点是否成功启动:

curl -I  http://127.0.0.1:28101/v1/health

部署查询节点

a. 在文件夹 /usr/local/databend/configs中打开文件 databend-query.toml, 把所有的127.0.0.1 替换成0.0.0.0

b. 在文件 databend-query.toml中,如果您正在使用 S3 兼容的对象存储,请将[storage] 模块下的参数 type 设置为 s3 ;如果您正在使用 Azure Blob存储,设置为 azblob

[storage]
# fs | s3 | azblob | gcs | obs
type = "s3"

c. 先把 [storage.fs] 模块注释掉;如果您使用S3 兼容的对象存储,把 [storage.s3] 模块取消注释;如果使用 Azure Blob存储,则把[storage.azblob] 模块取消注释。

# Set a local folder to store your data.
# Comment out this block if you're NOT using local file system as storage.。
#[storage.fs]
#data_path = "benddata/datas"

# To use S3-compatible object storage, uncomment this block and set your values.
[storage.s3]
bucket = "<your-bucket-name>"
endpoint_url = "<your-endpoint>"
access_key_id = "<your-key-id>"
secret_access_key = "<your-account-key>"

# To use Azure Blob storage, uncomment this block and set your values.
# [storage.azblob]
# endpoint_url = "https://<your-storage-account-name>.blob.core.windows。 et"
# container = "<your-azure-storage-container-name>"
# account_name = "<your-storage-account-name>"
# account_key = "<your-account-key>"

# To use Google Cloud Storage, uncomment this block and set your values.
# [storage.gcs]
# bucket = "<your-bucket-name>"
# credential = "<your-credential>"

# To use Huawei Cloud OBS Storage, uncomment this block and set your values.
# [storage.obs]
# bucket = "<your-bucket-name>"
# endpoint_url = "<your-endpoint>"
# access_key_id = "<your-key-id>"
# secret_access_key = "<your-account-key>"

d. 设置 [storage.s3][storage.azblob][storage.gcs][storage.obs] 模块。 请注意字段 endpoint_url 是指您存储区域的服务 URL 并且根据您使用的对象存储解决方案而变化:

[storage]
# s3
type = "s3"

[storage.s3]
bucket = "databend"
endpoint_url = "http://127.0.0.1:9900"
access_key_id = "minioadmin"
secret_access_key = "minioadmin"

e. Open a terminal window and navigate to the folder /usr/local/databend/bin.

f. 运行以下命令来启动查询节点:

./databend-query -c ../configs/databend-query.toml > query.log 2>&1 &

g. 运行以下命令来检查查询节点是否成功启动:

curl -I  http://127.0.0.1:8080/v1/health

验证部署

在本节中,我们进行一些查询来验证部署。

a. 下载并在本地安装 MySQL 客户端。

b. Create a connection to 127.0.0.1 from your SQL client. In the connection, set the port to 3307, and set the username to root.

tip

创建新用户root 用户只能在访问本地安装的 Databend 时使用。 您需要创建新用户并授予适当的权限,才能远程连接到Databend。 For example,

-- Create a user named "eric" with the password "databend"
CREATE USER eric IDENTIFIED BY 'databend';

-- Grant the ALL privilege on all existing tables in the default database to the user eric:
GRANT ALL ON default.* TO eric;

For more information about creating new users, see CREATE USER.

c. 运行以下命令并检查查询是否成功:

CREATE TABLE t1(a int);

INSERT INTO t1 VALUES(1), (2);

SELECT * FROM t1;

启动和停止 Databend

每次启动或停止 Databend 时,只需运行文件夹 /usr/local/databend/scripts 中的脚本:

# 启动 Databend
./script/start.sh

# 停止 Databend
./script/stop.sh