Docker环境部署
seed 节点
docker run --name scylla -d scylladb/scylla
添加其他节点
docker run --name scylla-node2 -d scylladb/scylla --seeds="$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' scylla)"
docker run --name scylla-node3 -d scylladb/scylla --seeds="$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' scylla)"
查看状态
docker exec -it scylla nodetool status
数据访问
数据操作,使用cqlsh工具(创建KEYSPACE 录入数据)
创建表写入数据
docker exec -it scylla cqlsh
CREATE KEYSPACE demoapp WITH replication = {'class':'SimpleStrategy', 'replication_factor' : 1};
CREATE TABLE demoapp.users (id int PRIMARY KEY ,name text);
INSERT INTO demoapp.users (id,name) VALUES (1,'zhangsan')
INSERT INTO demoapp.users (id,name) VALUES (2,'lishi')
INSERT INTO demoapp.users (id,name) VALUES (3,'wangwu')
select * from demoapp.users;
效果
高可用测试
修改副本数
ALTER KEYSPACE demoapp WITH replication = {'class': 'SimpleStrategy','replication_factor':3};
nodetool repair (修改副本数之后要执行repair操作,否则可能出现数据不一致)
ALTER KEYSPACE demoapp WITH replication = {'class': 'SimpleStrategy','replication_factor':1};
nodetool repair
副本为1的时候,当一致性级别是one的时候,down1个节点就不可用
副本数为2的时候,当一致性级别是one的时候3个节点可以down 1台。
副本数为3的时候,当一致性级别是one的时候3个节点可以down 2台。
调整一致性级别
CONSISTENCY QUORUM;
修改副本数
ALTER KEYSPACE demoapp WITH replication = {'class': 'SimpleStrategy','replication_factor':3};
nodetool repair
副本数为3的时候,当一致性级别是QUORUM的时候3个节点可以down 1台,down两个节点数据无法访问
————————————————
版权声明:本文为CSDN博主「weixin_43884942」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43884942/article/details/122853861