文章目錄
- 安裝 go
- 安裝 Codis
- 安裝 jdk
- 安裝 zookeeper
- 啟動 Codis,搭建集群
安裝 go
- 在官網下載go的語言包
[root@server1 test]# tar zxf go1.8.linux-amd64.tar.gz
[root@server1 test]# cd go/
[root@server1 go]# ls
api blog doc LICENSE pkg src
AUTHORS CONTRIBUTING.md favicon.ico misc README.md test
bin CONTRIBUTORS lib PATENTS robots.txt VERSION
- 將解壓后的原始碼包移動到
/usr/local下
并將相關的軟鏈接移動到/usr/bin
[root@server1 test]# mv go /usr/local/
[root@server1 test]# ls /usr/local/go/bin/
go godoc gofmt
[root@server1 test]# cp /usr/local/go/bin/* /usr/bin/
[root@server1 bin]# go version
go version go1.8 linux/amd64
- 添加環境變數
GOROOT就是go的安裝目錄,codis編譯的時候,會根據這個目錄來找go,
GOPATH就是codis的根目錄,之后下載的時候會直接下載到這個目錄,
[root@server1 bin]# vim /root/.bash_profile
export GOROOT=/usr/local/go
export PATH=$GOROOT/bin:$PATH
export GOPATH=/test/go
[root@server1 bin]# source /root/.bash_profile
- 測驗go語言
[root@server1 ~]# vim hello.go
[root@server1 ~]# go run hello.go
hello,world
[root@server1 ~]# cat hello.go
package main
import "fmt"
func main(){
fmt.Printf("hello,world\n")
}
安裝 Codis
- 安裝相應的工具
[root@server1 test]# yum install git autoconf automake libtool -y
- 下載安裝包
也可以直接從官網下載原始碼包
[root@server1 test]# mkdir -p go/src/github.com/CodisLabs
[root@server1 test]# git clone https://github.com/CodisLabs/codis.git -b release3.2
- 解壓
[root@server1 test]# tar zxf codis-3.2.2.tar.gz
[root@server1 test]# cd codis-3.2.2/
[root@server1 codis-3.2.2]# ls
admin config Dockerfile Godeps MIT-LICENSE.txt scripts wandoujia_license.txt
ansible deploy example kubernetes pkg vendor
cmd doc extern Makefile README.md version
- 編譯
[root@server1 codis-3.2.2]# mkdir -p $GOPATH/src/github.com/CodisLabs
[root@server1 test]# mv codis-3.2.2 $GOPATH/src/github.com/CodisLabs/codis
[root@server1 codis-3.2.2]# make
[root@server1 codis]# cd bin/
[root@server1 bin]# ls
assets codis-dashboard codis-ha codis-server redis-cli version
codis-admin codis-fe codis-proxy redis-benchmark redis-sentinel
[root@server1 bin]# pwd
/test/go/src/github.com/CodisLabs/codis/bin
安裝 jdk
[root@server1 test]# rpm -ivh jdk-8u121-linux-x64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:jdk1.8.0_121-2000:1.8.0_121-fcs ################################# [100%]
Unpacking JAR files...
tools.jar...
plugin.jar...
javaws.jar...
deploy.jar...
rt.jar...
jsse.jar...
charsets.jar...
localedata.jar...
[root@server1 test]# java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
安裝 zookeeper
- 下載并解壓
[root@server1 test]# tar zxf apache-zookeeper-3.5.9-bin.tar.gz
- 移動到用戶級程式目錄,并生成組態檔
[root@server1 test]# mv apache-zookeeper-3.5.9-bin /usr/local/zookeeper
[root@server1 test]# cd /usr/local/zookeeper
[root@server1 zookeeper]# cd conf/
[root@server1 conf]# cp zoo_sample.cfg zoo.cfg
[root@server1 conf]# vim zoo.cfg

- 創建dataDir
[root@server1 conf]# mkdir /tmp/zookeeper
[root@server1 conf]# cd /tmp/zookeeper
[root@server1 zookeeper]# vim myid
1
- 啟動zk
[root@server1 bin]# pwd
/usr/local/zookeeper/bin
[root@server1 bin]# ./zkServer.sh start
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
啟動 Codis,搭建集群
- 啟動
dashboard
-
Codis Dashboard:集群管理工具,支持 codis-proxy、codis-server 的添加、洗掉,以及據遷移等操作,在集群狀態發生改變時,codis-dashboard 維護集群下所有 codis-proxy 的狀態的一致性,對于同一個業務集群而言,同一個時刻 codis-dashboard 只能有 0個或者1個;
所有對集群的修改都必須通過 codis-dashboard 完成, -
修改組態檔,只是修改了IP地址
[root@server1 config]# pwd
/test/go/src/github.com/CodisLabs/codis/config
[root@server1 config]# vim dashboard.toml

啟動成功
[root@server1 config]# ../admin/codis-dashboard-admin.sh start
/test/go/src/github.com/CodisLabs/codis/admin/../config/dashboard.toml
starting codis-dashboard ...
- 啟動
Codis Proxy
-
Codis Proxy:客戶端連接的 Redis 代理服務, 實作了 Redis 協議, 除部分命令不支持以外,表現的和原生的 Redis 沒有區別(就像 Twemproxy),對于同一個業務集群而言,可以同時部署多個 codis-proxy 實體;
不同 codis-proxy 之間由 codis-dashboard 保證狀態同步, -
修改組態檔
把0.0.0.0改為172.25.23.1
[root@server1 config]# vim proxy.toml

啟動成功
[root@server1 config]# ../admin/codis-proxy-admin.sh start
/test/go/src/github.com/CodisLabs/codis/admin/../config/proxy.toml
starting codis-proxy ...
[root@server1 config]# pwd
/test/go/src/github.com/CodisLabs/codis/config
- 啟動
Codis Server
- Codis Server:基于 redis-3.2.8 分支開發,增加了額外的資料結構,以支持 slot 有關的操作以及資料遷移指令,
[root@server1 admin]# ./codis-server-admin.sh start
/test/go/src/github.com/CodisLabs/codis/admin/../config/redis.conf
starting codis-server ...
- 啟動
Codis FE
-
Codis FE:集群管理界面,
多個集群實體共享可以共享同一個前端展示頁面;
通過組態檔管理后端 codis-dashboard 串列,組態檔可自動更新,
[root@server1 admin]# ./codis-fe-admin.sh start
starting codis-fe ...
- 檢查是否啟動成功
[root@server1 log]# netstat -antuple | grep codis
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 0 35543 5329/codis-server 1
tcp 0 0 172.25.23.1:18080 0.0.0.0:* LISTEN 0 31709 4654/codis-dashboar
tcp 0 0 172.25.23.1:55762 172.25.23.1:18080 ESTABLISHED 0 36063 5343/codis-fe
tcp 0 0 127.0.0.1:55728 127.0.0.1:2181 ESTABLISHED 0 31705 4654/codis-dashboar
tcp 0 0 172.25.23.1:18080 172.25.23.1:55762 ESTABLISHED 0 36064 4654/codis-dashboar
tcp6 0 0 :::9090 :::* LISTEN 0 35555 5343/codis-fe
tcp6 0 0 172.25.23.1:9090 172.25.23.250:59618 ESTABLISHED 0 36059 5343/codis-fe
tcp6 0 0 172.25.23.1:9090 172.25.23.250:59616 ESTABLISHED 0 36057 5343/codis-fe

- 通過fe添加Group
Group就是一主一從的環境,當然也可以一主多從,
- 通過fe初始化slot
新增的集群 slot 狀態是 offline,因此我們需要對它進行初始化(將 1024 個 slot 分配到各個 group),而初始化最快的方法可通過 fe 提供的 rebalance all slots 按鈕來做,如下圖所示,點擊此按鈕,我們即快速完成了一個集群的搭建,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/276671.html
標籤:區塊鏈
下一篇:語音識別天池新人賽



