|
@@ -10,6 +10,28 @@ TOTAL_SLOTS=16384
|
|
|
|
|
|
cluster_script = {}
|
|
cluster_script = {}
|
|
|
|
|
|
|
|
+def unitfile(slot_start, slot_end, port, ip):
|
|
|
|
+ myfile = """
|
|
|
|
+####################################################################
|
|
|
|
+[Unit]
|
|
|
|
+Description=Redis Server Port %d
|
|
|
|
+After=network.target
|
|
|
|
+
|
|
|
|
+[Service]
|
|
|
|
+WorkingDirectory=/db/data
|
|
|
|
+Type=simple
|
|
|
|
+LimitNOFILE=65535
|
|
|
|
+User=redislabs
|
|
|
|
+ExecStart=/usr/bin/taskset -c 2-32 /usr/local/bin/redis-server --port %d --protected-mode no --dbfilename %d-redis.rdb --loadmodule /usr/local/share/redisraft/redisraft.so addr=%s:%d raft-log-fsync=no follower-proxy=no raftize-all-commands=yes cluster-start-hslot=%d cluster-end-hslot=%d raft-log-filename=%d-raftlog.db cluster-mode=yes
|
|
|
|
+StandardOutput=file:/db/errorlog/redis-%d.log
|
|
|
|
+StandardError=file:/db/errorlog/redis-%d-error.log
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+[Install]
|
|
|
|
+WantedBy=multi-user.target
|
|
|
|
+Alias=redis-%d.service
|
|
|
|
+ """
|
|
|
|
+ return (myfile %(port, port, port, ip, port, slot_start, slot_end, port, port, port, port))
|
|
|
|
|
|
def bucket(seq, num):
|
|
def bucket(seq, num):
|
|
avg = len(seq) / float(num)
|
|
avg = len(seq) / float(num)
|
|
@@ -47,6 +69,11 @@ with open('/tmp/raft/slots.csv', mode='w') as slots_file:
|
|
r = "Slots: %s-%s Port: %d" %(x[0], x[-1], 19900 +p)
|
|
r = "Slots: %s-%s Port: %d" %(x[0], x[-1], 19900 +p)
|
|
for i in range(0,RAFT_GROUP):
|
|
for i in range(0,RAFT_GROUP):
|
|
ip = NODE_IPS[len(slot_row)%len(NODE_IPS)]
|
|
ip = NODE_IPS[len(slot_row)%len(NODE_IPS)]
|
|
|
|
+ #####
|
|
|
|
+ uf = "redis-%d.service" %(19900+p)
|
|
|
|
+ with open(os.path.join('/tmp/raft/', ip, uf), mode='w') as of:
|
|
|
|
+ of.write(unitfile(x[0], x[-1], 19900+p, ip))
|
|
|
|
+
|
|
if 19900+p in cluster_script:
|
|
if 19900+p in cluster_script:
|
|
cluster_script[19900+p].append(ip)
|
|
cluster_script[19900+p].append(ip)
|
|
else:
|
|
else:
|