CockroachDB是一个高度分布式SQL数据库平台,旨在处理跨多个节点的大规模数据工作负载。它是一个开源的云原生数据库,提供强一致性、高可用性和自动扩展功能。
在今天的内容中,小编将介绍Ubuntu 24.04安装CockroachDB集群的完整过程。如果你又这方面的使用需求,也可以进行简单的了解。
先决条件
在开始操作之前,请确保已经做好以下工作:
- 一个具有至少4GB RAM和2核心CPU的Ubuntu 24.04服务器
- 具有root或sudo访问权限
步骤1:安装CockroachDB
首先将系统软件包更新到最新版本,然后安装所需的依赖项,命令如下:
sudo apt update -y sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
接下来,访问CockroachDB官方下载页面获取最新版本,或者使用以下wget命令直接下载:
wget -qO- https://binaries.cockroachdb.com/cockroach-v24.1.1.linux-amd64.tgz | tar xvz
下载之后,将二进制文件移动到PATH中的目录并验证安装:
sudo cp -i cockroach-v24.1.1.linux-amd64/cockroach /usr/local/bin/ cockroach version
步骤2:初始化CockroachDB集群
要初始化CockroachDB集群,请为Cockroachdb数据创建一个目录并启动CockroachDB节点,以设置初始集群配置:
sudo mkdir -p /var/lib/cockroach sudo chown $(whoami) /var/lib/cockroach cockroach start-single-node --insecure --store=/var/lib/cockroach --listen-addr=localhost:26257 --http-addr=localhost:8080
接下来,打开另一个终端并运行以下命令,通过连接到CockroachDB SQL shell来验证集群初始化:
cockroach sql --insecure --host=localhost:26257
要退出SQL shell,请输入\q
并按Enter。
步骤3:启动CockroachDB作为后台服务
为了将CockroachDB作为后台服务运行,需要创建一个systemd服务文件:
sudo nano /etc/systemd/system/cockroach.service
然后添加以下配置:
[Unit] Description=CockroachDB Documentation=https://www.cockroachlabs.com/docs/ After=network.target [Service] Type=notify ExecStart=/usr/local/bin/cockroach start-single-node --insecure --store=/var/lib/cockroach --listen-addr=localhost:26257 --http-addr=localhost:8080 TimeoutStartSec=0 Restart=always RestartSec=10 [Install] WantedBy=multi-user.target
接下来重新加载systemd管理器配置,启动CockroachDB服务,使其在系统启动时运行,并检查其当前状态:
sudo systemctl daemon-reload sudo systemctl start cockroach sudo systemctl enable cockroach sudo systemctl status cockroach
输出结果应该显示CockroachDB服务处于活动状态并正在运行。
步骤4:访问CockroachDB管理界面
CockroachDB包含一个基于Web的管理UI,用于在以下URL上管理和监控您的集群:
http://localhost:8080
管理界面提供了各种选项卡来监控集群、数据库和节点。在这里,你可以查看指标、性能详细信息等。
步骤5:创建和管理CockroachDB数据库
要与CockroachDB交互,可以使用SQL shell:
cockroach sql --insecure --host=localhost:26257
在CockroachDB中创建并验证数据库:
CREATE DATABASE mydb; SHOW DATABASES;
这时你应该看到可用数据库的列表,包括mydb,如下图所示:
在数据库中创建一个表,命令如下:
USE mydb; CREATE TABLE users ( id SERIAL PRIMARY KEY, name STRING, email STRING UNIQUE );
接下来向其中插入数据并进行查询,示例如下:
INSERT INTO users (name, email) VALUES ('Alice', 'alice@ecscoupon.com'), ('Bob', 'bob@ecscoupon.com'); SELECT * FROM users;
要退出SQL shell,请键入\q
并按Enter。
步骤6:保护CockroachDB集群(可选)
默认情况下,CockroachDB集群以不安全模式运行,不建议在生产环境中使用。
为了保护集群的安全,请使用以下命令为CockroachDB集群生成必要的SSL证书,这将在/home/ravi/cert目录中生成ca.crt和ca.key:
mkdir /home/ravi/cert cockroach cert create-ca --certs-dir=/home/ravi/cert --ca-key=/home/ravi/cert/ca.key
接下来,生成由CA签名的节点证书,这将在/home/ravi/cert目录中生成node.crt和node.key。确保将localhost替换为你自己在CockroachDB节点的主机名或IP地址。
cockroach cert create-node localhost --certs-dir=/home/ravi/cert --ca-key=/home/ravi/cert/ca.key
现在在证书上设置正确的权限,命令如下:
sudo chmod 600 /home/ravi/cert/*.crt /home/ravi/cert/*.key
最后,修改你的systemd服务文件“cockroach.service”:
sudo nano /etc/systemd/system/cockroach.service
更新ExecStart
行以包含SSL/TLS和身份验证标志:
cockroach start --certs-dir=/home/ravi/cert --listen-addr=localhost:26257 --http-addr=localhost:8080 --join=localhost:26257,localhost:26258,localhost:26259
进行这些更改后,重新加载systemd管理器配置并重新启动CockroachDB以应用新证书:
sudo systemctl daemon-reload sudo systemctl restart cockroach
验证是否可以使用新的SSL/TLS证书访问CockroachDB:
cockroach sql --certs-dir=/home/ravi/cert --host=localhost:26257
小结
在上述内容中,简单介绍了Ubuntu 24.04系统安装和配置CockroachDB的详细步骤,主要包括下载和安装CockroachDB、初始化集群、并将其作为后台服务运行以及访问管理UI。
此外,同时还一并介绍了使用SQL shell的基本数据库操作,都比较简单通俗易懂。如果你有CockroachDB集群方面的使用设置,可以按照上述教程进行操作。