目标(本文达成的结果,配对关系可能会变):

 

先在131上进行操作

1.下载redis

http://download.redis.io/releases/redis-5.0.2.tar.gz

2.解压

[testapp@k8s-node2 ~]$ mkdir redis

[testapp@k8s-node2 ~]$ cd redis 

上传文件

[testapp@k8s-node2 ~/redis]$ tar -zxvf redis-5.0.2.tar.gz

 

3.修改/usr/local/bin/权限

su - root

chmod 777 /usr/local/bin/

su - testapap

建立文件夹

[testapp@k8s-node2 ~/redis]$ mkdir redis_cluster

[testapp@k8s-node2 ~/redis]$ mkdir logs

[testapp@k8s-node2 ~/redis]$ touch logs/redis_run.logs

[testapp@k8s-node2 ~/redis]$ cp /redis-5.0.2/redis.conf .
[testapp@k8s-node1 ~/redis]$ ll
总用量 1908
drwxrwxr-x 2 testapp testapp      77 8月  14 17:00 logs
drwxrwxr-x 6 testapp testapp     309 11月 22 2018 redis-5.0.2
-rw-rw-r-- 1 testapp testapp 1952989 8月  14 15:33 redis-5.0.2.tar.gz
drwxrwxr-x 2 testapp testapp     268 8月  14 18:56 redis_cluster

[testapp@k8s-node1 ~/redis]$ pwd
/home/ap/testapp/redis

 

 

 

4.修改配置文件

port 6380 //端口(从节点使用6381端口)

#bind 127.0.0.1 //需要注释掉该配置

daemonize yes //redis后台运行

logfile “/home/ap/testapp/redis/logs/redis_run.log”//配置redis日志路径

pidfile /home/ap/testapp/redis/redis_cluster/redis_6380.pid //redis的进程文件

appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志 

dir /home/ap/testapp/redis/redis_cluster/ //数据库备份的文件放置的路径

Protected-mode no //是否开启保护模式

cluster-enabled yes //开启集群 把注释#去掉

cluster-config-file /home/ap/testappl/redis/redis_cluster/nodes_6380.conf //集群的配置

cluster-node-timeout 15000 //请求超时 默认15秒,可自行设置

 

5.安装

cd redis-5.0.2

make && make install

 

6.启动

/home/ap/testapp/redis/redis-5.0.2/src/redis-server /home/ap/testapp/redis/redis_cluster/redis.conf

 ps -ef | grep redis

 

7.关闭防墙

systemctl status firewalld //查看防火墙状态
systemctl is-enabled firewalld //查看开机是否启动防火墙服务
systemctl stop firewalld //关闭防火墙
systemctl disable firewalld //禁用防火墙(系统启动时不启动防火墙服务)

 

 8.组成集群

关闭6380

/home/ap/testapp/software/redis/redis-5.0.2/src/redis-cli -c -p 6380 shutdown

配置集群conf

cp redis.conf redis6380.conf

cp redis.conf redis6381.conf ##并更改内容中6380 为6381

cp redis.conf redis6382.conf ##并更改内容中6380 为6382

rm redis.conf 

依次启动6380 6381 6382

/home/ap/testapp/redis/redis-5.0.2/src/redis-server /home/ap/testapp/redis/redis_cluster/redis6380.conf

/home/ap/testapp/redis/redis-5.0.2/src/redis-server /home/ap/testapp/redis/redis_cluster/redis6381.conf

 /home/ap/testapp/redis/redis-5.0.2/src/redis-server /home/ap/testapp/redis/redis_cluster/redis6382.conf

 

再在192.168.111.132重复1--8

 

组成集群

/home/ap/testapp/software/redis/redis-5.0.2/src/redis-cli --cluster create 192.168.111.131:6380 192.168.111.131:6381 192.168.111.131:6382 192.168.111.132:6380 192.168.111.132:6381 192.168.111.132:6382 --cluster-replicas 1

[testapp@k8s-node1 ~/redis/redis_cluster]$ /home/ap/testapp/redis/redis-5.0.2/src/redis-cli --cluster create  192.168.111.131:6380 192.168.111.131:6381 192.168.111.131:6382 192.168.111.132:6380 192.168.111.132:6381 192.168.111.132:6382 --cluster-replicas 1
>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 192.168.111.132:6381 to 192.168.111.131:6380
Adding replica 192.168.111.131:6382 to 192.168.111.132:6380
Adding replica 192.168.111.132:6382 to 192.168.111.131:6381
M: 078d0050ee8502ac2e21fd26b63924d5fca1c384 192.168.111.131:6380
   slots:[0-5460] (5461 slots) master
M: f1b97d85a94a309b9c67e6b50104cc2e6c2be6b3 192.168.111.131:6381
   slots:[10923-16383] (5461 slots) master
S: c8952a45cf7019bb1dfd8f8e029dc3415d65b214 192.168.111.131:6382
   replicates a799a7cf8c7a14bbc72f7411322895e0ff3d4952
M: a799a7cf8c7a14bbc72f7411322895e0ff3d4952 192.168.111.132:6380
   slots:[5461-10922] (5462 slots) master
S: 301acfbb7929a0416911f892efadfad8a5bf38f9 192.168.111.132:6381
   replicates 078d0050ee8502ac2e21fd26b63924d5fca1c384
S: b56997d7fbbe5df8257733c3ad017edbeb4bdaff 192.168.111.132:6382
   replicates f1b97d85a94a309b9c67e6b50104cc2e6c2be6b3
Can I set the above configuration? (type 'yes' to accept): yes ##输入yes
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join
......
>>> Performing Cluster Check (using node 192.168.111.131:6380)
M: 078d0050ee8502ac2e21fd26b63924d5fca1c384 192.168.111.131:6380
   slots:[0-5460] (5461 slots) master
   1 additional replica(s)
S: b56997d7fbbe5df8257733c3ad017edbeb4bdaff 192.168.111.132:6382
   slots: (0 slots) slave
   replicates f1b97d85a94a309b9c67e6b50104cc2e6c2be6b3
S: c8952a45cf7019bb1dfd8f8e029dc3415d65b214 192.168.111.131:6382
   slots: (0 slots) slave
   replicates a799a7cf8c7a14bbc72f7411322895e0ff3d4952
M: a799a7cf8c7a14bbc72f7411322895e0ff3d4952 192.168.111.132:6380
   slots:[5461-10922] (5462 slots) master
   1 additional replica(s)
M: f1b97d85a94a309b9c67e6b50104cc2e6c2be6b3 192.168.111.131:6381
   slots:[10923-16383] (5461 slots) master
   1 additional replica(s)
S: 301acfbb7929a0416911f892efadfad8a5bf38f9 192.168.111.132:6381
   slots: (0 slots) slave
   replicates 078d0050ee8502ac2e21fd26b63924d5fca1c384
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
[testapp@k8s-node1 ~/software/redis/redis_cluster]$ 

成功搞定

[testapp@k8s-node1 ~/software/redis/redis_cluster]$ ll
总用量 228
-rw-rw-r-- 1 testapp testapp    92 8月  14 18:56 appendonly.aof
-rw-r--r-- 1 testapp testapp   175 8月  14 18:56 dump.rdb
-rw-rw-r-- 1 testapp testapp   957 8月  14 18:55 flushCluster.sh
-rw-r--r-- 1 testapp testapp   817 8月  14 18:56 nodes-6380.conf
-rw-r--r-- 1 testapp testapp   817 8月  14 18:56 nodes-6381.conf
-rw-r--r-- 1 testapp testapp   817 8月  14 18:56 nodes-6382.conf
-rw-rw-r-- 1 testapp testapp 62340 8月  14 18:30 redis6380.conf
-rw-rw-r-- 1 testapp testapp     6 8月  14 18:55 redis_6380.pid
-rw-rw-r-- 1 testapp testapp 62344 8月  14 16:57 redis6381.conf
-rw-rw-r-- 1 testapp testapp     6 8月  14 18:55 redis_6381.pid
-rw-rw-r-- 1 testapp testapp 62344 8月  14 16:59 redis6382.conf
-rw-rw-r-- 1 testapp testapp     6 8月  14 18:55 redis_6382.pid
[testapp@k8s-node1 ~/software/redis/redis_cluster]$ pwd
/home/ap/testapp/software/redis/redis_cluster
[testapp@k8s-node1 ~/software/redis/redis_cluster]$ 

 

如果失败(重试时报Node xxx is not empty)可以用下面脚本来清除后再试

[testapp@k8s-node1 ~/redis/redis_cluster]$ cat flushCluster.sh 
##判断参数
if [ $# -eq 0 ]
then
    echo -e "usage: sh $0 ip \nexit!!" 
    exit
fi

##删除文件
rm /home/ap/testapp/redis/redis_cluster/appendonly.aof /home/ap/testapp/redis/redis_cluster/dump.rdb /home/ap/testapp/redis/redis_cluster/nodes-*.conf
echo "remove appendonly.aof dump.rdb nodes-*.conf,but will be re-created once restart done"


##清除redsi库

for port in 6380 6381 6382
do 

##清除redsi库
/home/ap/testapp/redis/redis-5.0.2/src/redis-cli -c -h $1 -p ${port} <<EOF 2>/dev/null
flushdb
cluster reset
exit
/
EOF

echo "reflushdb redis $1:$port finished"
##关闭服务
/home/ap/testapp/redis/redis-5.0.2/src/redis-cli -c -p ${port} shutdown
echo "shut down redis service on  $1:$port finished"

##启动服务
/home/ap/testapp/redis/redis-5.0.2/src/redis-server /home/ap/testapp/redis/redis_cluster/redis${port}.conf
echo "start redis service on  $1:$port finished"
done

echo "all port restart finished"

9.为集群中的每一个节点设置密码

编写批量启动脚本

[testapp@k8s-node1 ~/redis/redis_cluster]$ pwd
/home/ap/testapp/redis/redis_cluster
[testapp@k8s-node1 ~/redis/redis_cluster]$ ll
总用量 236
-rw-rw-r-- 1 testapp testapp    92 8月  14 18:56 appendonly.aof
-rw-r--r-- 1 testapp testapp   175 8月  14 18:56 dump.rdb
-rw-rw-r-- 1 testapp testapp   957 8月  14 18:55 flushCluster.sh
-rw-r--r-- 1 testapp testapp   817 8月  14 18:56 nodes-6380.conf
-rw-r--r-- 1 testapp testapp   817 8月  14 18:56 nodes-6381.conf
-rw-r--r-- 1 testapp testapp   817 8月  14 18:56 nodes-6382.conf
-rw-rw-r-- 1 testapp testapp 62340 8月  14 18:30 redis6380.conf
-rw-rw-r-- 1 testapp testapp     6 8月  14 18:55 redis_6380.pid
-rw-rw-r-- 1 testapp testapp 62344 8月  14 16:57 redis6381.conf
-rw-rw-r-- 1 testapp testapp     6 8月  14 18:55 redis_6381.pid
-rw-rw-r-- 1 testapp testapp 62344 8月  14 16:59 redis6382.conf
-rw-rw-r-- 1 testapp testapp     6 8月  14 18:55 redis_6382.pid
-rw-rw-r-- 1 testapp testapp   337 8月  14 19:30 startAll.sh
-rw-rw-r-- 1 testapp testapp   220 8月  14 19:31 stopAll.sh
[testapp@k8s-node1 ~/software/redis/redis_cluster]$ cat startAll.sh 
/home/ap/testapp/software/redis/redis-5.0.2/src/redis-server /home/ap/testapp/redis/redis_cluster/redis6380.conf
/home/ap/testapp/software/redis/redis-5.0.2/src/redis-server /home/ap/testapp/redis/redis_cluster/redis6381.conf
/home/ap/testapp/software/redis/redis-5.0.2/src/redis-server /home/ap/testapp/redis/redis_cluster/redis6382.conf

[testapp@k8s-node1 ~/software/redis/redis_cluster]$ cat stopAll.sh 
/home/ap/testapp/redis/redis-5.0.2/src/redis-cli -c -p 6380 shutdown
/home/ap/testapp/redis/redis-5.0.2/src/redis-cli -c -p 6381 shutdown
/home/ap/testapp/redis/redis-5.0.2/src/redis-cli -c -p 6382 shutdown

[testapp@k8s-node1 ~/redis/redis_cluster]$ 

 修改每个redis638*.conf

 masterauth <master-password>  改为  masterauth test@123

requirepass foobared   改为 requirepass test@123

一向比较懒的我

[testapp@k8s-node2 ~/redis/redis_cluster]$  sed 's/# masterauth <master-password>/masterauth test@123/g' redis638*.conf|grep test@123 ##尝试修改,并显示结果
masterauth test@123
masterauth test@123
masterauth test@123
[testapp@k8s-node2 ~/software/redis/redis_cluster]$  sed -i 's/# masterauth <master-password>/masterauth test@123/g' redis638*.conf  ##加-i表示真正修改源文件

同理

[testapp@k8s-node2 ~/redis/redis_cluster]$  sed  's/# requirepass foobared/requirepass test@123/g' redis638*.conf|grep test@123
masterauth test@123
requirepass test@123
masterauth test@123
requirepass test@123
masterauth test@123
requirepass test@123
[testapp@k8s-node2 ~/redis/redis_cluster]$  sed  -i 's/# requirepass foobared/requirepass test@123/g' redis638*.conf

验证

[testapp@k8s-node2 ~/software/redis/redis_cluster]$ grep test@123 redis638*.conf
redis6380.conf:masterauth test@123
redis6380.conf:requirepass test@123
redis6381.conf:masterauth test@123
redis6381.conf:requirepass test@123
redis6382.conf:masterauth test@123
redis6382.conf:requirepass test@123

 

然后重启

sh stopAll.sh

sh startAll.sh

[testapp@k8s-node2 ~/redis/redis_cluster]$ sh stopAll.sh 
[testapp@k8s-node2 ~/redis/redis_cluster]$ sh startAll.sh 
[testapp@k8s-node2 ~/redis/redis_cluster]$ ps -ef|grep redis
testapp   28886      1  0 20:01 ?        00:00:00 /home/ap/testapp/redis/redis-5.0.2/src/redis-server *:6380 [cluster]
testapp   28891      1  0 20:01 ?        00:00:00 /home/ap/testapp/redis/redis-5.0.2/src/redis-server *:6381 [cluster]
testapp   28896      1  0 20:01 ?        00:00:00 /home/ap/testapp/redis/redis-5.0.2/src/redis-server *:6382 [cluster]
testapp   28904  27515  0 20:01 pts/0    00:00:00 grep --color=auto redis
[testapp@k8s-node2 ~/software/redis/redis_cluster]$ pwd
/home/ap/testapp/software/redis/redis_cluster
[testapp@k8s-node2 ~/software/redis/redis_cluster]$ 

验证,不输入密码,报NOAUTH Authentication required

9.1集群相关信息查看

9.1.1集群状态

redis-cli -h ip -p 9379 -a password cluster info
9.1.2.集群节点信息
redis-cli -h ip -p 9379 -a password cluster nodes
9.1.3.节点内存、cpu、key数量等信息(每个节点都需查看)
redis-cli -h ip -p 9379 -a password info
9.1.4.从redis集群中查看key(只需要连接master节点查看)
a.查看该节点的所有key
redis-cli -h ip -p 9379 -a password keys *
b.查看key的value值
redis-cli -h ip -p 9379 -a password -c get key
c.查看key值得有效期
redis-cli -h ip -p 9379 -a password -c ttl key

[testapp@k8s-node1 ~/software/redis/redis_cluster]$ /home/ap/testapp/software/redis/redis-5.0.2/src/redis-cli -c -h 192.168.111.131 -p 6380  cluster info ##查看集群信息
NOAUTH Authentication required.
[testapp@k8s-node1 ~/software/redis/redis_cluster]$ /home/ap/testapp/software/redis/redis-5.0.2/src/redis-cli -c -h 192.168.111.131 -p 6380 -a test@123 cluster info
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:6
cluster_my_epoch:1
cluster_stats_messages_ping_sent:638
cluster_stats_messages_pong_sent:498
cluster_stats_messages_sent:1136
cluster_stats_messages_ping_received:498
cluster_stats_messages_pong_received:525
cluster_stats_messages_received:1023
[testapp@k8s-node1 ~/software/redis/redis_cluster]$ /home/ap/testapp/software/redis/redis-5.0.2/src/redis-cli -c -h 192.168.111.131 -p 6380 -a test@123 cluster nodes ##查看集群结点信息
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
301acfbb7929a0416911f892efadfad8a5bf38f9 192.168.111.132:6381@16381 slave 078d0050ee8502ac2e21fd26b63924d5fca1c384 0 1565784658000 5 connected
b56997d7fbbe5df8257733c3ad017edbeb4bdaff 192.168.111.132:6382@16382 slave f1b97d85a94a309b9c67e6b50104cc2e6c2be6b3 0 1565784659541 6 connected
f1b97d85a94a309b9c67e6b50104cc2e6c2be6b3 192.168.111.131:6381@16381 master - 0 1565784656518 2 connected 10923-16383
078d0050ee8502ac2e21fd26b63924d5fca1c384 192.168.111.131:6380@16380 myself,master - 0 1565784657000 1 connected 0-5460
c8952a45cf7019bb1dfd8f8e029dc3415d65b214 192.168.111.131:6382@16382 slave a799a7cf8c7a14bbc72f7411322895e0ff3d4952 0 1565784658534 4 connected
a799a7cf8c7a14bbc72f7411322895e0ff3d4952 192.168.111.132:6380@16380 master - 0 1565784660549 4 connected 5461-10922
[testapp@k8s-node1 ~/software/redis/redis_cluster]$ 
[testapp@k8s-node1 ~/software/redis/redis_cluster]$ /home/ap/testapp/software/redis/redis-5.0.2/src/redis-cli -c -h 192.168.111.131 -p 6380 -a test@123 info ##查看节点节点内存、cpu、key数量等信息
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
# Server
redis_version:5.0.2
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:c55a3c91ae2e868
redis_mode:cluster
os:Linux 3.10.0-957.el7.x86_64 x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:4.8.5
process_id:21623
run_id:bde9ca1163e34126efb47de9ee76c589dd979b89
tcp_port:6380
uptime_in_seconds:665
uptime_in_days:0
hz:10
configured_hz:10
lru_clock:5503626
executable:/home/ap/testapp/software/redis/redis-5.0.2/src/redis-server
config_file:/home/ap/testapp/software/redis/redis_cluster/redis6380.conf

# Clients
connected_clients:2
client_recent_max_input_buffer:2
client_recent_max_output_buffer:0
blocked_clients:0

# Memory
used_memory:2395096
used_memory_human:2.28M
used_memory_rss:8044544
used_memory_rss_human:7.67M
used_memory_peak:2395096
used_memory_peak_human:2.28M
used_memory_peak_perc:100.05%
used_memory_overhead:2316538
used_memory_startup:1184448
used_memory_dataset:78558
used_memory_dataset_perc:6.49%
allocator_allocated:2488720
allocator_active:2715648
allocator_resident:6713344
total_system_memory:1019797504
total_system_memory_human:972.55M
used_memory_lua:37888
used_memory_lua_human:37.00K
used_memory_scripts:0
used_memory_scripts_human:0B
number_of_cached_scripts:0
maxmemory:0
maxmemory_human:0B
maxmemory_policy:noeviction
allocator_frag_ratio:1.09
allocator_frag_bytes:226928
allocator_rss_ratio:2.47
allocator_rss_bytes:3997696
rss_overhead_ratio:1.20
rss_overhead_bytes:1331200
mem_fragmentation_ratio:3.45
mem_fragmentation_bytes:5712592
mem_not_counted_for_evict:0
mem_replication_backlog:1048576
mem_clients_slaves:16914
mem_clients_normal:66600
mem_aof_buffer:0
mem_allocator:jemalloc-5.1.0
active_defrag_running:0
lazyfree_pending_objects:0

# Persistence
loading:0
rdb_changes_since_last_save:0
rdb_bgsave_in_progress:0
rdb_last_save_time:1565784065
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:0
rdb_current_bgsave_time_sec:-1
rdb_last_cow_size:4390912
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_last_cow_size:0
aof_current_size:92
aof_base_size:92
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:19
total_commands_processed:652
instantaneous_ops_per_sec:0
total_net_input_bytes:25411
total_net_output_bytes:4547
instantaneous_input_kbps:0.02
instantaneous_output_kbps:0.00
rejected_connections:0
sync_full:1
sync_partial_ok:0
sync_partial_err:1
expired_keys:0
expired_stale_perc:0.00
expired_time_cap_reached_count:0
evicted_keys:0
keyspace_hits:0
keyspace_misses:0
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:98873
migrate_cached_sockets:0
slave_expires_tracked_keys:0
active_defrag_hits:0
active_defrag_misses:0
active_defrag_key_hits:0
active_defrag_key_misses:0

# Replication
role:master
connected_slaves:1
slave0:ip=192.168.111.132,port=6381,state=online,offset=896,lag=1
master_replid:bb5feffa6c709a7daac8fe92e722e85f067da375
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:896
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:896

# CPU
used_cpu_sys:1.147768
used_cpu_user:0.126526
used_cpu_sys_children:0.085297
used_cpu_user_children:0.000000

# Cluster
cluster_enabled:1

# Keyspace

9.2 redis.config配置

查看文件中生效配置,即非空非注释行

[testapp@k8s-node2 ~/redis/redis_cluster]$ grep -v "^#" redis6380.conf|grep -v "^$"
protected-mode no
port 6380
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize yes
supervised no
pidfile /home/ap/testapp/redis/redis_cluster/redis_6380.pid
loglevel notice
logfile "/home/ap/testapp/redis/logs/redis_run.log"
databases 16
always-show-logo yes
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir /home/ap/testapp/redis/redis_cluster
masterauth test@123
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
replica-priority 100
requirepass test@123
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
cluster-enabled yes
cluster-config-file /home/ap/testapp/redis/redis_cluster/nodes-6380.conf
cluster-node-timeout 15000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes
[testapp@k8s-node2 ~/redis/redis_cluster]$ 

 9.3持久化相关的配置

rdb快照模式

save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
rdb-save-incremental-fsync yes

AOF增量日志模式
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
aof-rewrite-incremental-fsync yes
 

10 集群使用

192.168.111.132:6380中加入keyhello值
[testapp@k8s-node1 ~/redis/redis_cluster]$ /home/ap/testapp/redis/redis-5.0.2/src/redis-cli -c -h 192.168.111.131 -p 6380 -a test@123
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
192.168.111.131:6380> set keyhello valueworld
-> Redirected to slot [8118] located at 192.168.111.132:6380
OK
192.168.111.132:6380> keys *
1) "keyhello"
192.168.111.132:6380> exit

 

192.168.111.131:6381加入keyhello131-6381
[testapp@k8s-node2 ~/redis/redis_cluster]$ /home/ap/testapp/redis/redis-5.0.2/src/redis-cli -c -h 192.168.111.131 -p 6381 -a test@123
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
192.168.111.131:6381> keys *
(empty list or set)
192.168.111.131:6381> set keyhello1316381 worldhaha
-> Redirected to slot [3527] located at 192.168.111.131:6380
OK
192.168.111.131:6380> keys
(error) ERR wrong number of arguments for 'keys' command
192.168.111.131:6380> keys *
1) "keyhello1316381"
192.168.111.131:6380> exit
[testapp@k8s-node2 ~/software/redis/redis_cluster]$ 

客户端查看

 

 

11 问题及解决

 

https://blog.csdn.net/wenwen360360/article/details/70162169 

Linux安装redis时报gcc:未找到命令错误

https://blog.csdn.net/weixin_38109191/article/details/81531086

tar解压出错:gzip: stdin: unexpected end of file的解决

 

Hint: It's a good idea to run 'make test' ;)

INSTALL install
install: 无法创建普通文件"/usr/local/bin/redis-server": 权限不够
make[1]: *** [install] 错误 1
make[1]: 离开目录“/home/ap/testapp/software/redis/redis-5.0.2/src”
make: *** [install] 错误 2
[testapp@k8s-node1 ~/software/redis/redis-5.0.2]$ ll

[testapp@k8s-node1 /usr/local]$ su - root
密码:
上一次登录:三 8月 14 15:10:59 CST 2019pts/0 上
[root@k8s-node1 ~]# chmod 777 -R /usr/local/bin/
[root@k8s-node1 ~]# 

 

[ERR] Node xxx is not empty. Either the node already knows other no...

https://blog.csdn.net/xianzhixianzhixian/article/details/82777767

 

posted on 2019-08-14 15:15  pu20065226  阅读(2053)  评论(0编辑  收藏  举报