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.
 | |
| 
 | |
| 
 |