vm記憶體:8g
利用docker構建三節點兩資料中心的cassandra集群
1、拉取映象
docker pull cassandra
2、建立第乙個節點
docker run --name cas1 -p 9042:9042 -e cassandra_cluster_name=mycluster -e cassandra_endpoint_snitch=gossipingpropertyfilesnitch -e cassandra_dc=datacenter1 -d cassandra
3、建立第
二、三個節點
docker run --name cas2 -e cassandra_seeds="$(docker inspect --format='}' cas1)" -e cassandra_cluster_name=mycluster -e cassandra_endpoint_snitch=gossipingpropertyfilesnitch -e cassandra_dc=datacenter1 -d cassandra
docker run --name cas3 -e cassandra_seeds="$(docker inspect --format='}' cas1)" -e cassandra_cluster_name=mycluster -e cassandra_endpoint_snitch=gossipingpropertyfilesnitch -e cassandra_dc=datacenter2 -d cassandra
4、檢查集群狀態
docker exec -it cas1 nodetool status
集群建立成功後如下顯示,集群建立成功:
5、集群測試
在cas1節點上建立資料庫,每個資料中心1份資料拷貝
create keyspace ks_test with replication = ;
nodetool status ks_test
檢視資料分布:
在datacenter1中,資料均勻分布
建立表並插入資料:
use ks_test ;
create table t_test(patient_id int,id int,date timeuuid,details text,primary key (patient_id, id));
insert into t_test (patient_id,id,date,details) values (1,1,now(),'first exam patient 1');
insert into t_test (patient_id,id,date,details) values (1,2,now(),'second exam patient 1');
insert into t_test (patient_id,id,date,details) values (2,1,now(),'first exam patient 2');
insert into t_test (patient_id,id,date,details) values (3,1,now(),'first exam patient 3');
在節點2,3檢視資料
參考:
利用構建快取機制縮短Docker映象構建時間
在使用docker部署php或者node.js應用時,常用的方法是將 和環境映象打包成乙個映象然後執行,一些雲廠商提供了非常便捷的操作,只需要把我們的 提交到vcs上,然後它們就會幫我們拉取 並根據 包內的dockerfile構建我們的映象然後部署到集群裡。php和node.js都有非常不錯的生態,...
利用構建快取機制縮短Docker映象構建時間
在使用docker部署php或者node.js應用時,常用的方法是將 和環境映象打包成乙個映象然後執行,一些雲廠商提供了非常便捷的操作,只需要把我們的 提交到vcs上,然後它們就會幫我們拉取 並根據 包內的dockerfile構建我們的映象然後部署到集群裡。php和node.js都有非常不錯的生態,...
利用構建快取機制縮短Docker映象構建時間
在使用docker部署php或者node.js應用時,常用的方法是將 和環境映象打包成乙個映象然後執行,一些雲廠商提供了非常便捷的操作,只需要把我們的 提交到vcs上,然後它們就會幫我們拉取 並根據 包內的dockerfile構建我們的映象然後部署到集群裡。php和node.js都有非常不錯的生態,...