一. 部署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
問題未解決: