天天看點

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