vim /etc/security/limits.d/20-nproc.conf 修改
* soft nproc 12000
2.在/etc/sysctl.conf中加入 net.core.somaxconn=511 ,然后执行 sysctl ‐p 生效,解决默认设 置为一个较低的值128的警告。
- overcommit_memory 设置为0,在低内存环境下的后台保存可能失败。在文件 /etc/sysctl.conf 中添 加 vm.overcommit_memory = 1 ,然后重启或运行命令 sysctl vm.overcommit_memory=1
4.如果服务器的"Transparent Huge Pages (THP)"支持在内核中启用了。这将在使用Redis时造成延迟和 内存使用问题。使用root运行命令
echo never > /sys/kernel/mm/transparent_hugepage/enabled ,并且将它添加到你的/etc/rc.local中使在 重启后仍然保持生效来修复这个问题。在THP禁用之后Redis必须重启。
四、安装GCC编译工具,不然会有编译不过的问题
yum install gcc g++ gcc-c++ make -y
五、下载、解压、编译安装
su - sw
cd backup
wget http://download.redis.io/releases/redis-4.0.1.tar.gz
tar -xvf redis-4.0.1.tar.gz
cd redis-4.0.1
make
make PREFIX=/usr/users/sw/app/redis install
编译完成,redis已经安装在/usr/users/sw/app/redis/bin下面,几个文件大致作用为
redis‐benchmark:性能测试工具,测试Redis在你的系统及配置下的读写性能
redis‐check‐aof:用于修复出问题的AOF文件
redis‐check‐dump:用于修复出问题的dump.rdb文件
redis‐cli:Redis命令行交互客户端
redis‐sentinel:redis‐server别名
redis‐server:Redis服务器启动程序
六、redis的配置修改
在源码目录中,将配置文件模板redis.conf复制到redis配置文件目录中app/redis/conf/,因为一个虚拟机要启动单个
redis节点,所以配置文件要复制三份,分别用于用于规划的服务器端口号命名区别
mkdir ~/app/redis/conf
cp backup/redis-4.0.1/redis.conf ~/app/redis/conf/redis8601.conf
七、编辑redis8601.conf文件
- 设置bind地址为本机IP,&&为本机IP,需要改为其他节点机器可访问的ip,否则创建集群时无法访问对应的端口,无法创建集群
bind 192.168.26.*
- 修改daemonize为yes,即以后台程序方式运行
daemonize yes
- 修改服务端口
port 8601
- 修改pid生成路径
pidfile “/usr/uses/sw/app/redis/run/redis8601.pid”
需要手动创建run目录存放pid路径
mkdir /usr/users/sw/app/redis/run/
5. 修改日志文件的位置
logfile “/applog/redis8601/redis.log”
需要手动创建日志目录
mkdir /applog/redis8601/
6. 修改工作目录,数据文件,append only文件等会在该目录生成
dir “/applog/redisdump”
需要手动创建该目录
mkdir /applog/redisdump
7. 数据文件名
dbfilename “dump8601.rdb”
8. 是否每次更新操作进行日志记录
appendonly yes
文件名设置
appendfilename “appendonly8601.aof”
9. 是否支持集群
cluster-enabled yes
- 集群配置文件名
cluster-config-file “nodes-8601.conf”
八、复制redis8601.conf文件为另外两个节点修改
1. cp redis8601.conf redis8602.conf
cp redis8601.conf redis8603.conf
2.统一替换配置文件redis8602.conf和redis8603.conf的8601为8602和8603
sed -i ‘s/8601/8602/g’ redis8602.conf
sed -i ‘s/8601/8603/g’ redis8603.conf
3.要手动创建8602和8603的日志目录
mkdir /applog/redis8602
mkdir /applog/redis8603
九、启动redis各节点服务
1、cd ~/app/redis/bin
./redis-server ~/app/redis/conf/redis8601.conf
./redis-server ~/app/redis/conf/redis8602.conf
./redis-server ~/app/redis/conf/redis8603 .conf
十、脚本启动
mkdir ~/bin
vim redis.sh
#!/bin/bash
case $1 in
start)
cd /us
【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取
r/users/sw/app/redis/bin
./redis-server /usr/users/sw/app/redis/conf/redis8601.conf
./redis-server /usr/users/sw/app/redis/conf/redis8602.conf
./redis-server /usr/users/sw/app/redis/conf/redis8603.conf
if [ “$?” -eq 0 ];then
ps -ef|grep redis|grep -v grep
echo “redis is started”
else
echo “redis is error”
exit 10
fi
;;
stop)
for pid in ( p s − e f ∣ g r e p r e d i s ∣ g r e p − v " g r e p " ∣ e g r e p − v " (ps -ef|grep redis|grep -v "grep"|egrep -v " (ps−ef∣grepredis∣grep−v"grep"∣egrep−v"{0}"|awk -F " " ‘{print $2}’|uniq);do
kill -9 $pid >> /dev/null 2>&1