生产环境可用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]s01-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
[root[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 架构 请期待
原文地址:https://blog.51cto.com/12445535/2385106
时间: 2024-10-07 15:06:24