Skip to content

Commit 33e5b79

Browse files
committed
demo updates
1 parent e885790 commit 33e5b79

14 files changed

+449
-55
lines changed
Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
{
2-
"name": "RedisCDC-JobConfig-Metrics-db",
2+
"name": "JobManager",
33
"type": "redis",
44
"replication": false,
55
"memory_size": 1000000000,
66
"port": 12001,
77
"module_list": [{
88
"module_args": "",
9-
"module_id": "d625bfec1b0b1db1904b3d904f604ecb",
109
"module_name": "timeseries",
11-
"semantic_version": "1.4.9"
10+
"semantic_version": "1.6.9"
1211
}]
1312
}
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#!/bin/bash
22

3-
sudo docker network connect network2 rp1
4-
sudo docker network connect network3 rp1
5-
sudo docker network connect network1 rp2
6-
sudo docker network connect network3 rp2
7-
sudo docker network connect network1 rp3
8-
sudo docker network connect network2 rp3
3+
sudo docker network connect network2 re-node1-cluster1
4+
sudo docker network connect network3 re-node1-cluster1
5+
sudo docker network connect network1 re-node1-cluster2
6+
sudo docker network connect network3 re-node1-cluster2
7+
sudo docker network connect network1 re-node1-cluster3
8+
sudo docker network connect network2 re-node1-cluster3

examples/mssql/demo/setup_re_crdb.sh

Lines changed: 96 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,82 +1,144 @@
11
#!/bin/bash
22

33
# Delete bridge networks if they already exist
4-
sudo docker stop rp1 rp2 rp3 redisinsight grafana
5-
sudo docker rm rp1 rp2 rp3 redisinsight grafana
4+
sudo docker stop re-node1-cluster1 re-node1-cluster2 re-node1-cluster3 redisinsight grafana
5+
sudo docker rm re-node1-cluster1 re-node1-cluster2 re-node1-cluster3 redisinsight grafana
66
sudo docker network rm network1 2>/dev/null
77
sudo docker network rm network2 2>/dev/null
88
sudo docker network rm network3 2>/dev/null
99

10+
# shellcheck disable=SC2046
11+
sudo docker rmi -f $(sudo docker images | grep redislabs | awk '{print $3}')
12+
1013
# Create new bridge networks
1114
echo "Creating new subnets..."
1215
sudo docker network create network1 --subnet=172.18.0.0/16 --gateway=172.18.0.1
1316
sudo docker network create network2 --subnet=172.19.0.0/16 --gateway=172.19.0.1
1417
sudo docker network create network3 --subnet=172.20.0.0/16 --gateway=172.20.0.1
1518

19+
# Add entries to /etc/hosts so A-A can work without DNS setup
20+
cluster1=$(grep cluster1.local /etc/hosts | cut -d ' ' -f 2)
21+
if [ ! -z "$cluster1" ]
22+
then
23+
echo "cluster1.local entry exists in /etc/hosts. Skipping.."
24+
else
25+
echo "Adding cluster1.local entry to /etc/hosts.."
26+
echo "172.18.0.2 cluster1.local" | sudo tee -a /etc/hosts
27+
fi
28+
cluster2=$(grep cluster2.local /etc/hosts | cut -d ' ' -f 2)
29+
if [ ! -z "$cluster2" ]
30+
then
31+
echo "cluster2.local entry exists in /etc/hosts. Skipping.."
32+
else
33+
echo "Adding cluster2.local entry to /etc/hosts.."
34+
echo "172.19.0.2 cluster2.local" | sudo tee -a /etc/hosts
35+
fi
36+
cluster3=$(grep cluster3.local /etc/hosts | cut -d ' ' -f 2)
37+
if [ ! -z "$cluster3" ]
38+
then
39+
echo "cluster3.local entry exists in /etc/hosts. Skipping.."
40+
else
41+
echo "Adding cluster3.local entry to /etc/hosts.."
42+
echo "172.20.0.2 cluster3.local" | sudo tee -a /etc/hosts
43+
fi
44+
1645
# Start 3 sudo docker containers. Each container is a node in a separate network
1746
echo "Starting Redis Enterprise as Docker containers..."
18-
sudo docker run -d --cap-add sys_resource -h rp1 --name rp1 -p 8443:8443 -p 9443:9443 -p 12000:12000 -p 12001:12001 --network=network1 --ip=172.18.0.2 redislabs/redis:latest
19-
sudo docker run -d --cap-add sys_resource -h rp2 --name rp2 -p 8445:8443 -p 9445:9443 -p 12002:12000 --network=network2 --ip=172.19.0.2 redislabs/redis:latest
20-
sudo docker run -d --cap-add sys_resource -h rp3 --name rp3 -p 8447:8443 -p 9447:9443 -p 12004:12000 --network=network3 --ip=172.20.0.2 redislabs/redis:latest
47+
sudo docker run -d --cap-add sys_resource -h re-node1-cluster1 --name re-node1-cluster1 -p 8443:8443 -p 9443:9443 -p 14000:12000 -p 14001:12001 -p 8071:8070 --network=network1 --ip=172.18.0.2 redislabs/redis:latest
48+
sudo docker run -d --cap-add sys_resource -h re-node1-cluster2 --name re-node1-cluster2 -p 8445:8443 -p 9445:9443 -p 14002:12000 -p 8072:8070 --network=network2 --ip=172.19.0.2 redislabs/redis:latest
49+
sudo docker run -d --cap-add sys_resource -h re-node1-cluster3 --name re-node1-cluster3 -p 8447:8443 -p 9447:9443 -p 14004:12000 -p 8073:8070 --network=network3 --ip=172.20.0.2 redislabs/redis:latest
2150

2251
# Connect the networks
23-
sudo docker network connect network2 rp1
24-
sudo docker network connect network3 rp1
25-
sudo docker network connect network1 rp2
26-
sudo docker network connect network3 rp2
27-
sudo docker network connect network1 rp3
28-
sudo docker network connect network2 rp3
52+
sudo docker network connect network2 re-node1-cluster1
53+
sudo docker network connect network3 re-node1-cluster1
54+
sudo docker network connect network1 re-node1-cluster2
55+
sudo docker network connect network3 re-node1-cluster2
56+
sudo docker network connect network1 re-node1-cluster3
57+
sudo docker network connect network2 re-node1-cluster3
2958

3059
# Create 3 Redis Enterprise clusters - one for each network
3160
echo "Waiting for the servers to start..."
3261

3362
sleep 60
3463

3564
echo "Creating clusters"
36-
sudo docker exec -it rp1 /opt/redislabs/bin/rladmin cluster create name cluster1.local username demo@redislabs.com password redislabs
37-
sudo docker exec -it rp2 /opt/redislabs/bin/rladmin cluster create name cluster2.local username demo@redislabs.com password redislabs
38-
sudo docker exec -it rp3 /opt/redislabs/bin/rladmin cluster create name cluster3.local username demo@redislabs.com password redislabs
65+
sudo docker exec -it re-node1-cluster1 /opt/redislabs/bin/rladmin cluster create name cluster1.local username demo@redis.com password redislabs
66+
sudo docker exec -it re-node1-cluster2 /opt/redislabs/bin/rladmin cluster create name cluster2.local username demo@redis.com password redislabs
67+
sudo docker exec -it re-node1-cluster3 /opt/redislabs/bin/rladmin cluster create name cluster3.local username demo@redis.com password redislabs
3968

4069

4170
# Create the CRDB
4271
echo "Creating a CRDB"
4372
echo ""
4473
# Test the cluster
45-
sudo docker exec -it rp1 bash -c "/opt/redislabs/bin/rladmin info cluster"
74+
sudo docker exec -it re-node1-cluster1 bash -c "/opt/redislabs/bin/rladmin info cluster"
75+
76+
# Get the module info to be used for database creation
77+
tee -a list_modules.sh <<EOF
78+
curl -s -k -L -u [email protected]:redislabs --location-trusted -H "Content-Type: application/json" -X GET https://localhost:9443/v1/modules | python -c 'import sys, json; modules = json.load(sys.stdin);
79+
modulelist = open("./module_list.txt", "a")
80+
for i in modules:
81+
lines = i["display_name"], " ", i["module_name"], " ", i["uid"], " ", i["semantic_version"], "\n"
82+
modulelist.writelines(lines)
83+
modulelist.close()'
84+
EOF
85+
86+
sudo docker cp list_modules.sh re-node1-cluster1:/opt/list_modules.sh
87+
sudo docker exec --user root -it re-node1-cluster1 bash -c "chmod 777 /opt/list_modules.sh"
88+
sudo docker exec --user root -it re-node1-cluster1 bash -c "/opt/list_modules.sh"
89+
90+
json_module_name=$(sudo docker exec --user root -it re-node1-cluster1 bash -c "grep -i json /opt/module_list.txt | cut -d ' ' -f 2 | uniq")
91+
json_semantic_version=$(sudo docker exec --user root -it re-node1-cluster1 bash -c "grep -i json /opt/module_list.txt | cut -d ' ' -f 4 | uniq")
92+
search_module_name=$(sudo docker exec --user root -it re-node1-cluster1 bash -c "grep -i search /opt/module_list.txt | cut -d ' ' -f 3 | uniq")
93+
search_semantic_version=$(sudo docker exec --user root -it re-node1-cluster1 bash -c "grep -i search /opt/module_list.txt | cut -d ' ' -f 5 | uniq")
94+
timeseries_module_name=$(sudo docker exec --user root -it re-node1-cluster1 bash -c "grep -i timeseries /opt/module_list.txt | cut -d ' ' -f 2 | uniq")
95+
timeseries_semantic_version=$(sudo docker exec --user root -it re-node1-cluster1 bash -c "grep -i timeseries /opt/module_list.txt | cut -d ' ' -f 4 | uniq")
4696

4797
echo "Creating databases..."
48-
rm create_demodb.sh
49-
sudo docker cp target_crdb.json rp1:/opt/target_crdb.json
50-
sudo docker cp config_bdb.json rp1:/opt/config_bdb.json
5198
tee -a create_demodb.sh <<EOF
52-
curl -v -L -u [email protected]:redislabs --location-trusted -H Content-type:application/json -d @target_crdb.json -k https://localhost:9443/v1/crdbs
53-
curl -v -L -u demo@redislabs.com:redislabs --location-trusted -H "Content-type:application/json" -d @config_bdb.json -k https://localhost:9443/v1/bdbs
99+
curl -v -k -L -u [email protected]:redislabs --location-trusted -H "Content-type:application/json" -d '{ "default_db_config": { "name": "Target", "port": 12000, "memory_size": 1024000000, "type" : "redis", "replication": false, "aof_policy": "appendfsync-every-sec", "snapshot_policy": [], "shards_count": 1, "shard_key_regex": [{"regex": ".*\\\\{(?<tag>.*)\\\\}.*"}, {"regex": "(?<tag>.*)"}], "module_list": [ {"module_args": "PARTITIONS AUTO", "module_name": "$search_module_name", "semantic_version": "$search_semantic_version"} ] }, "instances": [{"cluster": {"url": "https://cluster1.local:9443","credentials": {"username": "[email protected]", "password": "redislabs"}, "name": "cluster1.local"}, "compression": 6}, {"cluster": {"url": "https://cluster2.local:9443", "credentials": {"username": "[email protected]", "password": "redislabs"}, "name": "cluster2.local"}, "compression": 6}, {"cluster": {"url": "https://cluster3.local:9443", "credentials": {"username": "[email protected]", "password": "redislabs"}, "name": "cluster3.local"}, "compression": 6}], "name": "Target" }' https://localhost:9443/v1/crdbs
100+
curl -v -k -L -u demo@redis.com:redislabs --location-trusted -H "Content-type:application/json" -d '{"name": "JobManager", "type":"redis", "replication": false, "memory_size": 1024000000, "port": 12001, "module_list": [{"module_args": "", "module_name": "$timeseries_module_name", "semantic_version": "$timeseries_semantic_version"} ] }' https://localhost:9443/v1/bdbs
54101
EOF
55-
sudo docker cp create_demodb.sh rp1:/opt/create_demodb.sh
56-
sudo docker exec --user root -it rp1 bash -c "chmod 777 /opt/create_demodb.sh"
57-
sudo docker exec -it rp1 bash -c "/opt/create_demodb.sh"
102+
103+
sleep 20
104+
105+
sed -i "s///g" create_demodb.sh
106+
sudo docker cp create_demodb.sh re-node1-cluster1:/opt/create_demodb.sh
107+
sudo docker exec --user root -it re-node1-cluster1 bash -c "chmod 777 /opt/create_demodb.sh"
108+
sudo docker exec -it re-node1-cluster1 bash -c "/opt/create_demodb.sh"
109+
echo ""
58110

59111
echo "Database port mappings per node. We are using mDNS so use the IP and exposed port to connect to the databases."
60112
echo "node1:"
61-
sudo docker port rp1 | egrep "12000|12001"
62-
sudo docker port rp2 | egrep "12000|12001"
63-
sudo docker port rp3 | egrep "12000|12001"
113+
sudo docker port re-node1-cluster1 | grep -E "12000|12001"
114+
sudo docker port re-node1-cluster2 | grep -E "12000|12001"
115+
sudo docker port re-node1-cluster3 | grep -E "12000|12001"
64116
echo "------- RLADMIN status -------"
65117
sleep 60
66-
sudo docker exec -it rp1 bash -c "rladmin status"
118+
sudo docker exec -it re-node1-cluster1 bash -c "rladmin status"
119+
echo ""
120+
sudo docker exec -it re-node1-cluster1 bash -c "crdb-cli crdb list"
67121
echo ""
68-
echo "You can open a browser and access Redis Enterprise Admin UI at https://127.0.0.1:8443 (replace localhost with your ip/host) with username=demo@redislabs.com and password=redislabs."
122+
echo "You can open a browser and access Redis Enterprise Admin UI at https://127.0.0.1:8443 (replace localhost with your ip/host) with username=demo@redis.com and password=redislabs."
69123
echo "To connect using RedisInsight or redis-cli, please use the exposed port from the node where master shard for the database resides."
70124
echo "Creating RedisInsight in docker container.."
71125
sudo docker run -d --name redisinsight -p 18001:8001 -v redisinsight:/db redislabs/redisinsight:latest
72126
echo "Creating Grafana with redis-datasource in docker container.."
73127
sudo docker run -d -p 3000:3000 --name=grafana -e "GF_INSTALL_PLUGINS=redis-datasource" grafana/grafana
74128
echo ""
75-
echo "Creating idx:emp index for search.."
129+
echo "Creating idx_emp index for search.."
76130
sleep 60
77-
sudo docker exec -it rp1 bash -c "/opt/redislabs/bin/redis-cli -p 12000 ft.create idx:emp on hash prefix 1 'emp:' schema EmpNum numeric sortable FName text sortable LName text Job tag sortable Manager numeric HireDate text Salary numeric Commission numeric Department numeric"
78-
sudo docker exec -it rp2 bash -c "/opt/redislabs/bin/redis-cli -p 12000 ft.create idx:emp on hash prefix 1 'emp:' schema EmpNum numeric sortable FName text sortable LName text Job tag sortable Manager numeric HireDate text Salary numeric Commission numeric Department numeric"
79-
sudo docker exec -it rp3 bash -c "/opt/redislabs/bin/redis-cli -p 12000 ft.create idx:emp on hash prefix 1 'emp:' schema EmpNum numeric sortable FName text sortable LName text Job tag sortable Manager numeric HireDate text Salary numeric Commission numeric Department numeric"
131+
sudo docker exec -it re-node1-cluster1 bash -c "/opt/redislabs/bin/redis-cli -p 12000 ft.create idx_emp on hash prefix 1 'emp:' schema empno numeric sortable fname text sortable lname text job tag sortable mgr numeric hiredate text sal numeric comm numeric dept numeric"
132+
sudo docker exec -it re-node1-cluster2 bash -c "/opt/redislabs/bin/redis-cli -p 12000 ft.create idx_emp on hash prefix 1 'emp:' schema empno numeric sortable fname text sortable lname text job tag sortable mgr numeric hiredate text sal numeric comm numeric dept numeric"
133+
sudo docker exec -it re-node1-cluster3 bash -c "/opt/redislabs/bin/redis-cli -p 12000 ft.create idx_emp on hash prefix 1 'emp:' schema empno numeric sortable fname text sortable lname text job tag sortable mgr numeric hiredate text sal numeric comm numeric dept numeric"
80134
echo "You can open a browser and access RedisInsight client UI at http://127.0.0.1:18001 (replace localhost with your ip/host) and add databases to monitor."
81-
echo "Please visit, https://docs.redislabs.com/latest/ri/using-redisinsight/add-instance/ for steps to add these databases to RedisInsight."
82-
echo "DISCLAIMER: This is best for local development or functional testing. Please see, https://docs.redislabs.com/latest/rs/getting-started/getting-started-docker"
135+
echo "Please visit, https://docs.redis.com/latest/ri/using-redisinsight/add-instance/ for steps to add these databases to RedisInsight."
136+
echo "DISCLAIMER: This is best for local development or functional testing. Please see, https://docs.redis.com/latest/rs/getting-started/getting-started-docker"
137+
138+
# Cleanup
139+
rm list_modules.sh
140+
sudo docker exec --user root -it re-node1-cluster1 bash -c "rm /opt/list_modules.sh"
141+
sudo docker exec --user root -it re-node1-cluster1 bash -c "rm /opt/module_list.txt"
142+
rm create_demodb.sh
143+
sudo docker exec --user root -it re-node1-cluster1 bash -c "rm /opt/create_demodb.sh"
144+

examples/mssql/demo/split_network.sh

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#!/bin/bash
22

3-
sudo docker network disconnect network2 rp1
4-
sudo docker network disconnect network3 rp1
5-
sudo docker network disconnect network1 rp2
6-
sudo docker network disconnect network3 rp2
7-
sudo docker network disconnect network1 rp3
8-
sudo docker network disconnect network2 rp3
3+
sudo docker network disconnect network2 re-node1-cluster1
4+
sudo docker network disconnect network3 re-node1-cluster1
5+
sudo docker network disconnect network1 re-node1-cluster2
6+
sudo docker network disconnect network3 re-node1-cluster2
7+
sudo docker network disconnect network1 re-node1-cluster3
8+
sudo docker network disconnect network2 re-node1-cluster3

examples/mssql/demo/stop_re_crdb.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/bash
22

3-
sudo docker stop rp1 rp2 rp3 redisinsight grafana
4-
sudo docker rm rp1 rp2 rp3 redisinsight grafana
3+
sudo docker stop re-node1-cluster1 re-node1-cluster2 re-node1-cluster3 redisinsight grafana
4+
sudo docker rm re-node1-cluster1 re-node1-cluster2 re-node1-cluster3 redisinsight grafana
55
sudo docker network rm network1 2>/dev/null
66
sudo docker network rm network2 2>/dev/null
77
sudo docker network rm network3 2>/dev/null

examples/mssql/demo/target_crdb.json

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"default_db_config": {
3-
"name": "RedisCDC-Target-db",
3+
"name": "Target",
44
"bigstore": false,
55
"replication": false,
66
"memory_size": 1024000000,
@@ -13,10 +13,9 @@
1313
"regex": "(?<tag>.*)"
1414
}],
1515
"module_list": [{
16-
"module_id": "f3f9ffbad97841b0ecb0d8175c601ebb",
1716
"module_args": "PARTITIONS AUTO",
1817
"module_name": "search",
19-
"semantic_version": "2.0.9"
18+
"semantic_version": "2.4.6"
2019
}],
2120
"port": 12000
2221
},
@@ -51,5 +50,5 @@
5150
},
5251
"compression": 6
5352
}],
54-
"name": "RedisCDC-Target-db"
53+
"name": "Target"
5554
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/bin/bash
2+
3+
sudo docker network connect network2 re-node1-cluster1
4+
sudo docker network connect network3 re-node1-cluster1
5+
sudo docker network connect network1 re-node1-cluster2
6+
sudo docker network connect network3 re-node1-cluster2
7+
sudo docker network connect network1 re-node1-cluster3
8+
sudo docker network connect network2 re-node1-cluster3

0 commit comments

Comments
 (0)