配置 Codis 集群

一、课程名称:配置 Codis 集群
前端

二、具体内容java

Codis 的最大特色是利用了 codis-proxy 程序代理了全部的 Redis 服务组(每一个组有主从),那么下面为了方便处理,单独创建几组 redis 服务,而且为了方便,让每个主机上运行三个 redis。git


Codis 之中已经不直接使用 redis-server 来启动 redis 服务了,全部的服务要经过 codis-server 来启动,若是要想在一台主机上配置多个 redis 服务,那么就必须保证各自的端口以及数据文件的位置不同。github

CodisProxy 是整个的 Codis 处理灵魂所在,也就是说利用 codis-proxy 来代理全部的 codis-server,这样若是 codis-server 中有一台主机出现了问题,那么也可使用它默认的 HA 机制,保证全部的 codis 服务可用。而 codis-proxy 主机上必定要单独配置ZooKeeper 进行协调,由于全部的与 codis 配置的元数据信息都保存在 ZooKeeper 下,若是你如今的信息要进行更换,那么就将 zookeeper 中的指定数据的节点删除掉。redis

本次要参与运算的主机有以下几台:json

配置的时候强烈建议先配置好一台 codis-server-*主机,然后分别进行复制后就能够出现多台主机了,理论上如今模拟的是 9vim

redis 服务器的整合处理。api

2.1 、配置 Codis-Server

Codis-Server 主要负责来启动 Redis 服务,千万要记住一点,这个时候不须要再额外的配置 redis 软件包了,由于在以前编译的时候全部的软件包都已经具有了。浏览器

一、 【codis-server-01】拷贝 redis 的配置文件到 codis 目录之中;服务器

· 因为本次要使用的 redis 脚本会不少的,那么创建一个目录:mkdir -p /usr/local/codis/conf/redis_conf/;

· cp /usr/data/gowork/src/github.com/CodisLabs/codis/extern/redis-3.2.4/redis.conf /usr/local/codis/conf/redis_conf/redis-6379.conf拷贝一个文件到此目录之中,改名为:redis-6379.conf;

· 先拷贝一个文件,然后改完以后再将其复制为 redis-6380.conf、redis-6381.conf 两个文件。

# bind 127.0.0.1port 6379 daemonize yesrequirepass mldnjavapidfile /usr/data/redis/redis-6379/run/redis_6379.pid logfile /usr/data/redis/redis-6379/logs/logs_6379.log dir /usr/data/redis/redis-6379/db二、 【codis-server-01】编辑 redis-6369.conf 文件:vim /usr/local/codis/conf/redis_conf/redis-6379.conf

三、 【codis-server-01】将 redis-6379.conf 文件复制为 redis-6380.conf、redis-6381.conf 两个文件;

· cp /usr/local/codis/conf/redis_conf/redis-6379.conf /usr/local/codis/conf/redis_conf/redis-6380.conf复制 redis-6379.conf 为 redis-6380.conf 文件:

· 复制 redis-6379.conf 为 redis-6381.conf 文件:

cp /usr/local/codis/conf/redis_conf/redis-6379.conf /usr/local/codis/conf/redis_conf/redis-6381.conf

· 编辑 redis-6380.conf 与 redis-6381.conf 两个配置文件:

四、 【codis-server-01】创建相应的目录:

· 创建 redis-6379 目录:mkdir -p /usr/data/redis/redis-6379/{db,logs,run};

· 创建 redis-6380 目录:mkdir -p /usr/data/redis/redis-6380/{db,logs,run};

· 创建 redis-6381 目录:mkdir -p /usr/data/redis/redis-6381/{db,logs,run};

echo "vm.overcommit_memory=1" >> /etc/sysctl.conf五、 【codis-server-01】配置 Linux 的环境参数,将全部的可用内存交给 redis 服务:

六、 【codis-server-01】为了测试方便,先进行各自服务的启动,此时的启动使用的不是 redis-server,而是 codis-server 启动:

· 启动 6379 的 Redis 服务:/usr/local/codis/bin/codis-server /usr/local/codis/conf/redis_conf/redis-6379.conf;

· 启动 6380 的 Redis 服务:/usr/local/codis/bin/codis-server /usr/local/codis/conf/redis_conf/redis-6380.conf;

· 启动 6381 的 Redis 服务:/usr/local/codis/bin/codis-server /usr/local/codis/conf/redis_conf/redis-6381.conf;七、 【codis-server-01】能够启动一个 redis 客户端进行登陆测试;

八、 【codis-server-01】将当前的虚拟机关闭,然后为其复制两份:codis-server-0二、codis-server-03。

九、 【codis-server-*】启动各自相应的 codis-server 服务;

2.2 、配置 ZooKeeper

在整个的 Codis 架构之中,Codis-Proxy 将做为全部的 Codis-Server 的对外的代理,而在整个的处理之中,Codis-Proxy 所保存的数据必定是全部的 Codis-Server 信息,那么这些信息都会保存在 ZooKeeper 的组件里面,因此如今须要在"codis-proxy-01"主机上配置 ZooKeeper 组件,如今的配置是在单机下运行。

tar xzvf /srv/ftp/zookeeper-3.4.9.tar.gz -C /usr/local/一、 【codis-proxy-01】将 Zookeeper 的组件上传到系统之中,然后进行解压缩控制;

二、 【codis-proxy-01】为了配置方便将目录改名为 zookeeper;

mv /usr/local/zookeeper-3.4.9/ /usr/local/zookeeper

三、 【codis-proxy-01】创建 zookeeper 的数据保存路径:mkdir -p /usr/data/zookeeper;四、 【codis-proxy-01】修改 zookeeper 配置文件;

· 经过模版复制一个 zoo.cfg 文件:cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg;

· dataDir=/usr/data/zookeeperserver.1=192.168.122.186:2888:3888打开编译此文件:vim /usr/local/zookeeper/conf/zoo.cfg;

五、 【codis-proxy-01】创建服务器标记的 myid 文件:

echo 1 >> /usr/data/zookeeper/myid

六、 【codis-proxy-01】启动 ZooKeeper:/usr/local/zookeeper/bin/zkServer.sh start;

· 查看 ZooKeeper 状态:/usr/local/zookeeper/bin/zkServer.sh status;

2.3 、配置 Codis-Dashboard

"codis-dashboard"主要是进行 Codis 配置使用的,也就是说全部的相关的配置项必须经过此进程才能够完成。codis 有一点很是方便,就是说利用它自己提供的命令能够自动生成配置文件;

/usr/local/codis/bin/codis-dashboard --default-config | tee /usr/local/codis/conf/dashboard.ini一、 【codis-proxy-01】生成 dashboard.ini 的配置文件:

此时会自动的在指定路径中"/usr/local/codis/conf/dashboard.ini"生成配置文件;

二、 【codis-proxy-01】编辑此配置文件:vim /usr/local/codis/conf/dashboard.ini;

如今 codis-dashboard 服务主机的 IP 为:192.168.122.186,因此服务的地址为"192.168.122.186:18080"。

三、 【codis-proxy-01】启动 dashboard 进程:

--log=/usr/local/codis/logs/dashboard.log --log-level=WARN > /dev/null 2>& 1 &--config=/usr/local/codis/conf/dashboard.ini--ncpu=2/usr/local/codis/bin/codis-dashboardnohup

若是要想确认当前的配置是否已经成功了,那么就能够经过日志来观察。

· 抓取日志信息:more /usr/local/codis/logs/dashboard.log.2016-11-24;

2.4 、配置 Codis-FE(管理界面)

Codis 全部的配置项能够有两种方式进行管理:经过图形界面进行配置,另一种是经过命令配置。

一、 【codis-proxy-01】经过配置文件生成 codis-fe 的启动文件;

· 经过 codis 的管理工具完成:/usr/local/codis/bin/codis-admin;

· 经过"--help"查看这个命令的组成:/usr/local/codis/bin/codis-admin --help;

若是有须要也能够查看生成的 codis.json 文件:cat /usr/local/codis/conf/codis.json。二、 【codis-proxy-01】启动 codis-fe 的程序打开前端的图形管理界面;

· --dashboard-list=/usr/local/codis/conf/codis.json --listen=192.168.122.186:18090 > /dev/null 2>& 1 &--log-level=WARN--log=/usr/local/codis/logs/fe.log--ncpu=2/usr/local/codis/bin/codis-fenohup启动命令:/usr/local/codis/bin/codis-fe;

三、 打开浏览器,经过 WEB 进行相应的配置了。

· 访问地址:http://192.168.122.186:18090/;

四、 首先若是要想进行配置,那么必需要求进行分组处理;

· group1:

|- master:192.168.122.185:6379;

|- slave1:192.168.122.185:6380;

|- slave2:192.168.122.185:6381;

· group2:

|- master:192.168.122.187:6379;

|- slave1:192.168.122.187:6380;

|- slave2:192.168.122.187:6381;

· group3:

|- master:192.168.122.188:6379;

|- slave1:192.168.122.188:6380;

|- slave2:192.168.122.188:6381;

 


本文分享自微信公众号 - 纯洁的明依(chenmingyi20181223)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索