美文网首页
redis 服务安装、集群配置

redis 服务安装、集群配置

作者: 一把君子剑 | 来源:发表于2018-09-17 15:41 被阅读11次

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

相关文章

网友评论

      本文标题:redis 服务安装、集群配置

      本文链接:https://www.haomeiwen.com/subject/ucnlnftx.html