1、安装reids
使用脚本root@localhost ~]# cat install_redis.sh
#!/bin/bash
package_level=5.0.10
package_path=/data/application
package=redis-$package_level.tar.gz
# 关闭防火墙、Selinux
systemctl stop firewalld && setenforce 0
# 配置yum源
curl -o yum-server.sh http://10.36.192.100/yum-server.sh
sh yum-server.sh
# 安装依赖的包
yum install -y gcc make vim wget
#获取redis的安装包
mkdir -p $package_path
if [ ! -f /opt/$package ];then
wget -O /opt/$package http://download.redis.io/releases/$package
fi
cd /opt/ ; tar xf $package -C $package_path
cd $package_path/redis-$package_level/ ; make
if [ $? -eq 0 ];
then
echo "redis-$package_level 安装完成"
fi
cat > /lib/systemd/system/redis.service <<EOF
[Unit]
Description=Redis
After=network.target
[Service]
ExecStart=/data/application/redis-$package_level/src/redis-server /data/application/redis-$package_level/redis.conf --daemonize no
ExecStop=/data/application/redis-$package_level/src/redis-cli -h 127.0.0.1 -p 6379 shutdown
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload && systemctl enable redis --now
if [ $? -eq 0 ];
then
echo "redis-$package_level 启动完成"
fi
2、配置不同的节点及监听的端口
目录、端口区分并且对应起来
[root@redis-1 ~]# mkdir -p /data/application/{8001,8002}
[root@redis-2 ~]# mkdir -p /data/application/{8003,8004}
[root@redis-3 ~]# mkdir -p /data/application/{8005,8006}
[root@redis-1 ~]# cat /data/application/8001/redis.conf
port 8001
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
daemonize yes
bind 0.0.0.0
pidfile /data/application/8001/redis_8001.pid
dir /data/application/8001/data
#这里的/data/application/8001/redis.conf ,对应不同的800{1..6}都要配置成自己的redis.conf
3、启动服务
cd /data/application
[root@redis-1 application] #./redis/src/redis-server 8001/redis.conf
[root@redis-1 application] #./redis/src/redis-server 8002/redis.conf
[root@redis-2 application] #./redis/src/redis-server 8003/redis.conf
[root@redis-2 application] #./redis/src/redis-server 8004/redis.conf
[root@redis-3 application] #./redis/src/redis-server 8005/redis.conf
[root@redis-3 application] #./redis/src/redis-server 8006/redis.conf
查看一下端口是否正常在监听状态
4、创建集群
# 注意ip和端口的对应
[root@redis-1 ~]# /data/application/redis/src/redis-cli --cluster create --cluster-replicas 1 192.168.109.157:8001 192.168.109.157:8002 192.168.109.135:8003 192.168.109.135:8004 192.168.109.150:8005 192.168.109.150:8006
#重置每条指令
/data/application/redis/src/redis-cli 192.168.109.150 -p 8006 cluster rest
5、登录集群并测试
[root@redis-1 application]# ./data/application/redis/src/redis-cli 192.168.109.157 -p 8002
1、写入数据,看如何分配
2、查看是否在任意节点都能查到数据
3、宕机测试,停某一个主,看集群状态变化,在启动停止的主,看集群的状态变化
4、停掉一对主从,看集群是否正常
192.168.109.157:8002> cluster info
192.168.109.157:8002> cluster nodes