阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CockroachDB初尝试

106次阅读
没有评论

共计 2146 个字符,预计需要花费 6 分钟才能阅读完成。

部署和启动

部署

官网下来的 cockroach-v1.0.4.linux-amd64.tgz
解压开后就一个 bin 文件,拷贝到系统目录即可

cp -i cockroach-v1.0.4.linux-amd64/cockroach /usr/local/bin/

启动

--host=192.168.143.40也可以指定为--host=localhost

[root@40 /]# cockroach start --insecure --host=192.168.143.40
*
* WARNING: RUNNING IN INSECURE MODE!
* 
* - Your cluster is open for any client that can access 192.168.143.40.
* - 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/secure-a-cluster.html
*
CockroachDB node starting at 2017-07-29 10:23:23.149132434 +0800 CST
build:      CCL v1.0.4 @ 2017/07/27 17:54:36 (go1.8.3)
admin:      http://192.168.143.40:8080
sql:        postgresql://root@192.168.143.40:26257?sslmode=disable
logs:       /cockroach-data/logs
store[0]:   path=/cockroach-data
status:     restarted pre-existing node
clusterID:  f2f44c02-7e04-4bb6-8f64-bb54c6111604
nodeID:     1

上面启动后
可以通过浏览器的 http://192.168.143.40:8080/ 看到监控和数据库信息
可以通过 postgresql 来连接psql -h 192.168.143.40 -p 26257 -Uroot

试用单机

开始只允许使用 root 来创建数据库,所以用如下连接:

psql -h 192.168.143.40 -p 26257 -Uroot
  • 1

构造基础数据

root=> create database db_lin;
CREATE DATABASE
root=> create table db_lin.t1 (a int, b int);
CREATE TABLE
root=> insert into db_lin.t1 values (1, 11), (2, 22);
INSERT 0 2
root=> select * from db_lin.t1;
 a | b  
---+----
 1 | 11
 2 | 22
(2 rows)

结束用ctrl + c

试用集群

2 台是不行的,,,要 3 台起步
我使用了 2 台服务器 192.168.143.40192.168.143.59
其中 40 启 1 个,59 启动 2 个
启动如下:

cockroach start --store n1 --insecure --host=192.168.143.40
cockroach start --insecure --store=n2 --host=192.168.143.59 --port=26257 --http-port=8080 --join=192.168.143.40:26257
cockroach start --insecure --store=n3 --host=192.168.143.59 --port=26258 --http-port=8081 --join=192.168.143.40:26257

这样就可以用如下三条命令连到三个入口,可以发现数据是一样的

psql -h 192.168.143.40 -p 26257 -Uroot
psql -h 192.168.143.59 -p 26257 -Uroot
psql -h 192.168.143.59 -p 26258 -Uroot

集群模式下,停止任何 1 台,有 2 台正常工作的情况下,整个集群均正常,可读可写。
但如果集群只有 2 台,停止 1 台,剩余的 1 台就没法正常工作了。

初步小节

newsql
3 台是最小集群,数据 1:1:1,超过 3 台,数据会按规则散落在不同服务器上,但是数据依然是 3 份,所以超过 3 台的集群,就可以看到数据均衡的动作了
底层使用 rocksdb 存储,mvcc,支持事务,raft 一致性
开源,licence 是 CockroachDB Community License Agreement

参考

https://github.com/cockroachdb/cockroach
https://www.cockroachlabs.com/docs/stable/

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-10/148137.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计2146字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中