Codis的安装
其他环境准备:
安装JDK,安装Zookeeper
1、创建codis账户
useradd codis
passwd codis
2、解压codis3.1.3-go1.7.4-linux.tar.gz到/home/codis/目录下
进入bin目录下
(1)、启动dashboard
1) 初始化生成配置文件dashboard.toml
./codis-dashboard --default-config | tee dashboard.toml
2)修改参数
coordinator_addr zk地址,逗号隔开
product_name 集群名,无限制
Product_auth 集群密码,默认为空
admin_addr restful api地址(本机地址:18080)
例如下配置:vi config/dashboard.toml
coordinator_name = "zookeeper"
coordinator_addr = "192.168.46.156:2181,192.168.46.157:2181,192.168.46.158:2181"
# Set Codis Product Name/Auth.
product_name = "codis-rcp"
product_auth = ""
# Set bind address for admin(rpc), tcp only.
admin_addr = "192.168.46.151:18080"
3)启动
nohup ./codis-dashboard --ncpu=4 --config=dashboard.toml --log=dashboard.log --log-level=INFO &
4) 验证 ps -ef| grep codis 查看dashboard-log.XXXX.XX.XX日志
(2)、启动proxy(可以配置多台)
1) 初始化生成配置文件prxoy.toml
./codis-proxy --default-config | tee proxy.toml
2)修改参数
product_name和product_auth与上面一致
admin_addr:本地ip:11080 restful api地址
proxy_addr: 对外暴露ip:19000 redisClietn连接地址
jodis_name: ‘zookeeper’
jodis_addr: ‘xxxx:2181’
jodis_compatible:fasle (3.0以上必须为false,true为兼容2.0)
例如下配置:vi config/dashboard.toml
# Set Codis Product Name/Auth.
product_name = "codis-rcp"
product_auth = ""
# Set bind address for admin(rpc), tcp only.
admin_addr = "192.168.46.151:11080"
# Set bind address for proxy, proto_type can be "tcp", "tcp4", "tcp6", "unix" or "unixpacket".
proto_type = "tcp4"
proxy_addr = "192.168.46.151:19000"
# Set jodis address & session timeout, only accept "zookeeper" & "etcd".
jodis_name = "zookeeper"
jodis_addr = "192.168.46.156:2181,192.168.46.157:2181,192.168.46.158:2181"
jodis_timeout = "20s"
jodis_compatible = false
3)启动
nohup ./codis-proxy --ncpu=4 --config=proxy.toml --log=proxy.log --log-level=INFO &
4) 验证 ps -ef| grep codis 查看proxy-log.XXXX.XX.XX日志
(3)、启动fe(可选)
1)初始化生成配置(从zookeeper拉取配置)或者手动生成codis.json配置
./codis-admin --dashboard-list --zookeeper=XXX.XXX.XXX.XXX:2181 | tee codis.json
2)修改参数
name 集群名
dashboard
例如下配置:vi config/codis.json
"name": "codis-rcp",
"dashboard": "192.168.46.151:18080"
3)启动
nohup ./codis-fe --ncpu=4 --log=fe.log --log-level=WARN --dashboard-list=codis.json --listen=192.168.46.161:8087 &
4)验证
ps -ef| grep codis 查看fe-log.XXXX.XX.XX日志
(4)、codis主从搭建
mkdir -p /home/codis/codis-server/bin
mkdir -p /home/codis/codis-server/conf
mv /home/codis/codis/bin/codis-server /home/codis/codis-server/bin
mv /home/codis/codis/extern/redis-2.8.21/redis.conf /home/codis/codis-server/conf
新增文件cluster.conf
include /home/codis/codis-server/conf/redis.conf
daemonize yes
pidfile /var/run/redis.pid
bind 192.168.46.151
port 6379
logfile /home/codis/codis-server/log
从服务增加配置 slaveof xxx.xxx.xxx.xxx port
启动各机器上的服务
bin/codis-server conf/cluster.conf
3、Codis的服务启动与关闭
#正常启动 关闭proxy
./codis-admin --proxy=192.168.46.151:11080 --start
./codis-admin --proxy=192.168.46.151:11080 --shutdown
#强制kill掉后要执行命令清楚zookeeper中节点
./codis-admin --dashboard=192.168.46.151:18080 --remove-proxy --addr=192.168.46.151:11080 --force
#正常启动关闭 dashboard
./codis-admin --dashboard=192.168.46.151:18080 --start
./codis-admin --dashboard=192.168.46.151:18080 --shutdown
#强制kill掉后要执行命令清楚zookeeper中节点
./codis-admin --remove-lock --product=codis-test --zookeeper=192.168.46.156:2181
4、一般启动命令如下:
通过命令增加代理:
./codis-admin --dashboard=192.168.46.151:18080 --create-proxy -x 192.168.46.151:11080
启动bashboard
nohup bin/codis-dashboard --ncpu=4 --config=config/dashboard.toml --log=/tmp/dashboard.log --log-level=INFO &
启动proxy
nohup bin/codis-proxy --ncpu=4 --config=config/proxy.toml --log=/tmp/proxy.log --log-level=INFO &
启动fe
nohup bin/codis-fe --ncpu=4 --log=/tmp/fe.log --log-level=WARN --dashboard-list=config/codis.json --listen=192.168.46.151:8087 &
启动ha
nohup bin/codis-ha --log=/tmp/ha.log --log-level=WARN --dashboard=192.168.46.151:18080 &
5、附件:
Codis各配置文件参数
Dashboard.toml
|
参数 |
说明 |
|
coordinator_name |
外部存储类型,接受 zookeeper/etcd |
|
coordinator_addr |
外部存储地址 |
|
product_name |
集群名称,满足正则 \w[\w\.\-]* |
|
product_auth |
集群密码,默认为空 |
|
admin_addr |
RESTful API 端口 |
Proxy.toml
|
参数 |
说明 |
|
product_name |
集群名称,参考 dashboard 参数说明 |
|
product_auth |
集群密码,默认为空 |
|
admin_addr |
RESTful API 端口 |
|
proto_type |
Redis 端口类型,接受 tcp/tcp4/tcp6/unix/unixpacket |
|
proxy_addr |
Redis 端口地址或者路径 |
|
jodis_addr |
Jodis 注册 zookeeper 地址 |
|
jodis_timeout |
Jodis 注册 session timeout 时间,单位 second |
|
jodis_compatible |
Jodis 注册 zookeeper 的路径 |
|
backend_ping_period |
与 codis-server 探活周期,单位 second,0 表示禁止 |
|
session_max_timeout |
与 client 连接最大读超时,单位 second,0 表示禁止 |
|
session_max_bufsize |
与 client 连接读写缓冲区大小,单位 byte |
|
session_max_pipeline |
与 client 连接最大的 pipeline 大小 |
|
session_keepalive_period |
与 client 的 tcp keepalive 周期,仅 tcp 有效,0 表示禁止 |
具体详细配置信息,可见
https://github.com/CodisLabs/codis/blob/release3.1/doc/tutorial_zh.md
Codis的安装的更多相关文章
- Codis的安装配置
codis是分布式redis解决方案 centos系统下安装codis需要安装相关的依赖,将图中的依赖上传至centos系统中 依次进行安装: 一.go环境的安装配置 解压到install目录下: . ...
- Redis Codis 部署安装
背景 关于Redis的高可用除了只身的Sentinel和Cluster之外,还有一个用的比较多的是Codis,由于公司的Redis大部分都使用Codis,本文就针对Codis进行相关的安装部署进行说明 ...
- 详解Codis安装与部署
Codis github上的介绍安装,里面很全,而且也有中/英文的,只不过按照github的步骤安装,会有一些坑,所以有了这么一篇文章. 在上一篇文章<Redis实用监控工具一览>中,介绍 ...
- Codis——分布式Redis服务的解决方案
Codis——分布式Redis服务的解决方案 之前介绍过的 Twemproxy 是一种Redis代理,但它不支持集群的动态伸缩,而codis则支持动态的增减Redis节点:另外,官方的redis 3. ...
- redis cluster安装部署(测试环境)
redis 应用于web前端,做缓存和数据存取的速度是挺可观的,最近看了一些资料,手痒了,就弄了一个测试环境,两台方案,试用一下. ##Redis 集群部署## 一,方案调研: 参考博客: http: ...
- 使用codis-admin搭建codis集群
目的 在Redis Codis 部署安装的文章中,介绍了通过fe在web上搭建codis的基本步骤和方法,也介绍了codis-admin的相关说明,为了更好的熟悉codis-admin的使用,本文将使 ...
- 第十课——cluster故障转移操作,codis部署
作业描述] 1.cluster的故障转移操作,截图展示 2.部署codis,并写代码访问codis ================================================== ...
- Codis的源码编译生成tar包
一.Go环境的安装 1.下载地址 https://golang.org/dl/2.解压 tar -zxvf go1.7.1.linux-amd64.tar.gz -C /usr/local 3.修改配 ...
- SpringBoot进阶教程(五十九)整合Codis
上一篇博文<详解Codis安装与部署>中,详细介绍了codis的安装与部署,这篇文章主要介绍介绍springboot整合codis.如果之前看过<SpringBoot进阶教程(五十二 ...
随机推荐
- Leetcode 556.下一个更大元素III
下一个更大元素III 给定一个32位正整数 n,你需要找到最小的32位整数,其与 n 中存在的位数完全相同,并且其值大于n.如果不存在这样的32位整数,则返回-1. 示例 1: 输入: 12 输出: ...
- mojoportal在IE10中点击ImageButton出错的处理方法
在ie10中,如果点击了mojoportal中的imagebutton,会出现错误,在ie10之前的浏览器,及ie10的兼容模式中及谷歌浏览器中都不会出现. 日志中 错误信息如下: 2013-09-2 ...
- 学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用利用条件运算符的嵌套来完成此题:C表示。
# -*- coding: utf8 -*- # Author:wxq #python 2.7 #题目:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用利用条件运算符 ...
- 软工实践 - 第十次作业 Alpha 冲刺 (2 / 10)
队名:起床一起肝活队 组长博客:https://www.cnblogs.com/dawnduck/p/9960710.html 作业博客:班级博客本次作业的链接 组员情况 组员1(队长):白晨曦 过去 ...
- log4j.xml配置文件详解
一 log4j.xml 配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:c ...
- 使用 Nginx 过滤网络爬虫
现在有许多初学者学习网络爬虫,但他们不懂得控制速度,导致服务器资源浪费.通过 Nginx 的简单配置,能过滤一小部分这类爬虫. 方法一:通过 User-Agent 过滤 Nginx 参考配置如下: l ...
- 【bzoj2127】happiness 最大流
happiness Time Limit: 51 Sec Memory Limit: 259 MBSubmit: 2579 Solved: 1245[Submit][Status][Discuss ...
- 短文对话的神经反应机 -- Neural Responding Machine for Short-Text Conversation学习笔记
最近学习了一篇ACL会议上的文章,讲的是做一个短文对话的神经反映机, 原文: 会议:ACL(2015) 文章条目: Lifeng Shang, Zhengdong Lu, Hang Li: Ne ...
- JavaScript (JS) 函数补充 (含arguments、eval()、四种调用模式)
1. 程序异常 ① try-catch语法 测试异常 try-catch语法代码如下: try { 异常代码; try中可以承重异常代码, console.log(“try”) 出现异 ...
- Springboot - 在启动完成后执行特定方法
1.实现方式 实现ApplicationRunner接口 实现CommandLineRunner接口 @Component @Slf4j public class AfterServiceStarte ...