设为首页 收藏本站
查看: 135|回复: 0

[经验分享] codis 新版本 CodisLabs 编译安装

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-3-8 08:22:48 | 显示全部楼层 |阅读模式
codis 3.0 版本编译安装

# 首先安装 go 语言

wget https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz

tar zxvf go1.4.2.linux-amd64.tar.gz

mv go /opt/local/




# 配置环境变量

vi /etc/profile

--------------------------------------
export GOROOT=/opt/local/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=/opt/local/codis
--------------------------------------


source /etc/profile

# 执行
go version


# 安装codis

yum install -y git

go get -u -d github.com/CodisLabs/codis

cd /opt/local/codis/src/github.com/CodisLabs/codis


# 安装配置
make


提示如下错误:
-------------------------------------------------------
/bin/sh: godep: 未找到命令
/bin/sh: godep: 未找到命令
make: *** [godep] 错误 127
-------------------------------------------------------


cd /opt/local/codis/bin

复制 godep 到 go/bin 目录

cp godep /opt/local/go/bin


然后再执行 make 命令

Hint: It's a good idea to run 'make test' ;)    表示安装完成


执行 make test 测试

完成安装会在 codis/src/github.com/CodisLabs/codis/bin 生成

assets, codis-config, codis-proxy, codis-server    四个文件


# 复制文件 方便管理

mkdir -p /opt/local/codis/{logs,conf,data}/

cd /opt/local/codis/src/github.com/CodisLabs/codis/bin

cp -rf * /opt/local/codis/bin

cd /opt/local/codis/src/github.com/CodisLabs/codis/

cp config.ini /opt/local/codis/conf/

cd /opt/local/codis/src/github.com/CodisLabs/codis/extern/redis-2.8.21/src

cp redis-cli /opt/local/codis/bin/redis-cli-2.8.21

ln -s /opt/local/codis/bin/redis-cli-2.8.21 /opt/local/codis/redis-cli



# 修改配置文件

cd /opt/local/codis/conf

vi config.ini


# 修改IP,配置WEB管理 默认 18087 端口  多proxy 配置VIP地址,但只能启动一个dashboard ,程序掉线再启动其他

dashboard_addr

( zk  配置 zookeeper 地址,单机配置一个,群集配置多个~以,号隔开 )

proxy_id=codis_proxy_1  配置为唯一

product=     # zookeeper 节点信息




# redis-server 配置文件

cd /opt/local/codis/src/github.com/CodisLabs/codis/extern/redis-test/conf

cp 6379.conf  6380.conf /opt/local/codis/conf/




# 修改里面的配置端口与配置 需要修改的配置如下:

daemonize yes      #后台模式运行
pidfile  var/run/redis_6379.pid   #pid 文件
port 6379          #运行端口
timeout 50         #请求超时时间,默认0
logfile "/opt/local/codis/logs/codis_6379.log"   #日志文件
maxmemory 20gb                #最大内存设置
save 900 1                    #打开保存快照的条件( 第一个*表示多长时间 , 第三个*表示执行多少次写操作 )
save 300 10
save 60 10000
dbfilename 6379.rdb                     #数据快照保存的名字
dir /opt/local/codis/data        #数据快照的保存目录
appendfilename "6379_appendonly.aof"    #Redis更加高效的数据库备份及灾难恢复方式。
appendfsync everysec                    # ( always: always表示每次有写操作都进行同步. everysec: 表示对写操作进行累积,每秒同步一次 )






# 创建 dashboard 启动脚本

vi /opt/local/codis/start_dashboard.sh


#!/bin/sh
nohup /opt/local/codis/bin/codis-config -c /opt/local/codis/conf/config.ini -L /opt/local/codis/logs/dashboard.log dashboard --addr=:18087 --http-log=/opt/local/codis/logs/requests.log &>/dev/null &




# 启动 dashboard

/opt/local/codis/start_dashboard.sh


# 初始化 slot , 该命令会在zookeeper上创建slot相关信息

/opt/local/codis/bin/codis-config -c /opt/local/codis/conf/config.ini slot init




# 启动codis-server服务

/opt/local/codis/bin/codis-server /opt/local/codis/conf/6379.conf

/opt/local/codis/bin/codis-server /opt/local/codis/conf/6380.conf




# 添加 Redis Server Group
( 每一个 Server Group 作为一个 Redis 服务器组存在, 只允许有一个 master, 可以有多个 slave, group id 仅支持大于等于1的整数 )


/opt/local/codis/bin/codis-config -c /opt/local/codis/conf/config.ini server add 1 localhost:6379 master

/opt/local/codis/bin/codis-config -c /opt/local/codis/conf/config.ini server add 1 localhost:6380 slave




/opt/local/codis/bin/codis-config -c /opt/local/codis/conf/config.ini server add 1 172.16.32.78:6379 master

/opt/local/codis/bin/codis-config -c /opt/local/codis/conf/config.ini server add 1 172.16.32.79:6380 slave


/opt/local/codis/bin/codis-config -c /opt/local/codis/conf/config.ini server add 2 172.16.32.79:6379 master

/opt/local/codis/bin/codis-config -c /opt/local/codis/conf/config.ini server add 2 172.16.32.78:6380 slave


/opt/local/codis/bin/codis-config -c /opt/local/codis/conf/config.ini server add 3 172.16.32.80:6379 master

/opt/local/codis/bin/codis-config -c /opt/local/codis/conf/config.ini server add 3 172.16.32.81:6380 slave


/opt/local/codis/bin/codis-config -c /opt/local/codis/conf/config.ini server add 4 172.16.32.81:6379 master

/opt/local/codis/bin/codis-config -c /opt/local/codis/conf/config.ini server add 4 172.16.32.80:6380 slave






# 设置 server group 服务的 slot 范围

/opt/local/codis/bin/codis-config -c /opt/local/codis/conf/config.ini slot range-set 0 255 1 online


/opt/local/codis/bin/codis-config -c /opt/local/codis/conf/config.ini slot range-set 256 511 2 online


/opt/local/codis/bin/codis-config -c /opt/local/codis/conf/config.ini slot range-set 512 767 3 online


/opt/local/codis/bin/codis-config -c /opt/local/codis/conf/config.ini slot range-set 768 1023 4 online





# 创建 start_proxy.sh,启动codis-proxy服务


vi /opt/local/codis/start_proxy.sh


#!/bin/sh
echo "shut down codis_proxy_1.."
/opt/local/codis/bin/codis-config -c /opt/local/codis/conf/config.ini proxy offline codis_proxy_1
echo "done"

echo "start new proxy..."
nohup /opt/local/codis/bin/codis-proxy --log-level info -c /opt/local/codis/conf/config.ini -L /opt/local/codis/logs/proxy.log  --cpu=4 --addr=0.0.0.0:19000 --http-addr=0.0.0.0:11000 &>/dev/null &
echo "done"




# 启动 proxy

/opt/local/codis/start_proxy.sh



# 设置 proxy 为 online 状态

/opt/local/codis/bin/codis-config -c /opt/local/codis/conf/config.ini proxy online codis_proxy_1

/opt/local/codis/bin/codis-config -c /opt/local/codis/conf/config.ini proxy online codis_proxy_2

/opt/local/codis/bin/codis-config -c /opt/local/codis/conf/config.ini proxy online codis_proxy_3







# 访问dashboard
http://localhost:18087/admin/










# codis-server 主从切换配置

codis-ha 是一个通过 是一个通过 codis开放的 api 实现自动切换主从


配置如下:

go get github.com/ngaut/codis-ha
cd /opt/local/codis/src/github.com/ngaut/codis-ha
go build

启动:
cd /opt/local/codis/bin

./codis-ha --codis-config="127.0.0.1:18087" --productName="mycodis"

------------------------------------------------------------------------------





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-187791-1-1.html 上篇帖子: yum下载rpm包到本地 下篇帖子: /etc/sysconfig/authconfig 文件详解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表