redis 安装及集群部署
安装过程
1.安装依赖
yum -y install gcc openssl-devel libyaml-devel libffi-devel readline-devel zlib-devel gdbm-devel ncurses-devel gcc-c++ automake autoconf
2.安装redis,请先安装好tcls 8.0或者以上的版本
进入redis目录然后执行
#make MALLOC=libc //设置编译库
#make install
3.启动
# redis-server
这里只是完成单节点启动。
集群搭建
1.redis.conf 文件配置
#修改配置参数以下地方
port 7000 //唯一不重复
cluster-enabled yes
cluster-config-file nodes-7000.conf //唯一不重复
cluster-node-timeout 5000 //集群超时时间,结点超时多久则认为它宕机了
appendonly yes // 数据持久化配置
daemonize yes //开启后台服务
#按需修改配置参数
bind 127.0.0.1 //注释掉,不然就只能从这个ip访问节点
protected-mode no //关闭保护模式不然每次都要进行验证
cluster-require-full-coverage no。//槽是否全覆盖,默认是yes,只要有结点宕机导致16384个槽没全被覆盖,整个集群就全部停止服务,所以一定要改为no
maxmemory 268435456 // # maxmemory 缓存最大值设置
maxmemory-policy volatile-lru //如果redis数据库满了,需要进行下面策略的配置
a.volatile-lru -> 根据LRU算法生成的过期时间来删除。
b.allkeys-lru -> 根据LRU算法删除任何key。
c.volatile-random -> 根据过期设置来随机删除key。
d.allkeys-random -> 无差别随机删。
e.volatile-ttl -> 根据最近过期时间来删除(辅以TTL)
f.noeviction -> 谁也不删,直接在写操作时返回错误。
2.配置多个节点,redis至少6个节点才能启动
进入redis安装目录
# copy redis.conf /etc/redis/7000.conf
# cd /etc/redis
# cp 7000.conf 7001.conf
# cp 7000.conf 7002.conf
# cp 7000.conf 7003.conf
# cp 7000.conf 7004.conf
# cp 7000.conf 7005.conf
修改文件对应的ip和cluster-config-file
3.启动
# redis-server 7000.conf
# redis-server 7001.conf
# redis-server 7002.conf
# redis-server 7003.conf
# redis-server 7004.conf
# redis-server 7005.conf
4.查看是否在后台运行
# ps aux | grep redis
此时所有节点都启动了,但是还未能完成集群的搭建
redis 已经为我们提供了集群操作的脚本 redis-trib.rb , 操作起来很简单, 继续
5.安装 ruby
由于集群操作需要用到 ruby 脚本 redis-trib.rb , 所以要安装 ruby 和 rubygems
#yum -y install ruby rubygems
# gem install redis --version 3.0.6
redis-trib.rb 是一个 ruby 脚本工具,用来建立和管理 redis 集群,因为使用比较频繁,所以拷贝脚本 redis-trib.rb 到 你常用的目录下
6创建集群
#./redis-trib.rb create --replicas 1 ip:7000 ip:7001 ip:7002 ip:7003 ip:7004 172.16.0.33:7005//选项–replicas 1 表示我们希望为集群中的每个主节点创建一个从节点。
至此,集群基本完成,待检验
利用 redis-cli -c -p 端口号 连接集群
进入相应的节点后,可以用cluster info 查看节点的状态是否是ok启动的