1、安装
安装简介:安装6个节点,3个主节点、3个从节点,由于redis默认需要3个主节点,如果想每个主节点有一个从节点这是最低配要求。端口都采用6379。
注意:安装时,应注意保证主备机分别在不同物理机上。
1.1、安装准备
软件:redis-3.2.5
创建redis用户,解压redis-3.2.5.tar.gz 至/home/redis/目录下。
wget http://download.redis.io/releases/redis-3.2.5.tar.gz
3.2.5是官方推荐稳定的发行版本
1.2、修改配置
6个节点均修改redis-3.2.5目录下的redis.conf文件
daemonize yes # redis默认不是后台启动,这里修改成后台启动 cluster-enabled yes # 允许redis支持集群模式 cluster-config-file nodes.conf # 节点配置文件 cluster-node-timeout 15000 # 节点超时毫秒 appendonly yes dir /data/redis/ #redis备份文件存放位置 maxmemory 21474836480 #redis最大使用内存20G
(maxmemory-policy noeviction ,don't expire at all, just return an error on write operations)
并在6个节点执行
make
make install
1.3、启动实例
在6个节点分别执行src/redis-server redis.conf,在6个节点上启动6个redis的实例
1.4、搭建redis集群
选择一个节点操作如下命令即可。
安装ruby环境
yum -y install ruby yum -y install rubygem |
安装ruby的redis api
gem install -l ./redis-3.2.2.gem |
启动集群。
./redis-trib.rb create --replicas 1 xxx.xxx.xx.140:6379 xxx.xxx.xx.141:6379 xxx.xxx.xx.143:6379 xxx.xxx.xx.145:6379 xxx.xxx.xx.147:6379 xxx.xxx.xx.148:6379 |
--replicas 1 表示我们希望为集群中的每个主节点创建一个从节点,由于redis的集群最少需要3个主节点,如果我们每个主节点需要一个从节点,那么最少需要6台机器(或者说6个实例)。145、 147、148这3个将成为主节点,140、141、143将依次称为主节点的从节点。(似乎后面3个为主,前面3个为备)
1.5、测试集群
./redis-cli -c
1.6、停止redis实例
现阶段redis服务器运行状态监控,我们采用redis自带命令脚本,自行解释对应的参数项实现。
$ ps -ef|grep redis redis 15540 1 0 Jun23 ? 00:17:18 src/redis-server *:6379 [cluster] $ kill -9 15540
2、监控
2.1、监控内容
现阶段redis服务器运行状态监控,我们采用redis自带命令脚本,自行解释对应的参数项实现。
[redis@kzx-zczq13 redis-3.2.5]$ src/redis-cli -c 127.0.0.1:6379> info # Server redis_version:3.2.5 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:c1345887f338f67c redis_mode:cluster os:Linux 2.6.32-431.el6.x86_64 x86_64 arch_bits:64 multiplexing_api:epoll gcc_version:4.4.7 process_id:15540 run_id:898d9c378eac7b4db48fa83f0ccb9c9998a8f295 tcp_port:6379 uptime_in_seconds:1037501 uptime_in_days:12 hz:10 lru_clock:8093545 config_file:/home/redis/redis-3.2.5/redis.conf # Clients connected_clients:2 client_longest_output_list:0 client_biggest_input_buf:0 blocked_clients:0 # Memory used_memory:9513768 used_memory_human:9.07M used_memory_rss:16265216 used_memory_peak:9513768 used_memory_peak_human:9.07M used_memory_lua:36864 mem_fragmentation_ratio:1.71 mem_allocator:jemalloc-3.6.0 # Persistence loading:0 rdb_changes_since_last_save:0 rdb_bgsave_in_progress:0 rdb_last_save_time:1467710054 rdb_last_bgsave_status:ok rdb_last_bgsave_time_sec:1 rdb_current_bgsave_time_sec:-1 aof_enabled:1 aof_rewrite_in_progress:0 aof_rewrite_scheduled:0 aof_last_rewrite_time_sec:0 aof_current_rewrite_time_sec:-1 aof_last_bgrewrite_status:ok aof_last_write_status:ok aof_current_size:1958322 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:7 total_commands_processed:142817 instantaneous_ops_per_sec:0 total_net_input_bytes:3407347 total_net_output_bytes:40598277 instantaneous_input_kbps:0.00 instantaneous_output_kbps:0.05 rejected_connections:0 sync_full:0 sync_partial_ok:0 sync_partial_err:0 expired_keys:0 evicted_keys:0 keyspace_hits:0 keyspace_misses:0 pubsub_channels:0 pubsub_patterns:0 latest_fork_usec:857 migrate_cached_sockets:0 # Replication role:slave master_host:22.104.166.77 master_port:6379 master_link_status:up master_last_io_seconds_ago:2 master_sync_in_progress:0 slave_repl_offset:3406433 slave_priority:100 slave_read_only:1 connected_slaves:0 master_repl_offset:0 repl_backlog_active:0 repl_backlog_size:1048576 repl_backlog_first_byte_offset:0 repl_backlog_histlen:0 # CPU used_cpu_sys:679.89 used_cpu_user:358.52 used_cpu_sys_children:0.23 used_cpu_user_children:0.44 # Cluster cluster_enabled:1 # Keyspace db0:keys=38782,expires=0,avg_ttl=0
2.2、查看主从信息
127.0.0.1:6379> cluster nodes 455c329c3d3d4d00d6711dba5d350b832209ae56 22.104.166.73:6379 slave 4138a8dbfff68cb73e6acb11e7a3b93344b7f6d2 0 1467711490518 5 connected dbcb30cb58cbc8fcc138a43b64aac60f63fe8e7c 22.104.166.72:6379 slave 8094e32bfd639448bca02ef5189cd62bca78b7ad 0 1467711491519 4 connected 7c7f42d7442f8037acfb7695ebf182548cae82e0 22.104.166.74:6379 myself,slave 036b37d9e680d79f196b63d2bc1d31ee65a72310 0 0 3 connected 8094e32bfd639448bca02ef5189cd62bca78b7ad 22.104.166.75:6379 master - 0 1467711488512 4 connected 10923-16383 4138a8dbfff68cb73e6acb11e7a3b93344b7f6d2 22.104.166.76:6379 master - 0 1467711492521 5 connected 5461-10922 036b37d9e680d79f196b63d2bc1d31ee65a72310 22.104.166.77:6379 master - 0 1467711485504 6 connected 0-5460