codis单机版的部署

codis单机版的搭建

简介
Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有显著区别 (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发, 不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客户端来说是透明的, 可以简单的认为后边连接的是一个内存无限大的 Redis 服务。

Codis的组件

Codis Server:基于 redis-3.2.8 分支开发。增加了额外的数据结构,以支持 slot 有关的操作以及数据迁移指令。具体的修改可以参考文档 redis 的修改。

Codis Proxy:客户端连接的 Redis 代理服务, 实现了 Redis 协议。 除部分命令不支持以外(不支持的命令列表),表现的和原生的 Redis 没有区别(就像 Twemproxy)。

对于同一个业务集群而言,可以同时部署多个 codis-proxy 实例;
不同 codis-proxy 之间由 codis-dashboard 保证状态同步。

Codis Dashboard:集群管理工具,支持 codis-proxy、codis-server 的添加、删除,以及据迁移等操作。在集群状态发生改变时,codis-dashboard 维护集群下所有 codis-proxy 的状态的一致性。

对于同一个业务集群而言,同一个时刻 codis-dashboard 只能有 0个或者1个;
所有对集群的修改都必须通过 codis-dashboard 完成。

Codis Admin:集群管理的命令行工具。

可用于控制 codis-proxy、codis-dashboard 状态以及访问外部存储。

Codis FE:集群管理界面。

多个集群实例共享可以共享同一个前端展示页面;
通过配置文件管理后端 codis-dashboard 列表,配置文件可自动更新。

Storage:为集群状态提供外部存储。

提供 Namespace 概念,不同集群的会按照不同 product name 进行组织;
目前仅提供了 Zookeeper、Etcd、Fs 三种实现,但是提供了抽象的 interface 可自行扩展**(摘自codis官方文档)**
codis单机版部署:
首先需要的软件包:
go1.11.4.linux-amd64.tar.gz
zookeeper-3.4.14.tar.gz
codis的源码包

(一)、 首先添加环境变量
~]# vim /etc/profile
在这里插入图片描述
$GOROOT 定义的是go的安装路径
$JAVA_HOME 定义java的安装路径
#ZOOKEEPER_HOME 定义zookeeper的安装路径
如是用yum安装的可用
~]# rpm -ql java-1.8.0-openjdk 查看软件的安装路径
~]# source /etc/profile 刷新环境变量

( 二)、安装go环境
我这里以安装go1.11.4.linux-amd64.tar.gz为例
~]# wget https://storage.googleapis.com/golang/go1.11.4.linux-amd64.tar.gz ( 官方下载路径)
~]# tar -xf go1.11.4.linux-amd64.tar.gz 解压tar包
~]# cp -r go /usr/local/ 安装路径用当与环境变量$GOROOT一致
~]# ln -s /usr/local/go/bin/go /sbin 创建软连接
~]# go versiongo
version go1.11.4 linux/amd64
这里Go环境就部署完毕!
(三)、安装Java环境
~]# yum -y install java-1.8.0-openjdk
(四)、安装zookeeper
https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/
zookeeper的官方下载路径
我就以zookeeper-3.4.14.tar.gz为例
因为时源码包需要编译安装,所以需要先安装gcc
~]# yum install -y gcc git autoconf
git 和 autoconf在后面下载和编译codis时需要,索性一次下载
~]# tar -xf zookeeper-3.4.14.tar.gz 解压tar包
~]# mv zookeeper-3.4.14 /usr/local/ 移动到安装路径下
conf]# mv zoo_sample.cfg zoo.cfg 修改zookeeper的配置文件名 在zookeeper-3.4.14/conf/下(单机版不需要修改配置文件内容,只需修改文件名)
在这里插入图片描述
创建dataDir定义的路径
conf]# mkdir /tmp/zookeeper
在/tmp/zookeeper/下创建myid输入内容1
zookeeper]# vim myid 修改文件在文件中输入1
而后启动zookeeper
~]# /usr/local/zookeepe3.4.14/bin/zkServer.sh start
r-
这样即是启动成功,因为是单机版,所以是:Mode: standalone在这里插入图片描述
(五)、安装codis的源码包

~]# git clone https://github.com/CodisLabs/codis.git git下载源码包
]# mkdir -p $GOPATH/src/github.com/CodisLabs 首先创建官方指定目录
]# cp -r codis /home/user/go/src/github.com/CodisLabs/ 将源码包复制
cd /home/user/go/src/github.com/CodisLabs/codis/ && make 进入目录编译
在这里插入图片描述
修改配置文件:
/home/user/go/src/github.com/CodisLabs/codis/config 配置文件位置
]# vim proxy.toml 修改proxy代理配置文件在这里插入图片描述
修改codis-server配置文件
]# vim redis.con
bind 192.168.1.74
protected-mode no
而后启动服务
codis]# ./admin/codis-dashboard-admin.sh start
codis]# ./admin/codis-proxy-admin.sh star
tcodis]# ./admin/codis-server-admin.sh star
tcodis]# ./admin/codis-fe-admin.sh start
这时在浏览器上访问web页面就好了
http://127.0.0.1:9090(默认9090端口)
在这里插入图片描述
(六)、在一台主机上安装多台redis实例
首先复制配置文件:
]# cd /home/user/go/src/github.com/CodisLabs/codis 进入配置文件目录
]# mkdir -p redis/redis_638{1…5} 创建配置文件的目录
]# cp config/redis.conf redis/redis_6381/ 将配置文件复制到redis目录下
]# cp config/redis.conf redis/redis_6382/
]# cp config/redis.conf redis/redis_6383/
]# cp config/redis.conf redis/redis_6384/
]# cp config/redis.conf redis/redis_6385/
修改配置文件
vim codis/redis/redis_6381/redis.conf
修改配置文件的端口即可,五个都需修改
启动reids
]# ./bin/codis-server redis/redis_6381/redis.conf
]# ./bin/codis-server redis/redis_6382/redis.conf
]# ./bin/codis-server redis/redis_6383/redis.conf
]# ./bin/codis-server redis/redis_6384/redis.conf
]# ./bin/codis-server redis/redis_6385/redis.conf
]# ss -utnlp | grep codis 查看服务是否启动成功
将redis 添加到集群分组中
在这里插入图片描述
(七)、在安装时可能遇到的报错
在这里插入图片描述
没有安装autoconf ,将软件包装上即可在这里插入图片描述
可能是创建codis的安装路径出错
mkdir -p $GOPATH/src/github.com/CodisLabs 需要创建的路径为官方指定的路径,否则会报错
在这里插入图片描述
防火墙没有关闭!关闭防火墙即可!!!
systemctl stop firewalld

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值