wget https://download.redis.io/releases/redis-6.2.6.tar.gz

tar -xvf redis-6.2.6.tar.gz

mv redis-6.2.6 /usr/local/redis-6.2.6

yum install gcc-c++

gcc -v

cd /usr/local/redis-6.2.6

2、编译Redis程序:

make

3、安装Redis:

make install PREFIX=/usr/local/redis 


用/etc/redis文件夹存放redis命令和配置文件
 mv *.conf /etc/redis 

将centos机器上运行的启动文件复制过来。如下:

ls /etc/init.d
dump.rdb  functions  README  redis26379  redis26380  redis26381  redis6379  redis6380  redis6381

chkconfig --list

注:该输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。SysV 配置数据
可能被原生 systemd 配置覆盖。
看来欧拉OS,默认是没有开启 chkconfig.service的。

systemctl start redis6379

启动失败,看日志: cat /tmp/redis-6379.log

 这句比较重要:Increased maximum number of open files to 10032 (it was originally set to 1024).

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.

原因分析:vm.overcommit_memory 指的是进程申请的内存大小。当参数值为 0 时,如果一次性申请的内存大小超过了系统总内存,有可能被拒绝。当参数值为 0 时,有可能会导致 redis 执行 bgsave 操作保存 rdb 文件失败。 

修改方式1:系统级别,即 linux 内核能分配的最大文件描述符数量

nano /etc/sysctl.conf

尾部加入:

fs.file-max = 102400
net.core.somaxconn = 511
vm.overcommit_memory = 1

sysctl -p

重新登录:

 su - root

2.用户级别,即用户进程能打开的最大文件描述符数量;

[root@op7080 ~]#  ulimit -Hn     
524288 --hard nofile 
[root@op7080 ~]# ulimit -Sn
1024  --soft nofile 

root@op7080 ~]# /usr/lib/systemd/systemd-sysv-install enable redis6379

root@op7080 ~]# /usr/lib/systemd/systemd-sysv-install enable redis6380

root@op7080 ~]# /usr/lib/systemd/systemd-sysv-install enable redis6381
[root@op7080 ~]# /usr/lib/systemd/systemd-sysv-install enable redis26381
[root@op7080 ~]# /usr/lib/systemd/systemd-sysv-install enable redis26380
[root@op7080 ~]# /usr/lib/systemd/systemd-sysv-install enable redis26379

[root@op7080 ~]# firewall-cmd  --zone=public --add-port=6379-6381/tcp --permanent
success
[root@op7080 ~]# firewall-cmd  --zone=public --add-port=26379-26381/tcp --permanent
success

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐