-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathcassandra-aws
More file actions
138 lines (103 loc) · 7.76 KB
/
cassandra-aws
File metadata and controls
138 lines (103 loc) · 7.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# Installing requirements with apt
sudo apt update
sudo apt install maven openjdk-11-jdk-headless -y
# Installing consys
cd ~
git clone --depth 1 https://github.com/consysT-project/consysT-code.git
cd consysT-code/
git checkout develop
mvn install -pl :consys-annotations,:consys-core,:consys-type-checker-jdk-utils,:consys-type-checker,:consys-japi,:consys-compiler,:invariants-lib,:invariants-examples,:consys-bench,:demo-bench,:crdt-benchmarks -Dmaven.test.skip
# Installing cassandra
cd ~
wget https://archive.apache.org/dist/cassandra/4.0.7/apache-cassandra-4.0.7-bin.tar.gz
tar -xf apache-cassandra-4.0.7-bin.tar.gz
cd apache-cassandra-4.0.7
# nano conf/cassandra.yaml OR
cp ~/consysT-code/aws/config-01/cassandra/cassandra01.yaml conf/cassandra.yaml
./bin/cassandra
./bin/nodetool status
# Configuring cassandra.yaml
cluster_name: 'consys-bench'
seed_provider:
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
parameters:
- seeds: "172.31.16.217,172.31.27.141,172.31.17.201" (The IP addresses of all involved nodes!)
listen_address: 172.31.16.217 (Set this to the private address of the node!)
rpc_address: 172.31.16.217 (Set this to the private address of the node!)
endpoint_snitch: Ec2Snitch
# Installing Zookeeper
cd ~
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.8.3/apache-zookeeper-3.8.3-bin.tar.gz
tar -xf apache-zookeeper-3.8.3-bin.tar.gz
cd apache-zookeeper-3.8.3-bin
mkdir logs
mkdir data
echo "1" > data/myid
# cp conf/zoo_sample.cfg conf/zoo.cfg
# nano conf/zoo.cfg
cp ~/consysT-code/aws/config-02/zoo/zoo01.cfg conf/zoo.cfg
bin/zkServer.sh start
# Shows status of zookeeper nodes. The security group has to be configured to allow messages between instances.
bin/zkServer.sh status
# Configuring Zookeeper zoo.cfg
clientPort=2181 (Replace last digit with myid, e.g., 2183 for node with id 3)
dataDir=/home/ubuntu/apache-zookeeper-3.8.3-bin/data
# Servers
server.1=172.31.17.46:2888:3888
server.2=172.31.17.28:2888:3888
server.3=172.31.30.111:2888:3888
server.4=172.31.24.240:2888:3888
server.5=172.31.24.203:2888:3888
server.6=172.31.18.132:2888:3888
server.7=172.31.17.156:2888:3888
server.8=172.31.25.156:2888:3888
(For every server where the nmber in server.n is the myid)
# Installing etcd
cd ~
wget https://github.com/etcd-io/etcd/releases/download/v3.5.15/etcd-v3.5.15-linux-amd64.tar.gz
tar -xf etcd-v3.5.15-linux-amd64.tar.gz
cd etcd-v3.5.15-linux-amd64
cp ~/consysT-code/aws/config-03/etcd.conf.yml .
# Edit the etcd.conf.yml config file for the node
<ID> is the node id (e.g., 1, 2, 3, 4)
<NODE-IP> is the local node's IP address
expect for the line:
initial-cluster: node-1=http://<NODE-IP>:2380,node-2=http://<NODE-IP>:2380,node-3=http://<NODE-IP>:2380,node-4=http://<NODE-IP>:2380
This line lists the IP addresses of all the nodes
<NODE-PORT> is the local node's etcd port (e.g., 2181, 2182, 2183, 2184)
# Running etcd
~/etcd-v3.5.15-linux-amd64/etcd --config-file ~/etcd-v3.5.15-linux-amd64/etcd.conf.yml &
# or (to reduce noise)
~/etcd-v3.5.15-linux-amd64/etcd --config-file ~/etcd-v3.5.15-linux-amd64/etcd.conf.yml 2> /dev/null &
# Note
You will need either Zookeeper or etcd for the benchmarks depending on whether the code sets them up to use Zookeeper or etcd for coordination.
# CRDT Benchmark execution
cd consysT-code/demos/crdt-benchmarks/
java -cp target/crdt-benchmarks-4.0.0-allinone.jar de.tuda.stg.consys.demo.crdts.invariants.crdts.AddOnlyGraphBench -b akkacluster -c aws/mixed/node1/node.conf
java -cp target/crdt-benchmarks-4.0.0-allinone.jar de.tuda.stg.consys.demo.crdts.invariants.crdts.GCounterBench -b akkacluster -c aws/mixed/node1/node.conf
java -cp target/crdt-benchmarks-4.0.0-allinone.jar de.tuda.stg.consys.demo.crdts.invariants.crdts.GMapBench -b akkacluster -c aws/mixed/node1/node.conf
java -cp target/crdt-benchmarks-4.0.0-allinone.jar de.tuda.stg.consys.demo.crdts.invariants.crdts.GSetBench -b akkacluster -c aws/mixed/node1/node.conf
java -cp target/crdt-benchmarks-4.0.0-allinone.jar de.tuda.stg.consys.demo.crdts.invariants.crdts.LWWRegisterBench -b akkacluster -c aws/mixed/node1/node.conf
java -cp target/crdt-benchmarks-4.0.0-allinone.jar de.tuda.stg.consys.demo.crdts.invariants.crdts.MultiValueRegisterBench -b akkacluster -c aws/mixed/node1/node.conf
java -cp target/crdt-benchmarks-4.0.0-allinone.jar de.tuda.stg.consys.demo.crdts.invariants.crdts.ORMapBench -b akkacluster -c aws/mixed/node1/node.conf
java -cp target/crdt-benchmarks-4.0.0-allinone.jar de.tuda.stg.consys.demo.crdts.invariants.crdts.ORSetBench -b akkacluster -c aws/mixed/node1/node.conf
java -cp target/crdt-benchmarks-4.0.0-allinone.jar de.tuda.stg.consys.demo.crdts.invariants.crdts.PNCounterBench -b akkacluster -c aws/mixed/node1/node.conf
java -cp target/crdt-benchmarks-4.0.0-allinone.jar de.tuda.stg.consys.demo.crdts.invariants.crdts.TwoPhaseSetBench -b akkacluster -c aws/mixed/node1/node.conf
java -cp target/crdt-benchmarks-4.0.0-allinone.jar de.tuda.stg.consys.demo.crdts.invariants.crdts.TwoPTwoPGraphBench -b akkacluster -c aws/mixed/node1/node.conf
java -cp target/crdt-benchmarks-4.0.0-allinone.jar de.tuda.stg.consys.demo.crdts.invariants.examples.BankAccountBench -b akkacluster -c aws/mixed/node1/node.conf
java -cp target/crdt-benchmarks-4.0.0-allinone.jar de.tuda.stg.consys.demo.crdts.invariants.examples.BankAccountLWWBench -b akkacluster -c aws/mixed/node1/node.conf
java -cp target/crdt-benchmarks-4.0.0-allinone.jar de.tuda.stg.consys.demo.crdts.invariants.examples.CreditAccountBench -b akkacluster -c aws/mixed/node1/node.conf
java -cp target/crdt-benchmarks-4.0.0-allinone.jar de.tuda.stg.consys.demo.crdts.invariants.examples.ResettableCounterBench -b akkacluster -c aws/mixed/node1/node.conf
java -cp target/crdt-benchmarks-4.0.0-allinone.jar de.tuda.stg.consys.demo.crdts.invariants.examples.ConsensusBench -b akkacluster -c aws/mixed/node1/node.conf
java -cp target/crdt-benchmarks-4.0.0-allinone.jar de.tuda.stg.consys.demo.crdts.invariants.examples.DistributedLockBench -b akkacluster -c aws/mixed/node1/node.conf
java -cp target/crdt-benchmarks-4.0.0-allinone.jar de.tuda.stg.consys.demo.crdts.invariants.examples.JointBankAccountBench -b akkacluster -c aws/mixed/node1/node.conf
java -cp target/crdt-benchmarks-4.0.0-allinone.jar de.tuda.stg.consys.demo.crdts.invariants.examples.TournamentsBench -b akkacluster -c aws/mixed/node1/node.conf
java -cp target/crdt-benchmarks-4.0.0-allinone.jar de.tuda.stg.consys.demo.crdts.invariants.examples.MessageGroupsBench -b akkacluster -c aws/mixed/node1/node.conf
java -cp target/crdt-benchmarks-4.0.0-allinone.jar de.tuda.stg.consys.demo.crdts.invariants.examples.BankAccountBench -b akkacluster -c aws/strong/node1/node.conf
java -cp target/crdt-benchmarks-4.0.0-allinone.jar de.tuda.stg.consys.demo.crdts.invariants.examples.BankAccountLWWBench -b akkacluster -c aws/strong/node1/node.conf
java -cp target/crdt-benchmarks-4.0.0-allinone.jar de.tuda.stg.consys.demo.crdts.invariants.examples.CreditAccountBench -b akkacluster -c aws/strong/node1/node.conf
java -cp target/crdt-benchmarks-4.0.0-allinone.jar de.tuda.stg.consys.demo.crdts.invariants.examples.ResettableCounterBench -b akkacluster -c aws/strong/node1/node.conf
java -cp target/crdt-benchmarks-4.0.0-allinone.jar de.tuda.stg.consys.demo.crdts.invariants.examples.ConsensusBench -b akkacluster -c aws/strong/node1/node.conf
java -cp target/crdt-benchmarks-4.0.0-allinone.jar de.tuda.stg.consys.demo.crdts.invariants.examples.DistributedLockBench -b akkacluster -c aws/strong/node1/node.conf
java -cp target/crdt-benchmarks-4.0.0-allinone.jar de.tuda.stg.consys.demo.crdts.invariants.examples.JointBankAccountBench -b akkacluster -c aws/strong/node1/node.conf
java -cp target/crdt-benchmarks-4.0.0-allinone.jar de.tuda.stg.consys.demo.crdts.invariants.examples.TournamentsBench -b akkacluster -c aws/strong/node1/node.conf