codis linux 架设
2016-01-05 10:33
639 查看
纲要
环境版本
目录结构
安装步骤
启动
一、环境版本
操作系统:CentOS 6.5 x86-64
java 7
go 语言版本 1.5.2
zookeeper 3.4.6
codis 2.0.11
文件下载地址:http://pan.baidu.com/s/1sjVNWEp
二、目录结构
/data
-----/zookeeper
-----/go
---------/src/github/wandoulabs/codis
-----/codis(软连接,指向 go/src/github/wandoulabs/codis)
-----/redis (redis conf 存放目录)
三、安装步骤
java 安装
查看是否有其他版本的JDK,CentOS 6.5 默认会安装 OpenJDK
rpm -qa|grep jdk
rpm -e --nodeps <包名>
来删除原有JDK
安装Oralce JDK
rpm -ivh jdk-7u71-linux-x64.rpm
检验是否安装成功
java -version
zookeeper 安装
解压 zookeeper-3.4.6.tar 到 /data/zookeeper 目录下
将 /data/zookeeper/conf/zoo_simple.cfg 更名为 zoo.cfg(正式环境需要修改
dataDir 参数)
启动 zookeeper
sh /data/zookeeper/bin/zkServer.sh start
go 安装
解压 go1.5.2.linux-amd64.tar 到 /data 目录
修改环境变量
vi /etc/profile
在最后加入:
export GOROOT=/data/go
export PATH=$GOROOT/bin:$PATH
刷新环境变量
source /etc/profile
检验是否安装成功
go version
codis安装
解压 codis-2.0.11.tar.gz 到 /data/src/github.com/wandoulabs/codis 目录
执行命令:
cd /data/src/github.com/wandoulabs/codis
make
make gotest
给codis目录创建软连接,方便执行命令
ln -s /data/src/gibhub.com/wandoulabs/codis /data/codis
编译成功后,/data/codis/bin 目录会出现 codis-proxy, codis-server, codis-config
codis 概要介绍:
codis-config,启动dashboard控制,初始化slot,配置server group
codis-proxy ,代理redis-client
codis-server,和原生redis server 一样,此版本 codis 维护的是 redis2.8.1源代码
官方操作介绍:
https://github.com/wandoulabs/codis/blob/master/doc/tutorial_zh.md
四、启动
启动顺序
zookeeper(见:安装步骤2,zookeeper安装)
修改codis config.ini(设置 zookepper 地址)
codis-config dashboard 控制台(所有的codis命令都经过dashboard)
codis-config slot 初始化
codis-config group 设置
codis server
codis-proxy (多个proxy)
修改codis config.ini
修改 zk 属性,ip 为zookeeper安装机器ip,port 默认 2181
修改dashboard_addr,为当前机器地址,需要指定具体 ip
(注意,ip 都使用明确的ip地址,不要使用 0.0.0.0)
启动codis dashboard
cd /data/codis
bin/codis-config dashboard
检查是否启动成功: 可以打开 codis 控制台
http://ip:18087
(注意:检查linux 防火墙)
codis slot 初始化
cd /data/codis
bin/codis-config slot init
打开控制台 http://ip:18087/slots 可以查看 slot 状态,目前都是 offline,需要设置server group来online slot
codis group 设置
每一个 Server Group 作为一个 Redis 服务器组存在, 只允许有一个
master, 可以有多个 slave, group
id 仅支持大于等于1的整数(官方文档)
这里添加两组
bin/codis-config server
add 1 localhost:6379 master
bin/codis-config server add 1 localhost:6380
slave
bin/codis-config server add 2 localhost:6479
master
bin/codis-config server add 2 localhost:6480
slave
localhost:6379,6380.. 对应的就是redis server 的部署地址。
server 1: 0 ~ 511
server 2: 512 ~ 1023
bin/codis-config slot range-set 0 511 1 online
bin/codis-config slot range-set 512 1023 2 online
codis server 启动
之前所过了,codis 维护这redis 2.8.1的代码, codis-server 启动和redis-server 启动方式一样
复制 /data/go/src/github.com/wandoulabs/codis/extern/redis-2.8.21/redis.conf,到/data/redis/redis.conf
在 /data/redis 下根据redis.conf 创建 6379.conf, 6380.conf, 6479.conf, 6480.conf
分别修改 文件下的 port 端口
启动codis-server
bin/codis-server /data/redis/6379.conf
bin/codis-server /data/redis/6380.conf
bin/codis-server /data/redis/6479.conf
bin/codis-server /data/redis/6480.conf
打开控制台看起来是这样:
codis proxy 启动
如果说 codis dashboard 是浏览器,那么codis proxy 就是浏览器上面的标签页(比喻可能不恰当)
bin/codis-proxy -c config.ini -L ./log/proxy.log --cpu=8 --addr=ip:19000 --http-addr=ip:19001
(注意,ip 都使用明确的ip地址,不要使用 0.0.0.0)
刚启动的 codis-proxy 默认是处于 offline状态的, 然后设置
proxy 为 online 状态, 只有处于 online 状态的 proxy 才会对外提供服务
bin/codis-config -c config.ini proxy online <proxy_name> <---- proxy的id, 如 proxy_1
打开控制台看起来是这样:
环境版本
目录结构
安装步骤
启动
一、环境版本
操作系统:CentOS 6.5 x86-64
java 7
go 语言版本 1.5.2
zookeeper 3.4.6
codis 2.0.11
文件下载地址:http://pan.baidu.com/s/1sjVNWEp
二、目录结构
/data
-----/zookeeper
-----/go
---------/src/github/wandoulabs/codis
-----/codis(软连接,指向 go/src/github/wandoulabs/codis)
-----/redis (redis conf 存放目录)
三、安装步骤
java 安装
查看是否有其他版本的JDK,CentOS 6.5 默认会安装 OpenJDK
rpm -qa|grep jdk
rpm -e --nodeps <包名>
来删除原有JDK
安装Oralce JDK
rpm -ivh jdk-7u71-linux-x64.rpm
检验是否安装成功
java -version
zookeeper 安装
解压 zookeeper-3.4.6.tar 到 /data/zookeeper 目录下
将 /data/zookeeper/conf/zoo_simple.cfg 更名为 zoo.cfg(正式环境需要修改
dataDir 参数)
启动 zookeeper
sh /data/zookeeper/bin/zkServer.sh start
go 安装
解压 go1.5.2.linux-amd64.tar 到 /data 目录
修改环境变量
vi /etc/profile
在最后加入:
export GOROOT=/data/go
export PATH=$GOROOT/bin:$PATH
刷新环境变量
source /etc/profile
检验是否安装成功
go version
codis安装
解压 codis-2.0.11.tar.gz 到 /data/src/github.com/wandoulabs/codis 目录
执行命令:
cd /data/src/github.com/wandoulabs/codis
make
make gotest
给codis目录创建软连接,方便执行命令
ln -s /data/src/gibhub.com/wandoulabs/codis /data/codis
编译成功后,/data/codis/bin 目录会出现 codis-proxy, codis-server, codis-config
codis 概要介绍:
codis-config,启动dashboard控制,初始化slot,配置server group
codis-proxy ,代理redis-client
codis-server,和原生redis server 一样,此版本 codis 维护的是 redis2.8.1源代码
官方操作介绍:
https://github.com/wandoulabs/codis/blob/master/doc/tutorial_zh.md
四、启动
启动顺序
zookeeper(见:安装步骤2,zookeeper安装)
修改codis config.ini(设置 zookepper 地址)
codis-config dashboard 控制台(所有的codis命令都经过dashboard)
codis-config slot 初始化
codis-config group 设置
codis server
codis-proxy (多个proxy)
修改codis config.ini
修改 zk 属性,ip 为zookeeper安装机器ip,port 默认 2181
修改dashboard_addr,为当前机器地址,需要指定具体 ip
(注意,ip 都使用明确的ip地址,不要使用 0.0.0.0)
启动codis dashboard
cd /data/codis
bin/codis-config dashboard
检查是否启动成功: 可以打开 codis 控制台
http://ip:18087
(注意:检查linux 防火墙)
codis slot 初始化
cd /data/codis
bin/codis-config slot init
打开控制台 http://ip:18087/slots 可以查看 slot 状态,目前都是 offline,需要设置server group来online slot
codis group 设置
每一个 Server Group 作为一个 Redis 服务器组存在, 只允许有一个
master, 可以有多个 slave, group
id 仅支持大于等于1的整数(官方文档)
这里添加两组
bin/codis-config server
add 1 localhost:6379 master
bin/codis-config server add 1 localhost:6380
slave
bin/codis-config server add 2 localhost:6479
master
bin/codis-config server add 2 localhost:6480
slave
localhost:6379,6380.. 对应的就是redis server 的部署地址。
设置 server group 服务的 slot 范围
Codis 采用 Pre-sharding 的技术来实现数据的分片, 默认分成 1024 个 slots (0-1023), 对于每个key来说, 通过以下公式确定所属的 Slot Id : SlotId = crc32(key) % 1024 每一个 slot 都会有一个且必须有一个特定的 server group id 来表示这个 slot 的数据由哪个 server group 来提供.(官方文档)server 1: 0 ~ 511
server 2: 512 ~ 1023
bin/codis-config slot range-set 0 511 1 online
bin/codis-config slot range-set 512 1023 2 online
codis server 启动
之前所过了,codis 维护这redis 2.8.1的代码, codis-server 启动和redis-server 启动方式一样
复制 /data/go/src/github.com/wandoulabs/codis/extern/redis-2.8.21/redis.conf,到/data/redis/redis.conf
在 /data/redis 下根据redis.conf 创建 6379.conf, 6380.conf, 6479.conf, 6480.conf
分别修改 文件下的 port 端口
启动codis-server
bin/codis-server /data/redis/6379.conf
bin/codis-server /data/redis/6380.conf
bin/codis-server /data/redis/6479.conf
bin/codis-server /data/redis/6480.conf
打开控制台看起来是这样:
codis proxy 启动
如果说 codis dashboard 是浏览器,那么codis proxy 就是浏览器上面的标签页(比喻可能不恰当)
bin/codis-proxy -c config.ini -L ./log/proxy.log --cpu=8 --addr=ip:19000 --http-addr=ip:19001
(注意,ip 都使用明确的ip地址,不要使用 0.0.0.0)
刚启动的 codis-proxy 默认是处于 offline状态的, 然后设置
proxy 为 online 状态, 只有处于 online 状态的 proxy 才会对外提供服务
bin/codis-config -c config.ini proxy online <proxy_name> <---- proxy的id, 如 proxy_1
打开控制台看起来是这样:
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Linux socket 初步
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 介绍一款信息管理系统的开源框架---jeecg
- 10 篇对初学者和专家都有用的 Linux 命令教程
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- Linux 与 Windows 对UNICODE 的处理方式