如何在 Debian 11 上安装 CockroachDB 集群如何在 Debian 11 上安装 CockroachDB 集群如何在 Debian 11 上安装 CockroachDB 集群如何在 Debian 11 上安装 CockroachDB 集群
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Debian 11 上安装 CockroachDB 集群

在此页

  1. 先决条件
  2. 在所有 3 台服务器上安装 CockroachDB
  3. 设置防火墙
  4. 初始化 CockroachDB 集群
  5. 测试在 CockroachDB 上创建新数据库
  6. 结论

CockroachDB 是一个用于云应用程序的开源分布式和可扩展 SQL 数据库。 CockroachDB 提供下一级一致性、复制 SQL 数据库和事务数据存储。 CockroachDB 将您的数据存储在多个位置,从而加快数据传输速度。此外,它易于扩展并为您的应用程序提供高可用性和容错能力。

在本教程中,我们将向您展示如何在 Debian 11 服务器上安装 CockroachDB 集群。

先决条件

  • 两台或多台 Debian 11 服务器。
  • 在服务器上配置了根密码。

在所有 3 台服务器上安装 CockroachDB

对于安装,cockroachdb 很容易安装。这是因为 cockroachdb 为 Linux 系统提供了一个二进制文件,您可以将其下载到您的系统中。

使用以下命令下载适用于 Linux 的 cockroachdb 二进制文件。此命令将下载 cockroachdb 二进制文件,解压缩压缩文件,然后将 cockroachdb 二进制文件移动到 /usr/local/bin 目录。

curl https://binaries.cockroachdb.com/cockroach-v21.2.8.linux-amd64.tgz | tar -xz && sudo cp -i cockroach-v21.2.8.linux-amd64/cockroach /usr/local/bin/

cockroachdb 使用自定义的内置 GEOS 库。 GEOS 库包含在 cockroachdb 的压缩文件中,必须安装在 lib 目录中。

使用以下命令创建一个新目录 /usr/local/lib/cockroach。

mkdir -p /usr/local/lib/cockroach

现在将 GEOS 库复制到 /usr/local/lib/cockroach 目录。

cp -i cockroach-v21.2.8.linux-amd64/lib/libgeos.so /usr/local/lib/cockroach/
cp -i cockroach-v21.2.8.linux-amd64/lib/libgeos_c.so /usr/local/lib/cockroach/

cockroachdb 的基本安装安装在 Debian 服务器上。

运行以下命令来检查 cockroachdb 二进制文件和您刚刚安装的 cockroachdb 的当前版本。

which cockroach
cockroach version

您将获得以下输出。

设置防火墙

如果您在 Debian 服务器上运行防火墙,则需要将 cockroachdb 端口添加到防火墙配置中。

cockroachdb 使用端口 8080 进行基于 Web 的管理 cockroachdb,使用端口 26257 进行用户连接和集群配置。

使用以下命令将端口 8080 和 25267 添加到 UFW 防火墙。

sudo ufw allow 8080/tcp
sudo ufw allow 26257/tcp

现在重新加载 UFW 防火墙规则并验证防火墙规则的当前状态。

sudo ufw reload
sudo ufw status

您可以在下方看到端口 8080 和 25267 已添加到 UFW 防火墙。

初始化 CockroachDB 集群

要初始化 cockroachdb 集群,请在 server11 上运行以下命令。

您将需要更改以下选项的值:

  • --store:用于存储CockroachDB集群的数据。
  • --listen-addr:cockroachdb 将在服务器上运行的 IP 地址。 cockroachdb 的默认端口是端口 25267。
  • --http-addr: cockroachdb 基于 Web 的管理将在哪个 IP 地址上运行。 cockroachdb 的默认基于 Web 的管理是端口 8080。

cockroach start \
--insecure \
--store=server11 \
--listen-addr=192.168.10.11:26257 \
--http-addr=192.168.10.11:8080 \
--join=192.168.10.11:26257,192.168.10.13:26258,192.168.10.14:26259 \
--background

您将获得以下输出。

现在移动到 server2 并运行以下命令来启动 cockroachdb 并加入集群。将 --listen-addr 和--http-addr 上的IP 地址更改为server2 的IP 地址。

cockroach start \
--insecure \
--store=server2 \
--listen-addr=192.168.10.13:26257 \
--http-addr=192.168.10.13:8080 \
--join=192.168.10.11:26257,192.168.10.13:26258,192.168.10.14:26259 \
--background

您将从 server2 获得以下输出。

接下来,移动到 server3 并运行以下命令以启动 cockroachdb 并加入 cockroachdb 集群。另外,将--listen-addr 和--http-addr 的IP 地址更改为server3 的IP 地址。

cockroach start \
--insecure \
--store=server3 \
--listen-addr=192.168.10.14:26257 \
--http-addr=192.168.10.14:8080 \
--join=192.168.10.11:26257,192.168.10.13:26258,192.168.10.14:26259 \
--background

您将从 server3 获得以下输出。

全部完成后,回到server11运行下面的命令初始化cockroachdb集群。

cockroach init --insecure --host=192.168.10.11:26257

你会得到 cluster successfully initialized 的输出消息,这意味着 cockroachdb 集群已成功初始化。

您可以运行下面的 grep 命令来查看 cockroachdb 初始化的日志。将 server11 目录更改为您的 --store cockroachdb 目录。

grep 'node starting' server11/logs/cockroach.log -A 11

您可以在下面看到来自 server11 cockroachdb 集群初始化的日志。

最后,打开您的网络浏览器并访问服务器 IP 地址和端口 8080。

下面你可以看到 cockroachdb 集群上有三个节点。

测试在 CockroachDB 上创建新数据库

现在 cockroachdb 集群正在运行,您可以使用任何服务器作为 SQL 网关来访问 cockroachdb。

在server11上运行cockroach命令连接到cockroachdb集群。

cockroach sql --insecure --host=192.168.10.11:26257

连接到 SQL shell 后,运行以下查询以创建新数据库。

CREATE DATABASE bank;

现在使用以下查询在数据库上创建一个新表。

CREATE TABLE bank.accounts (id INT PRIMARY KEY, balance DECIMAL);

接下来,将示例数据导入表中。

INSERT INTO bank.accounts (1, 1000.50);

使用以下查询验证数据库中的数据。

SELECT * FROM bank.accounts;

您将获得以下输出。

接下来,移动到 server2 或 server3 并使用以下命令登录到 cockroachdb SQL shell。

cockroach sql --insecure --host=192.168.10.14:26257

连接到 server3 上的 SQL shell 后,运行以下查询来检查和验证数据库复制。

SELECT * FROM bank.accounts;

您将看到来自 server11 的数据库和数据自动复制到 server2 和 server3。

结论

恭喜!您现在已经在 Debian 11 服务器上安装并配置了 cockroachdb 集群。此外,您还学习了如何连接到 cockroachdb shell 以及用于创建数据库和插入数据的基本 SQL 命令。

©2015-2025 艾丽卡 support@alaica.com