This repository has been archived by the owner on Jun 24, 2023. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 39
/
Copy pathsetup_mcrouter.sh
executable file
·109 lines (104 loc) · 3.53 KB
/
setup_mcrouter.sh
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
#!/bin/bash
# The contents of this file are subject to the Common Public Attribution
# License Version 1.0. (the "License"); you may not use this file except in
# compliance with the License. You may obtain a copy of the License at
# http://code.reddit.com/LICENSE. The License is based on the Mozilla Public
# License Version 1.1, but Sections 14 and 15 have been added to cover use of
# software over a computer network and provide for limited attribution for the
# Original Developer. In addition, Exhibit A has been modified to be consistent
# with Exhibit B.
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
# the specific language governing rights and limitations under the License.
#
# The Original Code is reddit.
#
# The Original Developer is the Initial Developer. The Initial Developer of
# the Original Code is reddit Inc.
#
# All portions of the code written by reddit are Copyright (c) 2006-2015 reddit
# Inc. All Rights Reserved.
###############################################################################
###############################################################################
# Configure mcrouter
###############################################################################
if [ ! -d /etc/mcrouter ]; then
mkdir -p /etc/mcrouter
fi
if [ ! -f /etc/mcrouter/global.conf ]; then
cat > /etc/mcrouter/global.conf <<MCROUTER
{
// route all valid prefixes to the local memcached
"pools": {
"local": {
"servers": [
"127.0.0.1:11211",
],
"protocol": "ascii",
"keep_routing_prefix": false,
},
},
"named_handles": [
{
"name": "local-pool",
"type": "PoolRoute",
"pool": "local",
},
],
"route": {
"type": "PrefixSelectorRoute",
"policies": {
"rend:": "local-pool",
"page:": "local-pool",
"pane:": "local-pool",
"sr:": "local-pool",
"account:": "local-pool",
"link:": "local-pool",
"comment:": "local-pool",
"message:": "local-pool",
"campaign:": "local-pool",
"award:": "local-pool",
"trophy:": "local-pool",
"flair:": "local-pool",
"friend:": "local-pool",
"inboxcomment:": "local-pool",
"inboxmessage:": "local-pool",
"reportlink:": "local-pool",
"reportcomment:": "local-pool",
"reportsr:": "local-pool",
"reportmessage:": "local-pool",
"modinbox:": "local-pool",
"otp:": "local-pool",
"captcha:": "local-pool",
"queuedvote:": "local-pool",
"geoip:": "local-pool",
"geopromo:": "local-pool",
"srpromos:": "local-pool",
"rising:": "local-pool",
"srid:": "local-pool",
"defaultsrs:": "local-pool",
"featuredsrs:": "local-pool",
"query:": "local-pool",
"rel:": "local-pool",
"srmember:": "local-pool",
"srmemberrel:": "local-pool",
},
"wildcard": {
"type": "PoolRoute",
"pool": "local",
},
},
}
MCROUTER
fi
# this file is sourced by the default mcrouter upstart config, see
# /etc/init/mcrouter.conf
# set num-proxies to num CPU cores
cat > /etc/default/mcrouter <<MCROUTER_DEFAULT
MCROUTER_FLAGS="-f /etc/mcrouter/global.conf -L /var/log/mcrouter/mcrouter.log -p 5050 --num-proxies=1 -R /././ --stats-root=/var/mcrouter/stats"
MCROUTER_DEFAULT
# set an upstart override so mcrouter starts when reddit starts
echo "start on networking or reddit-start" > /etc/init/mcrouter.override
# restart mcrouter to read the updated config
service mcrouter restart