Codis安装部署Redis5.x集群

1.Go安装
Go下载地址 解压

tar zxf go1.9.1.linux-amd64.tar.gz -C /usr/local/ 
-------------------------------------------------------
mkdir -p /usr/local/gopath   ###go第三方包的安装包路径 

添加环境变量

 echo "export GOROOT=/usr/local/go" >> /etc/profile
 echo "export PATH=$PATH:$GOROOT/bin" >> /etc/profile
 echo "export GOPATH=/usr/local/gopath" >> /etc/profile
 source /etc/profile

查看版本

go version

Zookeeper安装和伪集群搭建

java -version  //查看服务器有无java环境(没有的话自行安装一般都有)

Zookeeper下载地址
https://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/
解压

tar -xvf zookeeper-3.4.14.tar.gz
mv zookeeper-3.4.14 /usr/local/zookeeper

创建相关目录

mkdir -p /usr/local/zookeeper/data_{1,2,3}
mkdir -p /usr/local/zookeeper/log_{1,2,3}

设置环境变量

echo "export ZOOKEEPER_HOME=/usr/local/zookeeper" >> /etc/profile
echo "export PATH=$PATH:$ZOOKEEPER_HOME/bin" >> /etc/profile
source /etc/profile

修改Zookeeper配置文件
https://www.cnblogs.com/EasonJim/p/7482961.html

cd /usr/local/zookeeper/conf/
cp  zoo_sample.cfg   zoo1.cfg 
cp  zoo_sample.cfg   zoo2.cfg 
cp  zoo_sample.cfg   zoo3.cfg 

zoo1.cfg

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/data_1
dataLogDir=/usr/local/zookeeper/log_1
clientPort=2181
#maxClientCnxns=60
#autopurge.snapRetainCount=3
#autopurge.purgeInterval=1
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

zoo2.cfg

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/data_2
dataLogDir=/usr/local/zookeeper/log_2
clientPort=2182
#maxClientCnxns=60
#autopurge.snapRetainCount=3
#autopurge.purgeInterval=1
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

zoo3.cfg

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/data_3
dataLogDir=/usr/local/zookeeper/log_3
clientPort=2183
#maxClientCnxns=60
#autopurge.snapRetainCount=3
#autopurge.purgeInterval=1
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

其中2888表示zookeeper程序监听端口,3888表示zookeeper选举通信端口
说明

server.A=B:C:D
	A 是一个数字,表示这个是第几号服务器;
    B 是这个服务器的 ip 地址;
    C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;
    D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的 端口。

分别在data_{1/2/3}文件夹下创建myid文件,并写入1/2/3

echo "1">/usr/local/zookeeper/data_1/myid
echo "2">/usr/local/zookeeper/data_2/myid
echo "3">/usr/local/zookeeper/data_3/myid

启动zookeeper

cd /usr/local/zookeeper/bin
zkServer.sh start zoo1.cfg
zkServer.sh start zoo2.cfg
zkServer.sh start zoo3.cfg

查看启动状态

zkServer.sh status zoo1.cfg
 zkServer.sh status zoo2.cfg
 zkServer.sh status zoo3.cfg

在这里插入图片描述
下载Codis
放在go第三方安装包目录里

mkdir -p $GOPATH/src/github.com/CodisLabs
cd /usr/local/gopath/src/github.com/CodisLabs
git clone https://github.com/CodisLabs/codis.git -b release3.2
cd codis
##编译
make
##测试
make gotest

提取有用的程序

mkdir /usr/local/codis
cp -rp bin admin config /usr/local/codis/

启动coids

cd /usr/local/codis/config
vim dashboard.toml
#使用zookeeper作为外部存储
coordinator_name = "zookeeper"
coordinator_addr = "127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183"
#zookeeper的节点,多个节点的情况,使用逗号分割
#coordinator_addr = "192.168.66.100:2181,192.168.66.100:2182,192.168.66.100:2183"
product_name = "codis-demo"
product_auth = ""
#管控台地址
admin_addr = "0.0.0.0:18080"

启动dashboard

cd /usr/local/codis
./admin/codis-dashboard-admin.sh start
#可以查看log确认状态 /usr/local/codis/log/codis-dashboard.log.

停止(这个千万不要kill进程关掉,会起不来)
如果出现服务器宕机等异常情况 则进入zk的命令行

zkCli.sh -server 127.0.0.1:2181
ls /
rmr codis

停止命令

./admin/codis-dashboard-admin.sh stop

#查看启动情况
ps -ef| grep codis

部署codis-fe管理后台
1.修改启动文件

vim /usr/local/codis/admin/codis-fe-admin.sh
COORDINATOR_NAME="zookeeper"
#多个节点的情况,使用逗号分割
COORDINATOR_ADDR="127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183"
CODIS_FE_ADDR="0.0.0.0:9090"

启动 fe

cd /usr/local/codis
./admin/codis-fe-admin.sh start
ss -tpnl|grep 9090
# 可以查看log确认状态 /usr/local/codis/log/codis-fe.log.
#后台管理地址
CODIS_FE_ADDR="0.0.0.0:9090"

部署codis-server加入集群
在/usr/local/codis/config/下的redis.conf 复制一份并改名为redis6369.conf
redis6369.conf修改了如下参数(仅用于测试)

protected-mode no
port 6369
pidfile /usr/local/codis/log/redis_6369.pid
logfile "/usr/local/codis/log/redis_6369.log"
dbfilename dump_6369.rdb
dir /usr/local/codis/log/
appendfilename "appendonly.aof"
cp redis6369.conf  redis6370.conf 
cp redis6369.conf  redis6371.conf 
sed -i 's/6369/6370/g' redis6370.conf
sed -i 's/6369/6371/g' redis6371.conf

启动codis-server服务

/usr/local/codis/bin/codis-server /usr/local/codis/config/redis6369.conf
/usr/local/codis/bin/codis-server /usr/local/codis/config/redis6370.conf
/usr/local/codis/bin/codis-server /usr/local/codis/config/redis6371.conf

在这里插入图片描述
部署codis-proxy代理服务

proxy是对外提供redis服务的入口。

/usr/local/codis/config/proxy.toml
#外部存储
jodis_name = "zookeeper"
#zookeeper节点  多个节点的情况,使用逗号分割
jodis_addr = "127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183"
product_name = "codis-demo"
product_auth = ""
#绑定的地址
admin_addr = "0.0.0.0:11080"
proto_type = "tcp4"
#代理服务器地址
proxy_addr = "0.0.0.0:19000"

修改启动文件并启动,指向dashboard IP:PORT

vim /usr/local/codis/admin/codis-proxy-admin.sh
CODIS_DASHBOARD_ADDR="127.0.0.1:18080"
#CODIS_DASHBOARD_ADDR="真实IP:18080"

启动

/usr/local/codis/admin/codis-proxy-admin.sh  start
ss -tpnl |grep 19000

proxy启动默认会自动注册到dashboard中,也可以在fe中手动添加
在这里插入图片描述
部署redis-sentinel实现集群HA(手动在页面部署吧,)
1.修改配置文件

vi /usr/local/codis/config/sentinel.conf
port 26379
dir "/tmp"
protected-mode no

启动
#sentinel部署官方脚本,是根据codis-server启动脚本进行修改
#源文件目录:./ansible/roles/redis-sentinel/templates/redis-sentinel-admin.sh

/usr/local/codis/admin/codis-sentinel-admin.sh start
ss -tpnl |grep 26379

https://www.cnblogs.com/jenvid/p/10184516.html
https://segmentfault.com/a/1190000022228051
https://www.pianshen.com/article/245375875/#51_zookeeper_189
https://www.cnblogs.com/reblue520/p/6874925.html
https://blog.csdn.net/yanggd1987/article/details/77285530?utm_source=blogxgwz5
https://blog.51cto.com/jxzhfei/1934862

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值