千家信息网

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

发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,生产环境可用redis4.0.11安装全过程操作系统版本为 centos6.5先执行initialization.sh优化脚本 详情见 初始化脚本我们线上用的是redis-4.0.11.tar.gz根
千家信息网最后更新 2024年11月22日生产环境可用redis4.0.11安装全过程

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

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

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

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

第二步:下载redis的安装包
[root@prd3-redis01-10-183 opt]# wget http://download.redis.io/releases/redis-4.0.11.tar.gz

第三步:下载必要的依赖:yum install -y tcl tcl-devel
[root@prd3-redis01-10-183 opt]# yum install -y tcl tcl-devel
提示:在安装过程中出现一个报错为:解决方法如下
在安装redis的时候 在执行make && make install 的时候 出现报错
make[3]: gcc: Command not found
/bin/sh: cc: command not found
[root@mysql-redis-mgdb redis-4.0.11]# yum -y install gcc+ gcc-c++
然后需要 删除掉解压的redis包 再重新压缩后 再次执行 make && make install

第四步:创建相关的目录
[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

第五步:安装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
...
...
...

第六步:上传配置文件到
[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

第七步,启动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

第八步检查 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

根据日志内容进行优化
优化1:
[root@prd3-redis01-10-183 conf]# echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf
[root@prd3-redis01-10-183 conf]# sysctl -p
优化2:
[root@prd3-redis01-10-183 conf]# echo "net.core.somaxconn = 511" >> /etc/sysctl.conf
[root@prd3-redis01-10-183 conf]# sysctl -p
优化3:
还有一个就是关闭透明大页,我们优化脚本中做了

温柔的关闭redis的方法
[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 //温柔关闭redis的方法
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

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

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

0