Codis服務(wù)搭建成功案例

Codis服務(wù)搭建
一知牌、 基礎(chǔ)配置
服務(wù)器3臺(tái):zookeeper-1, zookeeper-2蛀醉,zookeeper-3
操作系統(tǒng):linux centos 7
配置hosts:
vi /etc/hosts
11.1.1.10 zookeeper-1
11.1.1.11 zookeeper-2
11.1.1.12 zookeeper-2
二、 軟件安裝
1灭将、安裝java環(huán)境
yum -y install java-1.7.0-openjdk-devel
java -version
java version "1.7.0_75"
密碼:jodis不支持
2泄伪、安裝zookeeper(3臺(tái)服務(wù)都需要配置)
wget http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
tar zxvf zookeeper-3.4.6.tar.gz
mv zookeeper-3.4.6 /usr/local/zookeeper
mkdir -p /data/zookeeper/{data,logs}

配置zoo.cfg
vim /usr/local/zookeeper/conf/zoo.cfg
tickTime=2000
initLimit=5
syncLimit=2
dataDir=/data/zookeeper/data

dataLogDir=/data/zookeeper/logs

clientPort=2181
server.1=zookeeper-1:2888:3888
server.2=zookeeper-2:2888:3888
server.3=zookeeper-2:2888:3888
上述配置內(nèi)容說明挫望,可以參考
http://zookeeper.apache.org/doc/trunk/zookeeperStarted.html#sc_RunningReplicatedZooKeeper

設(shè)置myid
在我們配置的dataDir指定的目錄下面立润,創(chuàng)建一個(gè)myid文件,里面內(nèi)容為一個(gè)數(shù)字媳板,用來標(biāo)識當(dāng)前主機(jī)桑腮,conf/zoo.cfg文件中配置的server.X中X為什么數(shù)字,則myid文件中就輸入這個(gè)數(shù)字
[root@zookeeper-1 ~]# echo 1 > /data/zookeeper/data/myid
[root@zookeeper-2 ~]# echo 2 > /data/zookeeper/data/myid
[root@zookeeper-3 ~]# echo 3 > /data/zookeeper/data/myid
設(shè)置環(huán)境變量
vim /etc/profile
export ZOOKEEPERPATH=/usr/local/zookeeper
GO_BIN=/usr/local/go/bin
export GOROOT=/usr/local/go
export CODISPATH=/usr/local/codis
export GOPATH=/data/gopath
export GO15VENDOREXPERIMENT=1
export PATH=$PATH:$GOROOT/bin:$ZOOKEEPERPATH/bin:$CODISPATH/bin:$GOPATH/bin

source /etc/profile
測試zoopkeeper
啟動(dòng)順序zookeeper-1>zookeeper-2>zookeeper-3
[root@zookeeper-1 zookeeper]# zkServer.sh start
JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@zookeeper-1 zookeeper]# zkServer.sh status
JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Mode: leader
可以看到最先開始啟動(dòng)的是leader蛉幸,其他兩個(gè)是follower

注意關(guān)閉防火墻:systemctl stop firewalld.service

3到旦、安裝go語言環(huán)境
(參考:https://github.com/CodisLabs/codis/blob/master/doc/tutorial_zh.md)
cd /home/deploy/
wget http://golangtc.com/static/go/ go1.5.2.linux-amd64.tar.gz

tar -zxvf go1.5.2.linux-amd64.tar.gz
4、安裝codis
安裝git
[root@vm-82-39-buy01-hp ~]# yum install -y git

配置環(huán)境變量
[root@vm-82-39-buy01-hp ~]# vim /etc/profile
export GOROOT=/usr/local/go

     export GOPATH=/home/deploy/gopath

     export CODISPATH=/usr/local/codis
     export PATH=/bin:$PATH:$GOROOT/bin:$GOPATH/bin:$CODISPATH/bin

[root@vm-82-39-buy01-hp ~]# source /etc/profile
[root@vm-82-39-buy01-hp ~]# go get -u -d github.com/CodisLabs/codis #這個(gè)需要幾分鐘下載共30M文件
cd $GOPATH/src/github.com/CodisLabs/codis
make
make gotest
沒有錯(cuò)誤后

mkdir -p /home/deploy/codis/data/codis_server/{logs,conf,data}
mkdir -p /usr/local/codis/{logs,conf,scripts}
cp ./config.ini / usr/local/codis/conf/
cp -rf bin /usr/local/codis/
5巨缘、配置運(yùn)行codis
這是一個(gè)灰常麻煩的過程,要有心里準(zhǔn)備
建立codis配置文件
vi usr/local/codis/conf/config.ini(zookeeper-1配置)
coordinator=zookeeper
zk=10.154.82.106:2181,10.154.82.107:2181,10.154.82.108:2181
product=codis-proxy
dashboard_addr=10.154.82.39:18087
password=
backend_ping_period=5
session_max_timeout=1800
session_max_bufsize=131072
session_max_pipeline=1024
zk_session_timeout=30000
proxy_id=proxy_1
vi usr/local/codis/conf /config.ini(zookeeper-2配置)
coordinator=zookeeper
zk=10.154.82.106:2181,10.154.82.107:2181,10.154.82.108:2181
product= codis-proxy
dashboard_addr=10.154.82.107:2181
password=
backend_ping_period=5
session_max_timeout=1800
session_max_bufsize=131072
session_max_pipeline=1024
zk_session_timeout=30000
proxy_id=proxy_2
vi usr/local/codis/conf /config.ini(zookeeper-3配置)
coordinator=zookeeper
zk=10.154.82.106:2181,10.154.82.107:2181,10.154.82.108:2181
product= codis-proxy
dashboard_addr=10.154.82.108:2181
password=
backend_ping_period=5
session_max_timeout=1800
session_max_bufsize=131072
session_max_pipeline=1024
zk_session_timeout=30000
proxy_id=proxy_3
建立codis-server服務(wù)配置文件
cd usr/local/codis/conf/
vi redis.conf
daemonize yes
pidfile /var/run/redis_6379.pid
port 6379
tcp-backlog 511
timeout 300
tcp-keepalive 0
loglevel notice
logfile "/data/codis_server/logs/redis_6379.log"
databases 16
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename 6379.rdb
dir /data/codis_server/data
slave-serve-stale-data yes
repl-disable-tcp-nodelay no
slave-priority 100
maxclients 10000
maxmemory 3gb
maxmemory-policy allkeys-lru
appendonly yes
appendfilename "6379_appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes

將redis.conf配置文件 到其他codis集群機(jī)器上

6采呐、啟動(dòng)順序(三臺(tái)服務(wù)器都需要啟動(dòng))
A若锁、啟動(dòng)zk
zkServer.sh start
B、啟動(dòng)codis
a斧吐、 啟動(dòng)dashboard
/usr/local/codis/bin/codis-config -c /usr/local/codis/conf/config.ini dashboard &
b又固、初始化slots
/usr/local/codis/bin/codis-config -c /usr/local/codis/conf/config.ini slots init
c、啟動(dòng)codis redis
/usr/local/codis/bin/codis-server /data/codis_server/conf/6379.conf
/usr/local/codis/bin/codis-server /data/codis_server/conf/6380.conf
/usr/local/codis/bin/codis-server /data/codis_server/conf/6389.conf
/usr/local/codis/bin/codis-server /data/codis_server/conf/6390.conf
d煤率、添加 Redis Server Group
/usr/local/codis/bin/codis-config -c /usr/local/codis/conf/config.ini server add 0 zookeeper-1:6379 master &
/usr/local/codis/bin/codis-config -c /usr/local/codis/conf/config.ini server add 1 zookeeper-1:6380 master &
/usr/local/codis/bin/codis-config -c /usr/local/codis/conf/config.ini server add 2 zookeeper-1:6389 master &
/usr/local/codis/bin/codis-config -c /usr/local/codis/conf/config.ini server add 3 zookeeper-1:6390 master &

/usr/local/codis/bin/codis-config -c /usr/local/codis/conf/config.ini server add 0 zookeeper-2:6379 slave &
/usr/local/codis/bin/codis-config -c /usr/local/codis/conf/config.ini server add 1 zookeeper-2:6380 slave &
/usr/local/codis/bin/codis-config -c /usr/local/codis/conf/config.ini server add 2 zookeeper-2:6389 slave &
/usr/local/codis/bin/codis-config -c /usr/local/codis/conf/config.ini server add 3 zookeeper-2:6390 slave &

e仰冠、分配slot
/usr/local/codis/bin/codis-config -c /usr/local/codis/conf/ config.ini slot range-set 0 341 1 online
/usr/local/codis/bin/codis-config -c /usr/local/codis/conf/config.ini slot range-set 342 682 2 online
/usr/local/codis/bin/codis-config -c /usr/local/codis/conf/config.ini slot range-set 683 1023 3 online

f、啟動(dòng) codis-proxy
/usr/local/codis/bin/codis-proxy -c /usr/local/codis/conf/config.ini -L /data/log/codis-proxy.log --cpu=1 --addr=0.0.0.0:19000 --http-addr=0.0.0.0:11000 &
g蝶糯、上線proxy
/usr/local/codis/bin/codis-config -c /usr/local/codis/conf/config.ini proxy online proxy_1
h洋只、測試
http://192.168.1.221:18087/admin/

redis-cli -h 192.168.11.231 -p 19000
set pwd 123456
get pwd
set pwd2 123456
get pwd2

redis-cli -h 192.168.11.232 -p 19000
get pwd
get pwd2

redis-benchmark -h 192.168.1.221 -p 19000 -q -d 100  
SET/GET 100 bytes 檢測host為192.168.1.221 端口為19000的redis服務(wù)器性能


redis-benchmark -h 192.168.1.222 -p 19000 -c 500 -n 10000 
500個(gè)并發(fā)連接,10000個(gè)請求昼捍,檢測host為192.168.1.222 端口為19000的redis服務(wù)器性能

============================ok codis搭建完成=======================
參考文檔:https://github.com/CodisLabs/codis

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末识虚,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子妒茬,更是在濱河造成了極大的恐慌担锤,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件乍钻,死亡現(xiàn)場離奇詭異肛循,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)银择,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進(jìn)店門多糠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人浩考,你說我怎么就攤上這事熬丧。” “怎么了?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵析蝴,是天一觀的道長害捕。 經(jīng)常有香客問我,道長闷畸,這世上最難降的妖魔是什么尝盼? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮佑菩,結(jié)果婚禮上盾沫,老公的妹妹穿的比我還像新娘。我一直安慰自己殿漠,他們只是感情好赴精,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著绞幌,像睡著了一般蕾哟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上莲蜘,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天谭确,我揣著相機(jī)與錄音,去河邊找鬼票渠。 笑死逐哈,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的问顷。 我是一名探鬼主播昂秃,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼杜窄!你這毒婦竟也來了械蹋?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤羞芍,失蹤者是張志新(化名)和其女友劉穎哗戈,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體荷科,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡唯咬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了畏浆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片胆胰。...
    茶點(diǎn)故事閱讀 39,779評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖刻获,靈堂內(nèi)的尸體忽然破棺而出蜀涨,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布厚柳,位于F島的核電站氧枣,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏别垮。R本人自食惡果不足惜便监,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望碳想。 院中可真熱鬧烧董,春花似錦、人聲如沸胧奔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽龙填。三九已至胳泉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間觅够,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工巷嚣, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留喘先,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓廷粒,卻偏偏與公主長得像窘拯,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子坝茎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Codis 3.2 部署配置匯總 概念總結(jié) 集群配置前需要了解架構(gòu)涤姊,集群分片主要分三種: 客戶端分片:這個(gè)需要自己...
    三杯水Plus閱讀 5,999評論 0 11
  • ** 今天看了一下kafka官網(wǎng),嘗試著在自己電腦上安裝和配置嗤放,然后學(xué)一下官方document思喊。** Introd...
    RainChang閱讀 5,002評論 1 30
  • 一、codis介紹codis是一個(gè)分布式redis集群解決方案次酌,對于上層的應(yīng)用來說, 連接到codis-proxy...
    曹振華閱讀 6,389評論 0 9
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理恨课,服務(wù)發(fā)現(xiàn),斷路器岳服,智...
    卡卡羅2017閱讀 134,654評論 18 139
  • 小胖子叫“一道閃電”剂公,有點(diǎn)反諷的意思。小V如果叫“一道閃電”吊宋,才是名至實(shí)歸了纲辽,可是他從來都不認(rèn)為自己是“一道閃電”...
    唐糖醬閱讀 416評論 0 1