codis配置實例
3.13.10.1架構圖及環境
1、架構圖
2、軟件版本
(1)zookeeper-3.5.2-alpha.tar.gz
(2)go1.8.1.linux-amd64.tar.gz
(3)codis3.2
3.13.10.2 zookeeper集羣安裝
1、安裝jdk 1.8(這一步不作詳解)
2、下載zookeeper3.5.2安裝
在192.168.2.122, 192.168.2.123, 192.168.2.124執行以下安裝
(1)準備安裝目錄和數據存放目錄,並建立id文件
#Mkdir /apps/
#Mkdir -p /var/zookeeperdata/
(2)安裝zookeeper
# tar -xvf zookeeper-3.5.2-alpha.tar.gz -C/apps/
(3)配置zook.cfg
到/apps/zookeeper目錄下的conf目錄下配置zoo.cfg如下:
clientPort=2181
dataDir=/var/zookeeperdata //主要改這一項。
syncLimit=5
initLimit=10
tickTime=2000
server.1=192.168.2.122:2888:3888//後面一定不能有空格,否則啓動出錯。
server.2=192.168.2.123:2888:3888
server.3=192.168.2.124:2888:3888
(1) 爲zookeeper服務器創建ID號
192.168.2.122服務器執行:
Echo “1”>>/var/zookeeperdata/myid
192.168.2.123服務器執行:
Echo “2”>>/var/zookeeperdata/myid
192.168.2.124服務器執行:
Echo “3”>>/var/zookeeperdata/myid
(5)啓動並驗證
./bin/zkServer.sh start
./bin/zkServer.sh status //查看狀態
可以查看狀態:(誰先啓動誰爲leader)
192.168.2.123爲leader
192.168.2.122和192.168.2.124爲follower
3.13.10.3安裝codis-proxy和codis-server
在192.168.2.122,192.168.2.123,192.168.9.124上執行下列相同操作。
1、安裝gcc gcc-c++ git autoconf
Yum -y install gcc gcc-c++ git autoconf
2、安裝 go
到go的官網下載go.tar.gz包到/apps/目錄下:
#Tar -xvf go1.8.1.linux-amd64.tar.gz -C /apps/
Vi /etc/profile.d/go.sh
Export GOROOT=/apps/go
EXPORT GOPATH=apps/codis
Export PATH=$PATH:$GOROOT:$GOPATH
Source go.sh
3、 安裝codis
下載codis
#go get -u -d github.com/CodisLabs/codis
Codis會下載到/apps/codis目錄下。
(2)編譯codis
#Cd /apps/codis/src/github.com/codislabs/codis
#make
編譯成功會在/apps/codis/src/github.com/codislabs/codis
bin/目錄下生成如下文件:
4、 創建並複製主要目錄到/apps/codis/目錄下
#mkdir-p /apps/codis/{bin,logs,data}/
#cp -rf$GOPATH/src/github.com/CodisLabs/codis/bin/* /opt/local/codis/bin
#cp -rf$GOPATH/src/github.com/CodisLabs/codis/config /opt/local/codis/
3.13.10.4啓動codis-dishboard
Vi /apps/codis/config/ dashboard.toml
coordinator_name = "zookeeper"
coordinator_addr = "192.168.2.123:2181,192.168.2.122:2181,192.168.2.124:2181"
product_name = "codis-loready"
product_auth = ""
admin_addr = "0.0.0.0:18080"
2、啓動 codis-dishboard
#./bin/codis-dashboard --config=./config/dashboard.toml--log=./logs/dashboard.log --log-level=WARN &
3.13.10.5 啓動codis-proxy
在192.168.2.122,192.168.2.123上啓動codis-proxy
1、 配置codis-proxy
vi proxy.toml:
product_name ="codis-loready" //關鍵配置
product_auth = ""
session_auth = ""
admin_addr = "0.0.0.0:11080"
proto_type = "tcp4"
proxy_addr = "0.0.0.0:19000"
jodis_name = "Zookeeper" //關鍵配置
jodis_addr = "192.168.2.123:2181,192.168.2.122:2181,192.168.2.124:2181" //關鍵配置
jodis_timeout = "20s"
jodis_compatible = false
proxy_datacenter = ""
proxy_max_clients = 1000
proxy_max_offheap_size = "1024mb"
proxy_heap_placeholder = "256mb"
backend_ping_period = "5s"
backend_number_databases = 16
2、啓動codis-proxy
#./bin/codis-proxy --config=./config/proxy.toml --log=./logs/proxy.log --log-level=WARN &
3.13.10.5配置codis-server-group
在192.168.2.123和192.168.2.124上配置redis.conf,並啓動codis-server,並把192.168.2.124作爲master,192.128.2.123作爲slave。
1、 配置redis.conf
(1)192.168.2.124(master)的配置
Vi /apps/codis/config/redis.conf
bind 127.0.0.1
bind 192.168.2.124
logfile"/apps/codis/logs/redis_6379.log"
#save 900 1 //關閉快照持久化。
#save 300 10
#save 60 10000
appendonly yes //開啓aof持久化
appendfilename "appendonly.aof"
appendfsync everysec
(2)192.168.2.123(slave配置)
Vi /apps/codis/config/redis.conf
bind 127.0.0.1
bind 192.168.2.123
logfile"/apps/codis/logs/redis_6379.log"
#save 900 1 //關閉快照持久化。
#save 300 10
#save 60 10000
slaveof 192.168.2.124 6379 //設定master的地址
slave-serve-stale-data yes
slave-read-only yes
appendonly yes //開啓aof持久化
appendfilename "appendonly.aof"
appendfsync everysec
2、 啓動redis
在192.168.2.123和192.168.2.124
Cd /apps/codis
# ./bin/codis-server ./config/redis.conf &
3.13.10.6配置CODIS-FE管理codis
1、生成codis.json文件
./bin/codis-admin--dashboard-list --zookeeper=192.168.2.123:2181,192.168.2.122:2181,192.168.2.124:2181|tee ./config/codis.json
2、啓動codis-fe
./bin/codis-fe --log=./logs/fe.log--log-level=WARN --zookeeper=192.168.2.123:2181 --listen=192.168.2.122:8089&
3、 訪問192.168.2.122:8089配置集羣
(1) 添加codis-proxy
依次添加192.168.2.122:11080, 192.168.2.123:11080
(2) 添加codis-server-group
(3) 初始化solts
可以把不同的solt分配到不同的codis-server-group,因爲我這裏只創建了一個codis-group,所以把1024個solt全分配到group1.
至此codis集羣部署完畢。