redis4.0.11 can be used to install the production environment

Posted by rofl on Fri, 22 Nov 2019 16:45:19 +0100

redis4.0.11 can be used to install the production environment
The operating system version is CentOS 6.5

Execute the initialization.sh optimization script first. For details, see Initialization script
We use redis-4.0.11.tar.gz online
Optimize according to the log content / / it will be processed later. We can execute it first here. For those who don't understand, we can continue to look at it later.

Optimization 1:
[root@prd3-redis01-10-183 conf]# echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf
[root@prd3-redis01-10-183 conf]# sysctl -p  
Optimization 2:
[root@prd3-redis01-10-183 conf]# echo "net.core.somaxconn = 511" >> /etc/sysctl.conf
[root@prd3-redis01-10-183 conf]# sysctl -p 
Optimization 3:
The other is to close the transparent large page. We optimized the script

Step 1: execute the optimization script initialization.sh

Step 2: download the redis installation package
[root@prd3-redis01-10-183 opt]# wget http://download.redis.io/releases/redis-4.0.11.tar.gz

Step 3: download necessary dependencies: Yum install - y TCL TCL devel
[root@prd3-redis01-10-183 opt]# yum install -y tcl tcl-devel

Step 4: create related directories
[root@prd3-redis01-10-183 opt]# mkdir -p /ivargo/{app,log}
[root@prd3-redis01-10-183 opt]# cd /ivargo/
[root@prd3-redis01-10-183 ivargo]# ll
total 8
drwxr-xr-x 2 root root 4096 Apr 24 15:16 app
drwxr-xr-x 2 root root 4096 Apr 24 15:16 log
[root@prd3-redis01-10-183 ivargo]# cd app/
[root@prd3-redis01-10-183 app]# mkdir redis sentinel
[root@prd3-redis01-10-183 app]# ll
total 8
drwxr-xr-x 2 root root 4096 Apr 24 15:18 redis
drwxr-xr-x 2 root root 4096 Apr 24 15:18 sentinel
[root@prd3-redis01-10-183 app]# cd redis/
[root@prd3-redis01-10-183 redis]# mkdir conf data log
[root@prd3-redis01-10-183 redis]# ll
total 12
drwxr-xr-x 2 root root 4096 Apr 24 15:19 conf
drwxr-xr-x 2 root root 4096 Apr 24 15:19 data
drwxr-xr-x 2 root root 4096 Apr 24 15:19 log

[root@prd3-redis01-10-183 app]# cd sentinel/
[root@prd3-redis01-10-183 sentinel]# ll
total 0
[root@prd3-redis01-10-183 sentinel]# mkdir conf

[root@prd3-redis01-10-183 ivargo]# pwd
/ivargo
[root@prd3-redis01-10-183 ivargo]# tree 
.
├── app
│   ├── redis
│   │   ├── conf
│   │   ├── data
│   │   └── log
│   └── sentinel
│       └── conf
└── log
Step 5: installation redis
[root@prd3-redis01-10-183 ivargo]# cd /opt/
[root@prd3-redis01-10-183 opt]# ll
total 1708
-rw-r--r--  1 root root 1739656 Aug  4  2018 redis-4.0.11.tar.gz
drwxr-xr-x. 2 root root    4096 Nov 22  2013 rh
drwxr-xr-x  2 root root    4096 Apr 24  2019 scripts
[root@prd3-redis01-10-183 opt]# tar zxvf redis-4.0.11.tar.gz
[root@prd3-redis01-10-183 opt]# cd redis-4.0.11
[root@prd3-redis01-10-183 redis-4.0.11]# make && make install
...
...
...
Step 6: upload the configuration file to
[root@prd3-redis01-10-183 conf]# pwd
/ivargo/app/redis/conf
[root@prd3-redis01-10-183 conf]# ll
total 4
-rw-r--r-- 1 root root 3946 Apr 24 15:28 6379.conf
Step 7, start redis
[root@prd3-redis01-10-183 conf]# redis-server /ivargo/app/redis/conf/6379.conf 
[root@prd3-redis01-10-183 conf]# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:6379                0.0.0.0:*                   LISTEN      5195/redis-server 0 
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1543/sshd           
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      1619/master         
tcp        0      0 :::22                       :::*                        LISTEN      1543/sshd           
tcp        0      0 ::1:25                      :::*                        LISTEN      1619/master         
[root@prd3-redis01-10-183 conf]# ps -ef|grep redis
root       5195      1  0 15:34 ?        00:00:00 redis-server 0.0.0.0:6379                    
root       5201   1709  0 15:35 pts/0    00:00:00 grep --color=auto redis
Step 8 inspection redis
[root@prd3-redis01-10-183 log]# vim 6379.log 
5194:C 24 Apr 15:34:51.909 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
5194:C 24 Apr 15:34:51.909 # Redis version=4.0.11, bits=64, commit=00000000, modified=0, pid=5194, just started
5194:C 24 Apr 15:34:51.909 # Configuration loaded
5195:M 24 Apr 15:34:51.935 * Running mode=standalone, port=6379.
5195:M 24 Apr 15:34:51.935 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/c
ore/somaxconn is set to the lower value of 128.
5195:M 24 Apr 15:34:51.935 # Server initialized
5195:M 24 Apr 15:34:51.935 # WARNING overcommit_memory is set to 0! Background save may fail under low memory c
ondition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the comma
nd 'sysctl vm.overcommit_memory=1' for this to take effect.
5195:M 24 Apr 15:34:51.935 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This
 will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/k
ernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting
 after a reboot. Redis must be restarted after THP is disabled.
5195:M 24 Apr 15:34:51.935 * Ready to accept connections

//Optimize based on log content
//Optimization 1:
[root@prd3-redis01-10-183 conf]# echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf
[root@prd3-redis01-10-183 conf]# sysctl -p  
//Optimization 2:
[root@prd3-redis01-10-183 conf]# echo "net.core.somaxconn = 511" >> /etc/sysctl.conf
[root@prd3-redis01-10-183 conf]# sysctl -p 
//Optimization 3:
//The other is to close the transparent large page. We optimized the script
Gentle closure redis Method
[root@web03 ~]# redis-server /ivargo/app/redis/conf/6379.conf 
[root@web03 ~]# ps -ef|grep redis
root       1718      1  0 18:31 ?        00:00:00 redis-server 0.0.0.0:6379                    
root       1723   1693  0 18:31 pts/0    00:00:00 grep --color=auto redis
[root@web03 ~]# redis-cli -a xxx
Warning: Using a password with '-a' option on the command line interface may not be safe.
127.0.0.1:6379> shutdown    //How to close redis gently
not connected> 
[root@web03 ~]# ps -ef|grep redis                             
root       1727   1693  0 18:32 pts/0    00:00:00 grep --color=auto redis

[root@prd3-redis01-10-183 conf]# sh /etc/rc.local 

//If you start redis again, there will be no alarm

At this point, we have installed redis. Next, we will implement the sentinel architecture of redis. Please look forward to

Topics: Database Redis yum CentOS vim