一. 部署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"
2.启动dashboard
cd /usr/local/codis
./admin/codis-dashboard-admin.sh start
netstat -tpnl |grep 18080
# 可以查看log确认状态 /usr/local/codis/log/codis-dashboard.log.2019-08-14
3.dashboard地址
admin_addr = "0.0.0.0:18080"
部署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"
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
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
问题未解决: