本文将向大家介绍如何在一台机器上(可以是物理机,也可以是一台虚拟机)创建insecure多节点CockroachDB集群(在示例中我们将创建一个具有3节点的CRDB数据库集群)。这种方式创建的集群非常适合大家学习CRDB使用。在本人后续的很多文章中所描述的示例,为了方便大家试验和运行将采用这种方式创建CRDB集群。
这里所说的不安全模式 (insecure) 是指集群的各节点之间以及client与集群节点之间的通讯不加密,而安全模式(secure)使用TLS证书对通信进行加密。在生产环境下建议创建secure多节点CockroachDB集群。对于在单机上创建secure多节点CockroachDB集群的方法,在后续的文章中介绍。
环境说明
一个虚拟机:8G Mem 、4 VCores
操作系统:CentOS 7.4
操作系统用户: crdb 用户组:newsql 该用户具有sudo权限(假设读者已经掌握在Linux上创建用户和组以及设置权限的方法,本文不进行描述)
CockroachDB版本:2.0.6 (目前最新的发布版本)
下面开始介绍具体的创建方法
1. 创建目录
我们需要在操作系统的文件系统中创建一个目录,用于存放CRDB使用的文件
$ sudo mkdir /data/crdb
$ sudo chown crdb:newsql -R /data/crdb
2. 安装CRDB
$ cd /tmp
$ wget https://binaries.cockroachdb.com/cockroach-v2.0.6.linux-amd64.tgz
$ tar xvfz cockroach-v2.0.6.linux-amd64.tgz
$ sudo mv cockroach-v2.0.6.linux-amd64/cockroach /usr/local/bin
$ rm -Rf cockroach-v2.0.6.linux-amd64
3. 启动第一个节点
使用cockroach start命令启动第一个节点:
$cockroach start --insecure --store="/data/crdb/node1" --host=0.0.0.0 --port=26257 --http-port=8080 --join=0.0.0.0:26257,0.0.0.0:26258,0.0.0.0:26259 &
执行上面的命令后,输出如下:
*
* WARNING: RUNNING IN INSECURE MODE!
*
* - Your cluster is open for any client that can access localhost.
* - Any user, even root, can log in without providing a password.
* - Any user, connecting as root, can read or write any data in your cluster.
* - T