redis集群搭建
一、linux下redis安装
1.1 下载对应平台版本
下载地址:https://redis.io/download
1.2 解压及配置路径
# 解压
tar -zxf redis-3.0.6.tar.gz
# 迁移配置路径
mkdir -p /usr/local/redis-cluster
mv redis-3.0.6 /usr/local/redis-cluster
二、本机(172.31.236.129)开启6个redis(3个主机,3个备机)实例
172.31.236.129:7000 172.31.236.129:7001 172.31.236.129:7002 172.31.236.129:7003 172.31.236.129:7004 172.31.236.129:7005
三、安装依赖
3.1 安装redis-3.3.0.gem
# 下载
https://rubygems.org/downloads/redis-3.3.0.gem
# 安装
gem install -l redis-3.3.0.gem
四、配置各节点信息
4.1 7000节点
# 新建文件夹
mkdir -p /usr/local/redis-cluster/7000
# 创建配置文件(/usr/local/redis-cluster/7000/redis.conf)
port 7000
cluster-enabled yes
cluster-config-file /usr/local/redis-cluster/7000/nodes.conf
cluster-node-timeout 5000
appendonly yes
masterauth 123456
requirepass 123456
4.2 7001节点
# 新建文件夹
mkdir -p /usr/local/redis-cluster/7001
# 创建配置文件(/usr/local/redis-cluster/7001/redis.conf)
port 7001
cluster-enabled yes
cluster-config-file /usr/local/redis-cluster/7001/nodes.conf
cluster-node-timeout 5000
appendonly yes
masterauth 123456
requirepass 123456
4.3 7002节点
# 新建文件夹
mkdir -p /usr/local/redis-cluster/7002
# 创建配置配置文件(/usr/local/redis-cluster/7002/redis.conf)
port 7002
cluster-enabled yes
cluster-config-file /usr/local/redis-cluster/7002/nodes.conf
cluster-node-timeout 5000
appendonly yes
masterauth 123456
requirepass 123456
4.4 7003节点
# 新建文件夹
mkdir -p /usr/local/redis-cluster/7003
# 创建配置配置文件(/usr/local/redis-cluster/7003/redis.conf)
port 7003
cluster-enabled yes
cluster-config-file /usr/local/redis-cluster/7003/nodes.conf
cluster-node-timeout 5000
appendonly yes
masterauth 123456
requirepass 123456
4.5 7004节点
# 新建文件夹
mkdir -p /usr/local/redis-cluster/7004
# 创建配置配置文件(/usr/local/redis-cluster/7004/redis.conf)
port 7004
cluster-enabled yes
cluster-config-file /usr/local/redis-cluster/7004/nodes.conf
cluster-node-timeout 5000
appendonly yes
masterauth 123456
requirepass 123456
4.6 7005节点
# 新建文件夹
mkdir -p /usr/local/redis-cluster/7005
# 创建配置配置文件(/usr/local/redis-cluster/7005/redis.conf)
port 7005
cluster-enabled yes
cluster-config-file /usr/local/redis-cluster/7005/nodes.conf
cluster-node-timeout 5000
appendonly yes
masterauth 123456
requirepass 123456
五、启动各节点
# 进入指定文件
cd /usr/local/redis-cluster
# 启动节点
./redis-3.0.6/src/redis-server ./7000/redis.conf &
./redis-3.0.6/src/redis-server ./7001/redis.conf &
./redis-3.0.6/src/redis-server ./7002/redis.conf &
./redis-3.0.6/src/redis-server ./7003/redis.conf &
./redis-3.0.6/src/redis-server ./7004/redis.conf &
./redis-3.0.6/src/redis-server ./7005/redis.conf &
六、创建集群(3主3从)
./redis-3.0.6/src/redis-trib.rb create --replicas 1 172.31.236.129:7000 172.31.236.129:7001 172.31.236.129:7002 172.31.236.129:7003 172.31.236.129:7004 172.31.236.129:7005
参数说明:
1) create
表示创建一个redis cluster集群
2) --replicas 1
表示为集群中的每一个主节点指定一个从节点,即一比一的复制
七、查看集群(3主3从)
7.1 查看集群各节点
/usr/local/redis-cluster/redis-3.0.6/src/redis-cli -c -h 172.31.236.129 -p 7000 -a 123456
172.31.236.129:7000> cluster nodes
9d8ac73a796cb456c3c5ca1db19664994497b08a 172.31.236.129:7001 master - 0 1586331713022 2 connected 5461-10922
4d50a7dbc4c028ebb3c15790d1057bc4cdaf3a16 172.31.236.129:7002 master - 0 1586331714029 3 connected 10923-16383
9319252fd44796938d5a944fccafac9e2291a89d 172.31.236.129:7003 slave 818ac1377f74679d9a95da162165808969d0552d 0 1586331713525 4 connected
b9b9c035afc625d28b31693700b9b59e95c88d25 172.31.236.129:7005 slave 4d50a7dbc4c028ebb3c15790d1057bc4cdaf3a16 0 1586331712520 6 connected
818ac1377f74679d9a95da162165808969d0552d 172.31.236.129:7000 myself,master - 0 0 1 connected 0-5460
770e4ac4da4fd14e3cff14caa38587a372b2392a 172.31.236.129:7004 slave 9d8ac73a796cb456c3c5ca1db19664994497b08a 0 1586331713022 5 connected
7.2 在集群中存储数据
/usr/local/redis-cluster/redis-3.0.6/src/redis-cli -c -h 172.31.236.129 -p 7000 -a 123456
172.31.236.129:7000> set name zhangsan
-> Redirected to slot [5798] located at 172.31.236.129:7001
OK
172.31.236.129:7001> get name
"zhangsan"
172.31.236.129:7001>
7.3 查看节点信息
/usr/local/redis-cluster/redis-3.0.6/src/redis-cli -c -h 172.31.236.129 -p 7000 -a 123456
172.31.236.129:7000> info
# Server
redis_version:3.0.6
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:1e024ea4eb94767
redis_mode:cluster
os:Linux 4.4.0-137-generic x86_64
arch_bits:64
multiplexing_api:epoll
gcc_version:7.4.0
process_id:30836
run_id:d2b6b57a957614fd840ff12f41f3198f570611e8
tcp_port:7000
uptime_in_seconds:1205526
uptime_in_days:13
hz:10
lru_clock:9274375
config_file:/usr/local/redis-cluster/./7000/redis.conf
# Clients
connected_clients:1911
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0
# Memory
used_memory:42299224
used_memory_human:40.34M
used_memory_rss:16064512
used_memory_peak:44709128
used_memory_peak_human:42.64M
used_memory_lua:36864
mem_fragmentation_ratio:0.38
mem_allocator:jemalloc-3.6.0
# Persistence
loading:0
rdb_changes_since_last_save:0
rdb_bgsave_in_progress:0
rdb_last_save_time:1585127213
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:0
rdb_current_bgsave_time_sec:-1
aof_enabled:1
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok
aof_current_size:0
aof_base_size:0
aof_pending_rewrite:0
aof_buffer_length:0
aof_rewrite_buffer_length:0
aof_pending_bio_fsync:0
aof_delayed_fsync:0
# Stats
total_connections_received:2714
total_commands_processed:1202514
instantaneous_ops_per_sec:1
total_net_input_bytes:47259191
total_net_output_bytes:2487466
instantaneous_input_kbps:0.06
instantaneous_output_kbps:0.00
rejected_connections:0
sync_full:1
sync_partial_ok:0
sync_partial_err:0
expired_keys:0
evicted_keys:0
keyspace_hits:0
keyspace_misses:2
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:208
migrate_cached_sockets:0
# Replication
role:master
connected_slaves:1
slave0:ip=172.31.236.129,port=7003,state=online,offset=1678125,lag=1
master_repl_offset:1678139
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:629564
repl_backlog_histlen:1048576
# CPU
used_cpu_sys:808.27
used_cpu_user:994.99
used_cpu_sys_children:0.00
used_cpu_user_children:0.00
# Cluster
cluster_enabled:1
# Keyspace
172.31.236.129:7000>
参考
redis3.x集群的搭建:https://blog.csdn.net/hxhaaj/article/details/80670463 Redis-3.2.0集群配置:(redis cluster):https://www.cnblogs.com/ExMan/p/11040600.html