博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
接触Codis&Codis-ha
阅读量:6897 次
发布时间:2019-06-27

本文共 3050 字,大约阅读时间需要 10 分钟。

  hot3.png

之前博客地址

为什么学习和使用codis,在这略去1w字,参考文档如下

#文档地址  

#视频地址    

头一次折腾codis,把自己的经历写一写,希望对初学者有一些帮助。

安装codis的编译环境需要有 golang 、git 环境。运行环境需要依赖有可用的zookeeper

一、依赖环境安装

1、安装编译环境前的一些依赖安装

yum install mercurialyum install gityum install gcc

以上这些命令在正常的情况下执行都没有问题,但在安装git的过程中遇到了一些问题,导致使用这些命令安装不成功,在备用参考命令里有,没有使用yum安装git。

2、安装go环境(一定要用1.3.1的)

wget          https://storage.googleapis.com/golang/go1.3.1.linux-amd64.tar.gz#curl -O -L https://storage.googleapis.com/golang/go1.3.1.linux-amd64.tar.gztar -C /usr/local -xzf go1.3.1.linux-amd64.tar.gz

#修改配置文件

vi /etc/profile

#profile文件修改如下,路径根据实际情况修改

export GOROOT=/usr/local/goexport PATH=$GOROOT/bin:$PATHexport GOPATH=/data/gopkg

#刷新配置文件

source /etc/profile

3、安装zookeeper的方式 

wget http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gztar -C /usr/local -xzf  zookeeper-3.4.6.tar.gzgo get github.com/wandoulabs/codiscp zoo_sample.cfg  zoo.cfg#然后启动zookeeper./zkServer.sh start

安装到这里,依赖环境已经全部完成,下面就可以惊心动魄的codis安装,其实搞起来也很简单,熟练之后十几秒就能搞定。

二、安装codis

go get github.com/wandoulabs/codiscd  {$gopath}/src/github.com/wandoulabs/codis  #{$gopath}改成自己的目录即可./bootstrap.shmake gotest

 

安装到这里在codis下面会生成一个文件deploy.tar 安装包里有依赖的go环境,复制过去就可以在生产环境使用,算是一个彩蛋,对于有代码洁癖的人来说绝对是酸爽。

下面继续开始神奇之旅

然后进入 sample 修改config.ini配置文件

配置文件详解

zk=localhost:2181  #zookeeperk的ip和端口product=test       #zookeeper里节点名字,最好一个业务线一个proxy_id=proxy_1   #启动proxy的id,一个proxy需要有一个配置文件net_timeout=5      #超时时间,单位 秒dashboard_addr=localhost:18087 #管理界面的ip和端口,最好设置成0.0.0.0监控所有网卡

然后就可以在浏览器观看dashboard界面了

http://{安装codis机器ip}:18087

如果不出意外你就可以看到管理界面了。当时遇到一点小问题,dashboard_addr=localhost:18087这个参数忘了改,在另外一台机器访问就出问题了。为了监控所以网卡一定要设置成 dashboard_addr=0.0.0.0:18087

三、安装codis-ha

codis-ha也是一个很酸爽的东西,可以帮你检查每个group下的master和slave的状态,当master挂的时候自动把slave提升为主。

下面是安装脚本 

go get github.com/ngaut/codis-hacd  {$gopath} /src/github.com/ngaut/codis-hago build#然后启动nohup ./codis-ha --codis-config={安装codis的机器ip}:18087 --productName=test &

注意:productName一定要为sample下config.ini里product的值

四、折腾

上面的安装成功之后就可以在dashboard操作增加redis 实例,和故意把master整挂,等各种操作,一切都很神奇,非常感谢作者,我是用node.js写的一段灌数据的脚本,速度还是刚刚的。codis有丰富的api,走的是http协议,相当丰盛,dashboard的操作都是调用的api,目前正在研究api的左右,等有时间写出来。

五、注意事项

1、在管理页面增加redis实例,需要先在机器启动实例才能,添加标准为 机器ip:端口 比如 192.168.1.2:6380

2、把一个slave提升为主之后,原有的主从关系就没有了,需要重新设置。

3、在机器启动新的proxy之后,在dashboard就可以刷新刷出来,在同一个dashboard看见的proxy都是平级关系。

因为时间紧张,后续会继续完善神奇的codis之旅。

备用命令、脚本

#安装git 的另外一种方式

wget https://www.kernel.org/pub/software/scm/git/git-2.3.0.tar.gztar -zxvf git-2.3.0.tar.gzcd git-2.3.0autoconf./configure --prefix=/usr/local/git/make  prefix=/usr install install-doc install-html install-infomake install

#修改配置文件 for git

vi /etc/profile

#修改配置文件如下

export GIT_HOME=/usr/local/git/export PATH=$PATH:$GIT_HOME/bin

#刷新配置文件

source /etc/profile

#灌数据的脚本,一段node.js代码

var redis = require("redis");var client = redis.createClient(6379, '127.0.0.1', {connect_timeout: 1});for (var i = 0; i < 30; i++) {client.set('mykey:'+i, 'mykey:'+i, function(error, res) {if(error) {      console.log(error);      } else {     //console.log(res); }        });console.log(i);}

转载于:https://my.oschina.net/lnucel/blog/552986

你可能感兴趣的文章
Java核心技术笔记 对象与类
查看>>
创建本地git仓库
查看>>
css实现开关switch插件
查看>>
Android O 后台startService限制浅析
查看>>
【vue-page-stack】Vue页面堆栈管理器
查看>>
解构赋值 —— ES6基础总结(三)
查看>>
Cocos2dx源码记录(10) CCRenderer
查看>>
c、c++ 基本数据类型所占用的字节数量
查看>>
关于iOS11中estimatedRowHeight属性
查看>>
Zookeeper源码分析-数据模型
查看>>
折腾Java设计模式之解释器模式
查看>>
设计模式命令模式(行为型)
查看>>
RN开发快速切换底部导航时react-native-swiper轮播图组件白屏
查看>>
sublime px -> rem sass
查看>>
瀑布流照片墙布局
查看>>
日常工具--渐变+找图+压缩图片
查看>>
《Redis开发与运维》慢查询分析 读书笔记
查看>>
学习仿饿了么遇到商品详情页的添加购物车按钮没有动画,$emit派发事件
查看>>
一些开发chrome插件用到的API总结
查看>>
Java集合(二)-LinkedList源码解析
查看>>