搭建redis集群
一、一台服务器搭建六个redis节点(创建出3 master、3 salve 环境)
1. 安装redis-4.0.11.tar.gz
1)在网上下载redis-4.0.11.tar.gz包,上传至服务器的root目录下或者用wget直接下载(wget http://download.redis.io/releases/redis-5.0.3.tar.gz)
2)yum install gcc -y
3)tar -zxvf redis-4.0.11.tar.gz // 解压
4)cd redis-4.0.11
5)make MALLOC=libc
6)cd src && make install
7)cd ../../
8)mv redis-4.0.11 /usr/local/redis
2.将 redis-trib.rb 复制到 /usr/local/bin 目录下
cd /usr/local/redis/src
cp redis-trib.rb /usr/local/bin/
3.创建Redis 节点
cd /
mkdir redis_cluster //在 服务器上 /root目录下创建 redis_cluster 目录
cd redis_cluster
mkdir redis01 redis02 redis03 redis04 redis05 redis06 //创建名为redis01、redis02、redis03、redis04、redis05、redis06的目录
cp /usr/local/redis/redis.conf /redis_cluster/redis01 // 将 redis.conf 拷贝到这六个目录中
cp /usr/local/redis/redis.conf /redis_cluster/redis02
cp /usr/local/redis/redis.conf /redis_cluster/redis03
cp /usr/local/redis/redis.conf /redis_cluster/redis04
cp /usr/local/redis/redis.conf /redis_cluster/redis05
cp /usr/local/redis/redis.conf /redis_cluster/redis06
修改六个redis.conf配置文件(vi /redis_cluster/redis01/redis.conf),在redis.conf最末尾增加以下内容
port 7001 //端口7001,7002,7003 ,7004,7005,7006
bind 10.1.0.15 //绑定本机IP 默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群
daemonize yes //redis后台运行
pidfile /var/run/redis_7001.pid //pidfile文件对应7001,7002,7003,7004,7005,7006
cluster-enabled yes // 开启集群
cluster-config-file nodes_7001.conf //集群的配置 配置文件首次启动自动生成 7001,7002,7003,7004,7005,7006
cluster-node-timeout 15000 //请求超时 默认15秒,可自行设置
appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志
4.启动各个节点
/usr/local/redis/src/redis-server /redis_cluster/redis01/redis.conf&
/usr/local/redis/src/redis-server /redis_cluster/redis02/redis.conf&
/usr/local/redis/src/redis-server /redis_cluster/redis03/redis.conf&
/usr/local/redis/src/redis-server /redis_cluster/redis04/redis.conf&
/usr/local/redis/src/redis-server /redis_cluster/redis05/redis.conf&
/usr/local/redis/src/redis-server /redis_cluster/redis06/redis.conf&
5. 检查 redis 启动情况
ps -ef | grep redis
6.安装环境,创建集群
yum install centos-release-scl-rh
yum install rh-ruby23
scl enable rh-ruby23 bash
gem install redis
/usr/local/bin/redis-trib.rb create --replicas 1 10.1.0.15:7001 10.1.0.15:7002 10.1.0.15:7003 10.1.0.15:7004 10.1.0.15:7005 10.1.0.15:7006
7.简单使用
redis-benchmark -h 10.1.0.15 -p 7001 -t set
连接方式为redis-cli -h 10.1.0.15 -c -p 7002
查看节点状态 cluster nodes
在一个节点 set hello word
查看 key keys *
在另一个节点查看key 为hello的内容 get hello
8.添加redis开机自启动
1)将redis启动文件redis_init_script拷贝至 /etc/init.d/并命名为redis01
cp /usr/local/redis/utils/redis_init_script /etc/init.d/redis01
2)编辑该启动文件
vi /etc/init.d/redis01
将14行至19行改为
REDISPORT=7001
EXEC=/usr/local/redis/src/redis-server
CLIEXEC=/usr/local/redis/src/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/redis_cluster/redis01/redis.conf"
将38行$CLIEXEC后加入本机ip,本例为10.1.0.15
$CLIEXEC -h 10.1.0.15 -p $REDISPORT shutdown
3)增加其他五个节点的启动文件
cp /etc/init.d/redis01 /etc/init.d/redis02
cp /etc/init.d/redis01 /etc/init.d/redis03
cp /etc/init.d/redis01 /etc/init.d/redis04
cp /etc/init.d/redis01 /etc/init.d/redis05
cp /etc/init.d/redis01 /etc/init.d/redis06
这5个文件 修改
REDISPORT=7002(7003,7004,7005,7006)
CONF="/redis_cluster/redis02/redis.conf" (redis03,redis04,redis05,redis06) 就可以了
4)chkconfig redis01 on (redis02,redis03,redis04,redis05,redis06)
5)用以下命令检查是否成功将redis制作成开机服务
service redis01 start
service redis01 stop