行业资讯

立即注册 咨询客服

当前位置:首页 > 行业资讯> 如何在Ubuntu 18.04上安装CockroachDB数据库集群

如何在Ubuntu 18.04上安装CockroachDB数据库集群

发布时间:2019年06月26日 11:58:03    来源: A5互联

CockroachDB是一个可扩展的分布式SQL数据库,可以在本地,云端甚至跨云部署。它是一个始终在线的数据库集群,可以具有附加位置,以确保用户的低延迟,无论他们身在何处。CockroachDB还能够在磁盘、机器、机架甚至数据中心故障中存活,延迟几乎为零,不需要人工干预。

这里将介绍完成在Ubuntu Server 18.04上安装CockroachDB集群的过程。

一、准备工作

为了使此过程有效,您需要:

Ubuntu Server 18.04的三个实例。并且都要具有sudo权限的帐户。

对于我们的Ubuntu服务器,我们将使用以下主机名/ IP地址:

cockroachdbcontrol at 192.168.1.7

cockroachnode2 at 192.168.1.8

cockroachnode3 at 192.168.1.9

当然,您可以使用您需要的任何主机名和IP地址。如果您确实更改了这些,请务必在本教程中进行更改。

二、同步时间

首先,确保服务器的时钟彼此同步。为此,请安装chrony。

在每台服务器上打开一个终端窗口并发出命令:

sudo apt-get install chrony -y

安装后,您需要使用您所在国家/地区的NTP池配置chrony。在每台服务器上,发出命令:

sudo nano /etc/chrony/chrony.conf

您需要编辑默认的NTP池行,并将其替换为您所在国家/地区的行。例如,在美国,这些行将是:

pool 0.us.pool.ntp.org iburst maxsources 1

pool 1.us.pool.ntp.org iburst maxsources 1

pool 2.us.pool.ntp.org iburst maxsources 2

pool 3.us.pool.ntp.org iburst maxsources 2

保存并关闭这些文件。使用以下命令重新启动并启用chrony:

sudo systemctl restart chrony

sudo systemctl enable chrony

三、安装CockroachDB

CockroachDB未通过标准方式安装。相反,您需要下载二进制文件,将其解压缩并将其移动到正确的目录中。这是通过以下命令完成的:

wget https://binaries.cockroachdb.com/cockroach-latest.linux-amd64.tgz

tar -xvzf cockroach-latest.linux-amd64.tgz

sudo cp cockroach  -  * / cockroach / usr / local / bin /

四、创建必要的证书

接下来,为了彼此通信,每个CockroachDB服务器都需要证书。这可以通过USntu Server附带的OpenSSL来完成。首先要做的是创建必要的目录来存放证书,然后为目录设置环境变量。这是在所有三台服务器上完成的。

首先,使用以下命令创建必要的目录:

mkdir -p $ {HOME} /。cockroach-certs /

接下来,使用以下命令设置环境变量:

export COCKROACH_CERTS_DIR ='$ {HOME} /。cockroach-cert

转到cockroachdbcontrol并使用以下命令生成证书颁发机构:

cockroach cert create-ca --certs-dir = $ COCKROACH_CERTS_DIR --ca-key = $ COCKROACH_CERTS_DIR / ca.key

现在,我们可以使用scp命令将该密钥复制到其他服务器,并使用以下命令(在cockroachdbcontrol上运行):

scp~ / .cockroach-certs / ca.crt~ / .cockroach-certs / ca.key USER@192.168.1.8:〜/ .cockroach-certs /

scp~ / .cockroach-certs / ca.crt~ / .cockroach- certs / ca.key USER@192.168.1.9:〜/ .cockroach-certs /

USER是用于在两个节点上创建证书目录的用户帐户。

接下来,我们需要创建将用于保护SQL shell和集群之间通信的客户端证书。必须在所有三台服务器上运行以下命令:

cockroach cert create-client root --certs-dir = $ COCKROACH_CERTS_DIR --ca-key = $ COCKROACH_CERTS_DIR / ca.key

最后,我们必须创建服务器证书。在cockroachdbcontrol上发出以下命令:

cockroach cert create-node localhost $(hostname)192.168.1.7 --certs-dir = $ COCKROACH_CERTS_DIR --ca-key = $ COCKROACH_CERTS_DIR / ca.key

在cockroachnode2上发出以下命令:

cockroach cert create-node localhost $(hostname)192.168.1.8 --certs-dir = $ COCKROACH_CERTS_DIR --ca-key = $ COCKROACH_CERTS_DIR / ca.key

在cockroachnode3上发出以下命令:

cockroach cert create-node localhost $(hostname)192.168.1.9 --certs-dir = $ COCKROACH_CERTS_DIR --ca-key = $ COCKROACH_CERTS_DIR / ca.key

五、初始化群集

是时候初始化我们的集群了。在cockroachdbcontrol上,发出命令:

cockroach start --background --certs-dir = $ COCKROACH_CERTS_DIR --advertise-host = 192.168.1.7 --listen-addr = 192.168.1.7

您可以使用以下命令检查群集节点状态:

cockroach node status --host=192.168.1.7

这里应该列出cockroachdbcontrol机器。

六、加入节点

在控制器接受连接的情况下,我们现在可以加入节点。转到cockroachnode2并发出命令:

cockroach start --background --certs-dir = $ COCKROACH_CERTS_DIR --advertise-host = 192.168.1.8 --listen-addr = 192.168.1.8 --join = 192.168.1.7:26257

接下来,转到cockroachnode3并发出命令:

cockroach start --background --certs-dir = $ COCKROACH_CERTS_DIR --advertise-host = 192.168.1.9 --listen-addr = 192.168.1.9 --join = 192.168.1.7:26257

返回到cockroachdbcontrol并发出命令:

cockroach node status --host=192.168.1.7

您现在应该看到所有节点都已连接到集群。

七、创建数据库用户

回到cockroachdbcontrol并首先使用以下命令登录shell来创建数据库:

cockroach sql --certs-dir = $ COCKROACH_CERTS_DIR --host = 192.168.1.7

使用以下命令创建数据库用户:

使用PASSWORD'密码'创建用户名用户名;

其中username是用户名,密码是强密码。

创建用户后,您可以通过http:// SERVER_IP:8080(其中SERVER_IP是cockroachdbcontrol的IP地址)登录到CockroachDB Web界面,并使用您在CockroachDB shell中创建的用户名和密码登录服务。登录后,您可以开始从Web浏览器界面管理数据库。

以上就是设置CockroachDB集群的全部内容。您的弹性数据库现在已准备就绪。借助Web界面,您可以轻松创建和管理数据库和群集。