天天看点

Codis集群搭建go

一. 部署zookeeper集群

172.25.40.1 server1

172.25.40.2 server2

172.25.40.3 server3

下载zookeeper:

http://apache.fayea.com/zookeeper/zookeeper-3.5.5/

jdk 环境, zookeeper是java写的,所以需要java环境

各节点安装

rpm -ivh jdk-8u121-linux-x64.rpm

[[email protected] ~]# ls
apache-zookeeper-3.5.5.tar.gz  
[[email protected] ~]# tar zxf apache-zookeeper-3.5.5.tar.gz -C /usr/local/
[[email protected] ~]# cd /usr/local/
[[email protected] local]# ls
apache-zookeeper-3.5.5  etc    include  lib64    sbin   src
bin                     games  lib      libexec  share
[[email protected] local]# mv apache-zookeeper-3.5.5/ zookeeper
           

1、设置配置文件 /usr/local/zookeeper/conf/zoo.cfg

tickTime=2000   # 服务器与客户端之间交互的基本时间单元(ms)
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/data/     #保存zookeeper数据路径
dataLogDir=/usr/local/zookeeper/log/
clientPort=2181          #客户端访问zookeeper时经过服务器端的端口号
maxClientCnxns=300    #限制连接到zookeeper服务器客户端的数量。
server.1=172.25.40.1:2888:3888
server.2=172.25.40.2:2888:3888
server.3=172.25.40.3:2888:3888
# server.id=host:port:port : 表示了不同的zookeeper服务器的自身标识;
           

作为集群的一部分,每一台服务器应该知道其他服务器的信息。用户可以从“server.id=host:port:port” 中读取到相关信息。在服务器的data(dataDir参数所指定的目录)下创建一个文件名为myid的文件, 这个文件的内容只有一行,指定的是自身的id值。

比如,服务器“1”应该在myid文件中写入“1”。这个id必须在集群环境中服务器标识中是唯一的,且大小在1~255之间。这一样配置中,zoo1代表第一台服务器的IP地址。

第一个端口号(port)是从follower连接到leader机器的端口,

第二个端口是用来进行leader选举时所用的端口。

所以,在集群配置过程中有三个非常重要的端口:clientPort:2181、port:2888、port:3888。

2、设置zookeeper存储目录

[[email protected] local]# mkdir /usr/local/zookeeper/data/
 [[email protected] local]# mkdir /usr/local/zookeeper/log/
           

3、设置集群ID

ssh 172.25.40.1 "echo '1' > /usr/local/zookeeper/data/myid"
ssh 172.25.40.2 "echo '2' > /usr/local/zookeeper/data/myid"
ssh 172.25.40.3 "echo '3' > /usr/local/zookeeper/data/myid"

[[email protected] github.com]# cat /usr/local/zookeeper/data/myid 
1
[[email protected] local]# cat /usr/local/zookeeper/data/myid 
2
           

4、启动zookeeper集群

#三个机器分别启动zookeeper

/usr/local/zookeeper/bin/zkServer.sh start
           

5、测试启动的zookeeper是否成功

## 查看zookeeper状态
           

[[email protected] bin]# ./zkServer.sh status

/usr/local/java/bin/java

ZooKeeper JMX enabled by default

Using config: /usr/local/zookeeper/bin/…/conf/zoo.cfg

Client port found: 2181. Client address: localhost.

Mode: leader

进入zookeeper

[[email protected] bin]# ./zkCli.sh

[zk: localhost:2181(CONNECTED) 0] ls /

go

1.下载go

https://golang.google.cn/doc/install?download=go1.8.3.linux-amd64.tar.gz

[[email protected] ~]# tar -zxvf go1.8.3.linux-amd64.tar.gz -C /usr/local

2.配置环境变量

export GOROOT=/usr/local/go  #指向go解压的目录
export GOPATH=/usr/local/go/gowork  #go环境的扩展包目录,所有go环境共用,工作目录
PATH=$PATH:$GOROOT/bin:$GOPATH/bin
           

3.查看版本

[[email protected] go]# go version
go version go1.8.3 linux/amd64
           

CodisLabs下载

https://github.com/CodisLabs/codis/releases

部署codis-dashboard

1.修改配置文件

vim /usr/local/codis/config/dashboard.toml

#coordinator_name = "filesystem"
#coordinator_addr = "/tmp/codis"
coordinator_name = "zookeeper"
coordinator_addr = "172.25.40.1:2181,172.25.40.2:2181,172.25.40.3:2181"
           
Codis集群搭建go

2.启动dashboard

cd /usr/local/codis
./admin/codis-dashboard-admin.sh start
netstat -tpnl |grep  18080
           
Codis集群搭建go

# 可以查看log确认状态 /usr/local/codis/log/codis-dashboard.log.2019-08-14

Codis集群搭建go

3.dashboard地址

admin_addr = "0.0.0.0:18080"
           
Codis集群搭建go

部署codis-fe管理后台

1.修改启动文件

vim /usr/local/codis/admin/codis-fe-admin.sh

#COORDINATOR_NAME="filesystem"
#COORDINATOR_ADDR="/tmp/codis"
COORDINATOR_NAME="zookeeper"
COORDINATOR_ADDR="172.25.40.1:2181,172.25.40.2:2181,172.25.40.3:2181"
           
Codis集群搭建go

2.启动fe

cd /usr/local/codis
./admin/codis-fe-admin.sh start
netstat -tpnl|grep 9090
# 可以查看log确认状态 /usr/local/codis/log/codis-fe.log.2019-08-14
           
Codis集群搭建go

3.后台管理地址

CODIS_FE_ADDR="0.0.0.0:9090"
           

部署codis-server加入集群

1.所有节点启动codis-server

/usr/local/codis/admin/codis-server-admin.sh start
           

2.redis.conf修改如下参数(仅用于测试)

protected-mode no
port 6379
           

3.fe管理后台添加group

问题未解决:

Codis集群搭建go
Codis集群搭建go
Codis集群搭建go