运行环境: CentOS7.4+ CockroachDB 2.0.5
规划:
节点序列 节点IP 数据目录
node1 10.19.189.221 node1
node2 10.19.85.149 node2
node3 10.19.15.103 node3
在三个节点上分别下载安装文件:
# wget https://binaries.cockroachdb.com/cockroach-v2.0.5.linux-amd64.tgz
解压文件:
#tar -xzf cockroach-v2.0.5.linux-amd64.tgz -C /data
#mv /data/cockroach-v2.0.5.linux-amd64 /data/cockroach
启动第一个节点:
#/data/cockroach/cockroach start--insecure --host=10.19.189.221 &
或者
#/data/cockroach/cockroach start --insecure --store=node1 --host=10.19.189.221 --port=26257 --http-port=8080 &
* WARNING: RUNNING IN INSECURE MODE!
*
* - Your cluster is open for any client that can access 10.19.189.221.
* - 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.
* - There is no network encryption nor authentication, and thus no confidentiality.
*
* Check out how to secure your cluster: https://www.cockroachlabs.com/docs/v2.0/secure-a-cluster.html
*
CockroachDB node starting at 2018-08-27 14:31:24.768760887 +0000 UTC (took 0.7s)
build: CCL v2.0.5 @ 2018/08/13 17:59:42 (go1.10)
admin: http://10.19.189.221:8080
sql: postgresql://root@10.19.189.221:26257?sslmode=disable
logs: /data/cockroach/cockroach-data/logs
temp dir: /data/cockroach/cockroach-data/cockroach-temp559488938
external I/O path: /data/cockroach/cockroach-data/extern
store[0]: path=/data/cockroach/cockroach-data
status: restarted pre-existing node
clusterID: 4f18c743-fb6c-48eb-9fcc-5a598dd51b2f
nodeID: 1
启动第二个节点:
#/data/cockroach/cockroach start --insecure --store=node2 --host=10.19.85.149 --port=26257 --http-port=8080 --join=10.19.189.221:26257 &
启动第三个节点:
#/data/cockroach/cockroach start --insecure --store=node3 --host=10.19.15.103 --port=26257 --http-port=8080 --join=10.19.189.221:26257 &
启动的提示信息中status有如下三种可能的提示信息:
1.
2.
3.
--查询集群的状态信息:
# ./cockroach node status --insecure --host=10.19.85.149
+----+---------------------+--------+---------------------+---------------------+---------+
| id | address | build | updated_at | started_at | is_live |
+----+---------------------+--------+---------------------+---------------------+---------+
| 1 | 10.19.189.221:26257 | v2.0.5 | 2018-08-27 16:05:14 | 2018-08-27 14:31:24 | true |
| 2 | 10.19.85.149:26257 | v2.0.5 | 2018-08-27 16:05:13 | 2018-08-27 14:37:03 | true |
| 3 | 10.19.15.103:26257 | v2.0.5 | 2018-08-27 16:05:14 | 2018-08-27 14:38:54 | true |
+----+---------------------+--------+---------------------+---------------------+---------+
(3 rows)
--查询集群的ID信息:
# ./cockroach node ls --insecure --host=10.19.85.149
+----+
| id |
+----+
| 1 |
| 2 |
| 3 |
+----+
(3 rows)
--查询某个节点的信息:
./cockroach node status 1 --insecure --host=10.19.85.149
+----+---------------------+--------+---------------------+---------------------+---------+
| id | address | build | updated_at | started_at | is_live |
+----+---------------------+--------+---------------------+---------------------+---------+
| 1 | 10.19.189.221:26257 | v2.0.5 | 2018-08-27 16:06:44 | 2018-08-27 14:31:24 | true |
+----+---------------------+--------+---------------------+---------------------+---------+
(1 row)
--cockroachDB的版本信息查询:
# ./cockroach version
Build Tag: v2.0.5
Build Time: 2018/08/13 17:59:42
Distribution: CCL
Platform: linux amd64 (x86_64-unknown-linux-gnu)
Go Version: go1.10
C Compiler: gcc 6.3.0
Build SHA-1: 3f2f0f5eea9b9d552e471eba8c37504a0595342f
Build Type: release
--集群验证:
登录第一个节点:
./cockroach sql --insecure --host=10.19.189.221
root@10.19.189.221:26257/> create database wuhan;
root@10.19.189.221:26257/> show databases;
+----------+
| Database |
+----------+
| system |
| wuhan |
+----------+
(2 rows)
Time: 1.638805ms
root@10.19.189.221:26257/wuhan> create table wuhan.city(id int not null primary key,cityname varchar(20));
CREATE TABLE
Time: 12.52473ms
root@10.19.189.221:26257/wuhan> insert into wuhan.city(id,cityname)values(1,'wuhan');
INSERT 1
Time: 10.27255ms
root@10.19.189.221:26257/wuhan> select * from wuhan.city;
+----+----------+
| id | cityname |
+----+----------+
| 1 | wuhan |
+----+----------+
(1 row)
Time: 2.52213ms
登录第二个节点和第三个节点查询:
root@10.19.85.149:26257/> select * from wuhan.city;
+----+----------+
| id | cityname |
+----+----------+
| 1 | wuhan |
+----+----------+
(1 row)
Time: 71.180567ms
root@10.19.15.103:26257/> select * from wuhan.city;
+----+----------+
| id | cityname |
+----+----------+
| 1 | wuhan |
+----+----------+
(1 row)
Time: 12.772636ms
--退出:
root@10.19.15.103:26257/>\q
说明:
--store=指定了存储的目录,不指定默认为当前目录下的cockroach-data;
--port= 指定了cockroachdb运行的端口号,默认是26257.
集群的监控可以登录任意一个节点,通过默认的8080端口进行监控,示例如下: