下載redis並安裝
wget http://download.redis.io/releases/redis-6.2.1.tar.gz
tar -zxvf /usr/local/redis-6.2.1.tar.gz
cd /usr/local/redis-6.2.1.tar.gz
make
准備配置文件
1、新建目錄,並拷貝出6個節點的配置文件
cd /usr/local/redis-6.1.1
mkdir -p /usr/local/redis-6.2.1/config
mkdir -p /usr/local/redis-6.2.1/log
mkdir -p /usr/local/redis-6.2.1/data
mkdir -p /usr/local/redis-6.2.1/node
cp redis.conf ./config/redis-7000.conf
2、修改每個節點的配置文件內容
遠程訪問需要把bind注釋掉
# bind 127.0.0.1
修改端口號
port 7000
默認啟動時為后台啟動,yes為后台啟動
daemonize yes
指定進程信息存儲文件
pidfile /var/run/redis_7000.pid
指定日志文件
logfile "/usr/local/redis-6.2.1/log/redis-7000.log"
指定數據文件路徑
dir "/usr/local/redis-6.2.1/data"
指定rdb持久化文件名
dbfilename "dump-7000.rdb"
指定aof持久化文件名(默認情況不會生成,因為默認 appendonly no)
appendonly yes
appendfilename "appendonly-7000.aof"
以集群方式啟動
cluster-enabled yes
集群節點nodes信息配置文件(是自動生成的)
cluster-config-file "/usr/local/redis-6.2.1/node/nodes-7000.conf"
設置訪問密碼
requirepass redis123
3、准備其他節點的配置文件
將 redis-7000.conf 文件都復制一份並修改,附sed命令:sed 's/要被取代的字串/新的字串/g'
cd /usr/local/redis-6.0.6/config
sed "s/7000/7001/g" redis-7000.conf > redis-7001.conf
sed "s/7000/7002/g" redis-7000.conf > redis-7002.conf
sed "s/7000/7003/g" redis-7000.conf > redis-7003.conf
sed "s/7000/7004/g" redis-7000.conf > redis-7004.conf
sed "s/7000/7005/g" redis-7000.conf > redis-7005.conf
啟動6個Redis實列
cd /usr/local/redis-6.2.1
./src/redis-server ./config/redis-7000.conf
啟動其他5個實例
通過 ps -ef | grep redis,查看實列數量,檢查是否6個實例已啟動。
搭建集群
cd /usr/local/redis-6.2.1/src
./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 -a redis123
選項–replicas 1 : 表示我們希望為集群中的每個主節點創建一個從節點
后面的節點,前3個是主節點,(若節點在不同的機器上,注意主節點的書寫位置,要避免主節點在同一台機器上,影響性能)
驗證集群
1、查看集群狀態
./redis-cli -h 127.0.0.1 -p 7000 -a redis123 cluster info
2、查看集群節點信息
./redis-cli -h 127.0.0.1 -p 7000 -a redis123 cluster nodes
可以查看到各節點的信息,槽的分配
集群重啟
第一步:先關閉各個Redis節點。
./src//redis-cli -p 7000 -a redis123 shutdown
第二步:再啟動各個Redis節點即可。
./src/redis-server ./config/redis-7000.conf