Redis集群
来源:互联网 发布:施耐德变频器调试软件 编辑:程序博客网 时间:2024/06/05 04:33
安装流程:
1.首先请参看Redis多实例配置好Redis,至少6个实例。
2.安装RVM(Ruby Version Manage),使用Rvm安装Ruby,Ruby版本>=2.2.2。
3.开始Redis集群。
4.测试
注意事项:
1.集群的时候需要关闭防火墙或者把Redis以及Redis集群总线端口加入白名单。
2.重启Redis服务器的时候记得清空运行时候的数据,否则出错
3.Redis需要开启cluster-enabled yes,不要设置密码,否则提示连接不上(因为redis-trib.rb集群工具没有提供该参数),具体解决方案后面提出。
一:安装RVM和Ruby,安装完成之后执行gem install redis
具体安装参加RVM安装,注意我们安装的时候选择安装2.2.2及以上的版本,以2.3.3为例。
RVM 安装(使用普通用户,否则按照可能出错)$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3$ \curl -sSL https://get.rvm.io | bash -s stable$ source ~/.bashrc$ source ~/.bash_profile修改 RVM 的 Ruby 安装源到 Ruby China 的 Ruby 镜像服务器,这样能提高安装速度$ echo "ruby_url=https://cache.ruby-china.org/pub/ruby" > ~/.rvm/user/dbRuby 的安装与切换列出已知的 Ruby 版本rvm list known安装一个 Ruby 版本rvm install 2.3.3 --disable-binary这里安装了最新的 2.3.3, rvm list known 列表里面的都可以拿来安装。切换 Ruby 版本rvm use 2.3.3如果想设置为默认版本,这样一来以后新打开的控制台默认的 Ruby 就是这个版本rvm use 2.3.3 --default 查询已经安装的rubyrvm list卸载一个已安装版本rvm remove 1.8.7执行gem指令gem install redis
二:配置Redis选项
#requirepass admin //注释掉,不启用密码验证port 6379 //端口6379,6380,6381,总线端口+10000bind 0.0.0.0 //保证其他机器可以访问daemonize yes //redis后台运行pidfile /var/redis/6379/run/redis_6379.pid //pidfile文件对应7000,7001,7002logfile /var/redis/6379/log/redis_6379.log //日志文件dir /var/redis/6379/data //数据存储文件cluster-enabled yes //开启集群 把注释#去掉cluster-config-file nodes_6379.conf //集群的配置 配置文件首次启动自动生成 7000,7001,7002cluster-node-timeout 15000 //请求超时 默认15秒,可自行设置appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志
为例方便处理,写一个启动当前主机的所有Redis实例和停止当前实例的脚本.sh
//启动指定的Redis实例:start_cluster.shredis-server redis_6379.confredis-server redis_6380.confredis-server redis_6381.conf//停止Redis实例:stop_redis.sh并且删除缓存数据否则可能出现各种错误redis-cli -p 6379 shutdownredis-cli -p 6380 shutdownredis-cli -p 6381 shutdown#删除文件rm -f /var/redis/6379/log/*rm -f /var/redis/6379/data/*rm -f /var/redis/6379/run/*rm -f /var/redis/6380/log/*rm -f /var/redis/6380/data/*rm -f /var/redis/6380/run/*rm -f /var/redis/6381/log/*rm -f /var/redis/6381/data/*rm -f /var/redis/6381/run/*
当上述配置完成之后启动Redis实例,并且检查是否启动成功:
打开端口防火墙或者关闭防火墙:
然后在另外一台机器采取同样配置,至此Redis配置完成。
二:Redis集群参考博客
首先切换可执行目录到ruby的安装目录:
source /home/admin/.rvm/scripts/rvm //切换可执行目录到这里
然后执行集群命令
//记得把当前目录切换到redis的src里面eg:cd /home/admin/redis-stable/src ./redis-trib.rb create --replicas 1 192.168.1.65:6379 192.168.1.65:6380 192.168.1.65:6381 192.168.1.25:6379 192.168.1.25:6380 192.168.1.25:6381
此时如果出错提示:进入rvm目录,使用gem install redis
如果安装并且运行:
关闭所有的Redis服务器实例,并且清空数据,然后重启,再次运行该命令,上面我们已经实现了.sh的脚本,所以直接运行:如图
此时集群完成。
三:测试
四:错误分析:
4.1.无法连接上节点:
1> 请检查实例是否绑定了ip,redis.conf 的bind是否为“0.0.0.0”
2>请检查防火墙是否关闭或者是否允许连接
3>请检查服务器是否启动
4>请确定Redis是否配置了密码,去掉密码
5>telnet确认是否可以连接上
4.2.Not Empty错误
1>关闭服务器,然后清空nodes.conf数据,重启服务器
4.3waiting for the cluster to join卡主了
1>检查消息总线端口是否通的或者可用,如上图。
- redis 集群
- redis集群
- Redis集群
- Redis 集群
- redis集群
- Redis 集群
- redis 集群
- redis 集群
- redis集群
- Redis 集群
- Redis集群
- Redis集群
- redis 集群
- Redis 集群
- redis集群
- redis 集群
- Redis集群
- redis集群
- React Native 集成原生极光JMessage 踩坑
- linux解决xhost: unable to open display ""
- 高并发下使用Redis生成唯一id
- OpenCL快速入门教程
- Python 装饰器装饰类中的方法
- Redis集群
- clase uno de vuejs
- 大数据创业的五点须知
- 十一月九日课堂笔记—JavaScript基础2
- React Native动态布局
- Java/Java Web读取配置文件的4种方法
- 用HttpUrlConnection来下载文件信息
- 根据设定时间前多少个月的月份
- Java获得GET和POST请求URL和参数列表