Codis-Service配置在三台机器上,每台机器分别配置3个redis,如下:
ip:192.168.1.60 Codis-Service-60(redis-6379、redis-6380、redis-6381) ip:192.168.1.35 Codis-Service-35(redis-6379、redis-6380、redis-6381) ip:192.168.1.22 Codis-Service-22(redis-6379、redis-6380、redis-6381)
Codis-Service-60、Codis-Service-35、Codis-Service-22
Codis-Service主要负责来启动Redis服务,千万要记住一点:这个时候不需要再额外的配置redis软件包,因为在之前编译的时候所有的软件包都已经具备了。
1、 拷贝redis的配置文件到codis目录之中
由于本次要使用的redis脚本会很多,建议建立一个目录
$ mkdir -p /usr/local/codis/conf/redis_conf/
拷贝一个文件到此目录之中,更名为:redis-6379.conf
$ cp /usr/data/gowork/src/github.com/CodisLabs/codis/extern/redis-3.2.4/redis.conf /usr/local/codis/conf/redis_conf/redis-6379.conf
改完之后,再将其复制为redis-6380.conf、redis-6381.conf
$ /usr/local/codis/conf/redis_conf $ cp redis-6379.conf redis-6380.conf $ cp redis-6379.conf redis-6381.conf
a、建立redis-6379.conf目录
$ mkdir -p /usr/data/redis/redis-6379/{db,logs,run} 配置redis-6379.conf #bind 127.0.0.1 port 6379 daemonize yes pidfile /usr/data/redis/redis-6379/run/redis_6379.pid logfile "/usr/data/redis/redis-6379/logs/logs_6379.log" dir /usr/data/redis/redis-6379/db requirepass 123456
b、建立redis-6380.conf目录
$ mkdir -p /usr/data/redis/redis-6380/{db,logs,run} 配置redis-6380.conf #bind 127.0.0.1 port 6380 daemonize yes pidfile /usr/data/redis/redis-6380/run/redis_6379.pid logfile "/usr/data/redis/redis-6380/logs/logs_6379.log" dir /usr/data/redis/redis-6380/db requirepass 123456
c、建立redis-6381.conf目录
$ mkdir -p /usr/data/redis/redis-6381/{db,logs,run} 配置redis-6381.conf #bind 127.0.0.1 port 6381 daemonize yes pidfile /usr/data/redis/redis-6381/run/redis_6379.pid logfile "/usr/data/redis/redis-6381/logs/logs_6379.log" dir /usr/data/redis/redis-6381/db requirepass 123456
d、测试配置的redis服务是否正常,先进行各自服务的启动,此时的启动使用的不是redis-server的启动,而是codis-server的启动:
a、启动6379的redis服务
$ /usr/local/codis/bin/codis-server /usr/local/codis/conf/redis_conf/redis-6379.conf $ ps -ef|grep codis
注意:
启动redis服务,在日志中发现如下警告: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.
配置Linux的环境参数,将所有的可用内存交给redis服务:
echo "vm.overcommit_memory=1" >> /etc/sysctl.conf,然后sysctl -p 使配置文件生效
b、启动6380的redis服务
$ /usr/local/codis/bin/codis-server /usr/local/codis/conf/redis_conf/redis-6380.conf
$ ps -ef|grep codis
c、启动6381的redis服务
$ /usr/local/codis/bin/codis-server /usr/local/codis/conf/redis_conf/redis-6381.conf
$ ps -ef|grep codis
e、redis客户端操作redis命名
$ cd /usr/data/gowork/src/github.com/CodisLabs/codis/extern/redis-3.2.4/ $ ./src/redis-cli -p 6379 -a 123456 $ ./src/redis-cli -p 6380 -a 123456 $ ./src/redis-cli -p 6381 -a 123456
如果访问正常,表示redis启动正确。
2、Codis-Service-35、Codis-Service-22操作跟Codis-Service-60一致,在此省略。
一、codis bin目录:/usr/local/codis/bin
二、redis配置文件目录:/usr/local/codis/conf/redis_conf
三、redis对应的db,logs,run目录:
/usr/data/redis/redis-6379/{db,logs,run}
/usr/data/redis/redis-6380/{db,logs,run}
/usr/data/redis/redis-6381/{db,logs,run}