1 redis服务的安装
1.1 安装依赖
yum install gcc gcc-c++ make
yum install wget
1.2 下载redis软件安装包
wget http://download.redis.io/redis-stable.tar.gz
1.3 解压安装
tar xvzf redis-stable.tar.gz
cd redis-stable
mv redis-stable /usr/local/redis
cd /usr/local/redis
make
make install
编译过程中可能会有如下报错:
在包含自 adlist.c:34 的文件中:
zmalloc.h:50:31: 错误:jemalloc/jemalloc.h:没有那个文件或目录
zmalloc.h:55:2: 错误:#error "Newer version of jemalloc required"
make[1]: *** [adlist.o] 错误 1
make[1]: Leaving directory `/usr/local/redis/src'
需要执行如下命令:
make MALLOC=libc && make install
1.4 验证是否安装成功
启动redis:
/usr/local/redis/src/redis-server &
注:加 & 代表后台运行
查看端口:
netstat -ntlp |grep 6379
image.png
如果显示端口正在使用则说明安装成功,没有就没安装成功。
链接redis 测试:
/usr/local/redis/src/redis-cli
存值
set keyTest "hello"
取值
get keyTest
image.png
关闭redis:
/usr/local/redis/src/redis-cli shutdown
1.5修改配置文件
复制配置文件
cp redis.conf /etc/
修改配置文件
vim /etc/redis.conf
配置修改如下:
pidfile /var/run/redis.pid
bind 127.0.0.1 本机ip #bind ip,绑定本机ip即可
daemonize yes #后台运行
loglevel notice
logfile /data/logs/redis/redis.log
#设置log目录,需手动创建/data/logs/redis/目录,mkdir /data/logs/redis/
dir /data/redis/
#设置文件目录,需手动创建mkdir /data/redis/
databases 16
save 900 1
save 300 10
save 60 10000
rdbcompression yes
dbfilename dump.rdb #设置db文件
appendonly no
创建数据目录 并更改权限
mkdir /data/redis/
chmod -R 755 /data
使用 /etc/redis.conf 配置文件启动redis
redis-server /etc/redis.conf
2 redis集群配置
2.1 服务器配置说明
以三主三从为例:
只有三台服务器,所以每台服务上创建两个redis 实例,用作一主一从。
注:需每台服务器上先安装好redis,可参考步骤1
2.2 安装依赖
安装ruby
yum install ruby
安装 gem
yum install rubygems
安装 gem
gem install redis
注:redis 安装需要ruby 版本大于 2.2.2
升级ruby方法可参考 https://www.jianshu.com/p/a1a4d59490d7
2.3 创建实例
注:以一台服务器为例,主从实例的端口分别为 6379、6479
复制配置文件
cp /usr/local/redis/redis.conf /etc/redis_6379.conf
cp /usr/local/redis/redis.conf /etc/redis_6479.conf
注:redis_6379.conf 为端口6379的配置文件,redis_6479.conf为端口6479的配置文件
修改配置文件,修改项如下:
port 6379 #对应实例的端口
pidfile /var/run/redis.pid
bind 127.0.0.1 本机ip #bind ip,绑定本机ip即可
daemonize yes
loglevel notice
logfile /data/logs/redis/redis_6379.log
#设置log目录,需手动创建/data/logs/redis目录,mkdir /data/logs/redis
dir /data/redis/redis_6379/
#设置文件目录,需手动创建mkdir /data/redis/redis_6379/
databases 16
save 900 1
save 300 10
save 60 10000
rdbcompression yes
dbfilename dump_6379.rdb
#设置db文件
appendonly no
详细配置文件可参考 2.7
2.4 启动实例
使用对应的配置文件启动
redis-server /etc/redis_6379.conf
redis-server /etc/redis_6479.conf
查看线程,端口验证是否启动正好
ps -ef|grep redis
netstat -tnlp | grep redis
2.5 创建集群
/usr/local/redis/src/redis-trib.rb create --replicas 1 主机1:6379 主机2:6379 主机3:6379 主机1:6479 主机2:6479 主机3:6479
注:默认前面3个实例为主redis,后3个实例为从redis,只需在一台服务器上创建集群
2.6 验证集群
链接集群,加 –c 参数意味链接集群
redis-cli -h 172.31.78.3 -c -p 6379
2.7 详细配置文件
配置文件:
bind 127.0.0.1 本机ip
protected-mode yes
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize yes
supervised no
pidfile /var/run/redis.pid
loglevel notice
logfile /data/logs/redis/redis_6379.log
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump_6379.rdb
dir /data/redis/redis_6379/
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
cluster-enabled yes // 启动集群模式
cluster-config-file nodes-6379.conf
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes
网友评论