目标(本文达成的结果,配对关系可能会变):
先在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 exit!!" 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