codis 新版本 CodisLabs 编译安装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了codis 新版本 CodisLabs 编译安装相关的知识,希望对你有一定的参考价值。

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"


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





以上是关于codis 新版本 CodisLabs 编译安装的主要内容,如果未能解决你的问题,请参考以下文章

Codis的安装与使用

codis 3.2单机安装环境集群

Codis 3.2 集群搭建与测试

Centos6.5+Codis3.1集群搭建

redis集群简单codis搭建

codis-3.2.8集群部署详解