1.界面出现乱码
现象:
解决:
修改online.properties或者local.properties中的cachecloud.db.url(前提是数据库是utf-8)1cachecloud.db.url = jdbc:mysql://127.0.0.1:3306/cache-cloud?useUnicode=true&characterEncoding=UTF-8
2.初始化脚本cachecloud-init.sh运行失败
现象:
1234#sh cachecloud-init.sh cachecloud: command not found line 2:: command not found line 11:: invalid option nameine 12: set: nounset解决:
cachecloud-init.sh在windows上编辑过就会出现上面的错误,请使用vim直接编辑
3.用户密码在哪
答:CacheCloud没有保存密码,而是希望将登录逻辑扩展到贵公司。
用户管理也可以参考视频:
http://my.tv.sohu.com/pl/9100280/83250734.shtml
4.CacheCloud与Codis
答:CacheCloud与Codis并没有可比性:
- CacheCloud是官方Redis(standalone、sentinel、cluster)的上层工具,是用于运维和管理Redis的。
- Codis是豌豆荚公司基于proxy方式对于Redis官方版本进行改造的分布式实现方式,当然其中也包含了管理Codis的dashboard
所以两者并不具有可比性。
5.CacheCloud是客户端到Redis的代理吗?
答:不是,客户端只有第一次启动的时候去CacheCloud通过appId拿到Redis的节点信息,之后不会与CacheCloud打交道了。具体参考issue1
附图一张:
6.CacheCloud如何与服务器”打交道”
6.1实现方式
答:CacheCloud通过ssh的方式与服务器”打交道”(例如:收集机器信息、推送配置文件、开启Redis节点)。所以在初始化服务器时要添加一个ssh的username和password,有关机器初始化可以参考Cachecloud快速接入。
release 1.0版本请参考:
同时在cachecloud的local.properties和online.properties分别有cachecloud.machine.username和cachecloud.machine.password属性。
release 1.1及其以后版本请参考:
http://cachecloud.github.io/2016/05/24/CacheCloud%E7%B3%BB%E7%BB%9F%E9%85%8D%E7%BD%AE%E8%AF%B4%E6%98%8E/
6.2 ssh安全吗?有其他方式吗?
答:
- 我们使用ssh主要考虑的是方便性,ssh是存在一定的安全性问题。同时考虑到cachecloud是在内网中使用的,所以适度放宽了条件。
- 也可以采用证书的方式,例如这个pull request
- 其他方式根据企业的要求自定义实现,主要的实现实现都在SshUtil类中。
7.”之前”的Redis如何托管给CacheCloud管理:
答:详见:
http://cachecloud.github.io/2016/04/17/%E5%B7%B2%E5%AD%98%E5%9C%A8Redis%E6%8E%A5%E5%85%A5CacheCloud/
8.实例下线和心跳停止?
- 下线:管理员人工处理,真的下线了。
- 心跳停止:监控认为有可能下线,但是由于网络等原因,可能并没有下线,所以需要管理员处理
9. 配置修改是对实例下所有实例进行修改吗?
答:是的。
Cachecloud中各种类型(Redis-standalone, Redis-sentinel, Redis-cluster),在开启应用时,使用的我们认为最优的配置。
但是,每个用户自己服务类型不同,需求可能会不同,例如对于maxmemory-policy、list-max-ziplist-entries、list-max-ziplist-value等配置就会有所不同,如果有需要修改配置,用户可以自行提交配置修改。
修改方法如下:
(1) 进入应用统计信息页面,就配置看到申请配置修改按钮
(2) 点击申请修改配置,填写相应字段和值
(3) 后台管理员接收到申请邮件,进行处理,处理完成后,用户将收到相应处理邮件
如果想修改一个实例配置怎么办?
现在需要手动到机器上修改,后期会修复这个问题,因为我们认为一般来说集群的配置尽可能的统一。
10. 启动jvm报错:
- 不要使用openJdk,查看方法java -version。
- 确保jdk 1.7+
下面就是openJdk的错误。
11.机器管理中删除机器做了什么?
- 从db删除机器信息和机器统计信息
- 去掉机器信息收集和机器监控的定时任务
所以:删除机器不会删除Redis实例信息、也不会关闭Redis进程,但是还是要谨慎处理。
12. CacheCloud都有哪些报警信息
|
|
Redis节点存活检测:5分钟检测一次,如果认为心跳停止,会收到短信和邮件报警(),会收到类似如下文案的消息:
1CacheCloud系统-实例(10.10.xx.xx:6382)-由运行中变为心跳停止, appId:10510应用内存和节点内存超过阀值:
当应用的内存和节点内存的超过预设值(https://github.com/sohutv/cachecloud/wiki/1.%E7%94%A8%E6%88%B7%E5%8A%9F%E8%83%BD#cc9),会收到邮件报警1分片(10.10.xx.xx:6381,应用(10510))内存使用率报警-预设百分之95-现已达到百分之95.07-应用的内存使用率百分之94.72-请及时关注机器相关报警
当机器的内存、负载、cpu超过预设配置时,预设值设置方法,会收到邮件和短信报警,形如:
|
|
13. CacheCloud的命令统计信息是如何收集
强调一下,命令统计信息不是用monitor收集,monitor使用不当对线上影响很大,可以看一下后果:http://carlosfu.iteye.com/blog/2254571
Cachecloud使用的是info all命令中的命令统计模块进行收集,每分钟做一次差值:
就可以看到下面的效果了:
14. 重要日志说明
(1) 问题13已经提到cachecloud利用info差值来算上一分钟的一些统计信息,下面的日志为上一分钟没有统计数据,有可能是收集失败,有可能是确实没有(例如cachecloud刚刚启动)。
15. protected-mode产生的异常
Redis 3.2开始提供了protected-mode(虽然比较鸡肋),而且它是默认开启的,如果使用CacheCloud部署时,可能会产生如下异常:
原因很简单,CacheCloud的默认配置模板里面没有添加protected-mode,那么配置就默认为true,但是当在多台机器部署时,需要多个节点可以通信,那么protected-mode为true会造成通信失败(当然这个也要看requirepass),具体解决方法参考下面链接中的问题三。
https://cachecloud.github.io/2016/07/13/1.2.%20Redis%E9%85%8D%E7%BD%AE%E6%A8%A1%E6%9D%BF%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95/
………………….待续……………………..