You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							112 lines
						
					
					
						
							4.2 KiB
						
					
					
				
			
		
		
	
	
							112 lines
						
					
					
						
							4.2 KiB
						
					
					
				#!/bin/bash
 | 
						|
 | 
						|
exit 0
 | 
						|
 | 
						|
# Set up Redis
 | 
						|
apt-get install -t stretch-backports redis redis-sentinel
 | 
						|
 | 
						|
# XXX
 | 
						|
# probably IPv6 ?
 | 
						|
Setting up redis-sentinel (5:4.0.10-1~bpo9+1) ...
 | 
						|
Created symlink /etc/systemd/system/sentinel.service → /lib/systemd/system/redis-sentinel.service.
 | 
						|
Created symlink /etc/systemd/system/multi-user.target.wants/redis-sentinel.service → /lib/systemd/system/redis-sentinel.service.
 | 
						|
Setting up redis-server (5:4.0.10-1~bpo9+1) ...
 | 
						|
Job for redis-server.service failed because of unavailable resources or another system error.
 | 
						|
See "systemctl status redis-server.service" and "journalctl -xe" for details.
 | 
						|
invoke-rc.d: initscript redis-server, action "start" failed.
 | 
						|
● redis-server.service - Advanced key-value store
 | 
						|
   Loaded: loaded (/lib/systemd/system/redis-server.service; disabled; vendor preset: enabled)
 | 
						|
   Active: activating (auto-restart) (Result: resources) since Sat 2018-07-14 13:50:33 MDT; 6ms ago
 | 
						|
     Docs: http://redis.io/documentation,
 | 
						|
           man:redis-server(1)
 | 
						|
  Process: 1018 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)
 | 
						|
 | 
						|
Jul 14 13:50:33 redis3 systemd[1]: Failed to start Advanced key-value store.
 | 
						|
Jul 14 13:50:33 redis3 systemd[1]: redis-server.service: Unit entered faile…ate.
 | 
						|
Jul 14 13:50:33 redis3 systemd[1]: redis-server.service: Failed with result…es
 | 
						|
Hint: Some lines were ellipsized, use -l to show in full.
 | 
						|
dpkg: error processing package redis-server (--configure):
 | 
						|
 subprocess installed post-installation script returned error exit status 1
 | 
						|
dpkg: dependency problems prevent configuration of redis:
 | 
						|
 redis depends on redis-server (<< 5:4.0.10-1~bpo9+1.1~); however:
 | 
						|
  Package redis-server is not configured yet.
 | 
						|
 redis depends on redis-server (>= 5:4.0.10-1~bpo9+1); however:
 | 
						|
  Package redis-server is not configured yet.
 | 
						|
 | 
						|
dpkg: error processing package redis (--configure):
 | 
						|
 dependency problems - leaving unconfigured
 | 
						|
Processing triggers for systemd (232-25+deb9u4) ...
 | 
						|
Errors were encountered while processing:
 | 
						|
 redis-server
 | 
						|
 redis
 | 
						|
E: Sub-process /usr/bin/dpkg returned an error code (1)
 | 
						|
 | 
						|
# XXX
 | 
						|
 | 
						|
cd /etc ; git add . ; git commit -a -m "Install redis"
 | 
						|
 | 
						|
vim /etc/redis/redis.conf
 | 
						|
# Disable IPv6
 | 
						|
-bind 127.0.0.1 ::1
 | 
						|
+bind 127.0.0.1
 | 
						|
 | 
						|
 | 
						|
# Set up firewall:
 | 
						|
# Redis Access Ports
 | 
						|
-A INPUT -p tcp --dport  6379 -j ACCEPT
 | 
						|
-A INPUT -p tcp --dport 16379 -j ACCEPT
 | 
						|
# Sentinel
 | 
						|
-A INPUT -p tcp --dport 26379 -j ACCEPT
 | 
						|
# Cluster
 | 
						|
-A INPUT -p tcp --dport 30001 -j ACCEPT
 | 
						|
 | 
						|
cd /etc ; git add . ; git commit -a -m "Setup firewall for redis"
 | 
						|
 | 
						|
# Change /etc/redis/redis.conf like this (using appropriate IP/name):
 | 
						|
bind 10.62.1.41
 | 
						|
cluster-enabled yes
 | 
						|
cluster-config-file redis1.conf
 | 
						|
cluster-node-timeout 15000
 | 
						|
cluster-slave-validity-factor 0
 | 
						|
cluster-migration-barrier 1
 | 
						|
cluster-require-full-coverage no
 | 
						|
 | 
						|
 | 
						|
# Change /etc/redis/sentinel.conf like this (using appropriate IP):
 | 
						|
bind 10.62.1.41
 | 
						|
protected-mode no
 | 
						|
sentinel monitor mymaster 10.62.1.41 6379 2
 | 
						|
 | 
						|
 | 
						|
cd /etc ; git add . ; git commit -a -m "Configure redis cluster"
 | 
						|
 | 
						|
# Install ruby deps for cluster creation script:
 | 
						|
apt install ruby
 | 
						|
gem install redis
 | 
						|
cd /etc ; git add . ; git commit -a -m "Install ruby"
 | 
						|
 | 
						|
# XXX create cluster, run on one node, redis1:
 | 
						|
/usr/share/doc/redis-tools/examples/redis-trib.rb create --replicas 1 10.62.1.41:6379 10.62.1.42:6379 \
 | 
						|
10.62.1.43:6379 10.62.1.44:6379 10.62.1.45:6379 10.62.1.46:6379
 | 
						|
 | 
						|
# If creation fails with:
 | 
						|
[ERR] Node 10.62.1.41:6379 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.
 | 
						|
# Run:
 | 
						|
systemctl stop redis-sentinel
 | 
						|
systemctl stop redis-server
 | 
						|
rm /var/lib/redis/dump.rdb
 | 
						|
rm /var/lib/redis/redis*.conf
 | 
						|
systemctl start redis-server
 | 
						|
systemctl start redis-sentinel
 | 
						|
# flushdb if necessary
 | 
						|
 | 
						|
############ System tweaks ######################
 | 
						|
# XXX set in sysctl.conf
 | 
						|
echo never > /sys/kernel/mm/transparent_hugepage/enabled
 | 
						|
 | 
						|
475:M 18 Jul 20:32:45.616 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
 | 
						|
 | 
						|
475:M 18 Jul 20:32:45.616 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
 | 
						|
 | 
						|
 |