生产环境可用redis4.0.11安装全过程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生产环境可用redis4.0.11安装全过程相关的知识,希望对你有一定的参考价值。

生产环境可用redis4.0.11安装全过程
操作系统版本为 centos6.5

先执行initialization.sh优化脚本 详情见 初始化脚本
我们线上用的是redis-4.0.11.tar.gz
根据日志内容进行优化 //后面会提现处理,我们这里可以先执行,不明白的同学,可以继续往后看。

优化1:
[[email protected] conf]# echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf
[[email protected] conf]# sysctl -p  
优化2:
[[email protected] conf]# echo "net.core.somaxconn = 511" >> /etc/sysctl.conf
[[email protected] conf]# sysctl -p 
优化3:
还有一个就是关闭透明大页,我们优化脚本中做了

第一步:执行优化脚本 initialization.sh

第二步:下载redis的安装包
[[email protected] opt]# wget http://download.redis.io/releases/redis-4.0.11.tar.gz

第三步:下载必要的依赖:yum install -y tcl tcl-devel
[[email protected] opt]# yum install -y tcl tcl-devel

第四步:创建相关的目录
[[email protected] opt]# mkdir -p /ivargo/{app,log}
[[email protected] opt]# cd /ivargo/
[[email protected] 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
[[email protected] ivargo]# cd app/
[[email protected] app]# mkdir redis sentinel
[[email protected] 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
[[email protected] app]# cd redis/
[[email protected] redis]# mkdir conf data log
[[email protected] 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

[[email protected] app]# cd sentinel/
[[email protected] sentinel]# ll
total 0
[[email protected] sentinel]# mkdir conf

[[email protected] ivargo]# pwd
/ivargo
[[email protected]edis01-10-183 ivargo]# tree 
.
├── app
│?? ├── redis
│?? │?? ├── conf
│?? │?? ├── data
│?? │?? └── log
│?? └── sentinel
│??     └── conf
└── log
第五步:安装redis
[[email protected] ivargo]# cd /opt/
[[email protected] 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
[[email protected] opt]# tar zxvf redis-4.0.11.tar.gz
[[email protected] opt]# cd redis-4.0.11
[[email protected] redis-4.0.11]# make && make install
...
...
...
第六步:上传配置文件到
[[email protected] conf]# pwd
/ivargo/app/redis/conf
[[email protected] conf]# ll
total 4
-rw-r--r-- 1 root root 3946 Apr 24 15:28 6379.conf
第七步,启动redis
[[email protected] conf]# redis-server /ivargo/app/redis/conf/6379.conf 
[[email protected] 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         
[[email protected] 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
第八步检查 redis
[[email protected] 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

根据日志内容进行优化
优化1:
[[email protected] conf]# echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf
[[email protected] conf]# sysctl -p  
优化2:
[[email protected] conf]# echo "net.core.somaxconn = 511" >> /etc/sysctl.conf
[[email protected] conf]# sysctl -p 
优化3:
还有一个就是关闭透明大页,我们优化脚本中做了
温柔的关闭redis的方法
[[email protected] ~]# redis-server /ivargo/app/redis/conf/6379.conf 
[[email protected] ~]# 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
[r[email protected] ~]# 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    //温柔关闭redis的方法
not connected> 
[[email protected] ~]# ps -ef|grep redis                             
root       1727   1693  0 18:32 pts/0    00:00:00 grep --color=auto redis

[[email protected] conf]# sh /etc/rc.local 

再次启动redis,就没有任何的报警了

到此,我们就安装好了redis,接下来,我们实现redis的sentinel 架构 请期待

以上是关于生产环境可用redis4.0.11安装全过程的主要内容,如果未能解决你的问题,请参考以下文章

生产环境可用mysql5.7.23安装全过程

k8s/kubeadm 生产环境高可用集群部署

高可用保证:Nacos 如何有效构建注册中心集群

Ansible基础理论及安装

十分钟完成Springboot 生产环境搭建代码仓库安装自动打包部署(密码登录)

十分钟完成Springboot 生产环境搭建代码仓库安装自动打包部署