一、Redis环境的准备
0.工作目录的准备
#在/etc/profile中指定我们工作的目录路径 vim /etc/profile export REDIS_HOME=/home/rongda source /etc/profile
1.安装准备
mkdir -p /home/rongda/tools mkdir -p /home/rongda/redis-cluster mkdir -p /home/rongda/redis-cluster/redis 上传软件包redis-5.0.5.tar.gz至/home/rongda/tools
2.安装Redis
#1,使用指令进入tools目录 cd /home/rongda/tools #2,使用指令解压缩 tar -zxvf redis-5.0.5.tar.gz #3,使用指令进入目录 cd /home/rongda/tools/redis-5.0.5/ #4,使用指令编译redis make MALLOC=libc make PREFIX=/home/rongda/redis.cluster/redis #此处为Redis的安装目录位置 #5,使用指令进入目录 cd /home/rongda/redis.cluster/redis/bin #6,使用指令查看是否安装成功, ./redis-server --version #7,结果如下: # Redis server v=5.0.5 sha=00000000:0 malloc=jemalloc-4.0.3 bits=64 build=d84647458df2f328
二、集群节点准备
0.环境的准备
1台服务器,6个实例
7000 master1
7001 master2
7002 master3
7003 slave1
7004 slave2
7005 slave3
1.准备目录
mkdir /home/rongda/redis.cluster/master{1..3} mkdir /home/rongda/redis.cluster/slave{1..3}
2.准备配置文件
cat > /home/rongda/redis.cluster/master1/redis.conf <<EOF port 7000 daemonize yes pidfile /home/rongda/redis.cluster/master1/redis.pid loglevel notice logfile "/home/rongda/redis.cluster/master1/redis.log" dbfilename dump.rdb dir /home/rongda/redis.cluster/master1 protected-mode no cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes EOF cat >> /home/rongda/redis.cluster/master2/redis.conf <<EOF port 7001 daemonize yes pidfile /home/rongda/redis.cluster/master2/redis.pid loglevel notice logfile "/home/rongda/redis.cluster/master2/redis.log" dbfilename dump.rdb dir /home/rongda/redis.cluster/master2 protected-mode no cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes EOF cat >> /home/rongda/redis.cluster/master3/redis.conf <<EOF port 7002 daemonize yes pidfile /home/rongda/redis.cluster/master3/redis.pid loglevel notice logfile "/home/rongda/redis.cluster/master3/redis.log" dbfilename dump.rdb dir /home/rongda/redis.cluster/master3 protected-mode no cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes EOF cat >> /home/rongda/redis.cluster/slave1/redis.conf <<EOF port 7003 daemonize yes pidfile /home/rongda/redis.cluster/slave1/redis.pid loglevel notice logfile "/home/rongda/redis.cluster/slave1/redis.log" dbfilename dump.rdb dir /home/rongda/redis.cluster/slave1 protected-mode no cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes EOF cat >> /home/rongda/redis.cluster/slave2/redis.conf <<EOF port 7004 daemonize yes pidfile /home/rongda/redis.cluster/slave2/redis.pid loglevel notice logfile "/home/rongda/redis.cluster/slave2/redis.log" dbfilename dump.rdb dir /home/rongda/redis.cluster/slave2 protected-mode no cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes EOF cat >> /home/rongda/redis.cluster/slave3/redis.conf <<EOF port 7005 daemonize yes pidfile /home/rongda/redis.cluster/slave3/redis.pid loglevel notice logfile "/home/rongda/redis.cluster/slave3/redis.log" dbfilename dump.rdb dir /home/rongda/redis.cluster/slave3 protected-mode no cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes EOF
3.启动节点
#进入到Redis的bin目录下进行启动 cd /home/rongda/redis.cluster/redis/bin redis-server /home/rongda/redis.cluster/master2/redis.conf redis-server /home/rongda/redis.cluster/master3/redis.conf redis-server /home/rongda/redis.cluster/slave1/redis.conf redis-server /home/rongda/redis.cluster/slave2/redis.conf redis-server /home/rongda/redis.cluster/slave3/redis.conf
4.检查是否启动成功
ps -ef |grep redis 端口7000-7005端口都存在
5.将节点加入到集群管理
##在这里要注意:因为Redis版本的不同,启动命令也不一样。 5.0.5版本的redis-trib.rb已经被包含在了redis-cli中 cd /home/rongda/redis.cluster/redis/bin redis-cli create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
6.查看集群状态
集群主节点状态 redis-cli -p 7000 cluster nodes | grep master 集群从节点状态 redis-cli -p 7000 cluster nodes | grep slave
三、集群节点的管理
1,增加一个新的节点
1)环境准备 7006 master4 7007 slave4 #1.准备目录 mkdir /home/rongda/redis.cluster/master4 mkdir /home/rongda/redis.cluster/slave4 #2.准备配置文件 cat > /home/rongda/redis.cluster/master4/redis.conf <<EOF port 7006 daemonize yes pidfile /home/rongda/redis.cluster/master4/redis.pid loglevel notice logfile "/home/rongda/redis.cluster/master4/redis.log" dbfilename dump.rdb dir /home/rongda/redis.cluster/master4 protected-mode no cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes EOF cat >> /home/rongda/redis.cluster/slave4/redis.conf <<EOF port 7007 daemonize yes pidfile /home/rongda/redis.cluster/slave4/redis.pid loglevel notice logfile "/home/rongda/redis.cluster/slave4/redis.log" dbfilename dump.rdb dir /home/rongda/redis.cluster/slave4 protected-mode no cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes EOF #3.启动节点 #进入到Redis的bin目录下进行启动 cd /home/rongda/redis.cluster/redis/bin redis-server /home/rongda/redis.cluster/master4/redis.conf redis-server /home/rongda/redis.cluster/slave4/redis.conf #4.检查是否启动成功 ps -ef |grep redis 端口7006 7007端口都存在 #5.添加到集群中 1)将master4加入主节点 在这里要注意:因为Redis版本的不同,启动命令也不一样。 5.0.5版本的redis-trib.rb已经被包含在了redis-cli中 cd /home/rongda/redis.cluster/redis/bin redis-cli add-node 127.0.0.1:7006 127.0.0.1:7000 redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1 2)将slave4添加到从节点中 #查看从节点要添加的主节点的node号 redis-cli -p 7006 cluster nodes |grep master #添加从节点 redis-cli add-node --slave --master-id 主节点的node号 127.0.0.1:7007 127.0.0.1:7000 #6.查看集群状态 集群主节点状态 redis-cli -p 7000 cluster nodes | grep master 集群从节点状态 redis-cli -p 7000 cluster nodes | grep slave