Codis集群安裝配置

一.借用網(wǎng)上codis架構(gòu)圖(https://github.com/CodisLabs/codis

clipboard.png

各組件作用說明

1.codis-proxy 相當(dāng)于redis媚朦,是底層codis-server集群代理氧敢、

2.codis-group 是一個(gè)虛擬的節(jié)點(diǎn)機(jī)制通過槽位映射機(jī)制實(shí)現(xiàn)proxy與server的映射(一個(gè)組有一個(gè)master和多個(gè)slave組成,默認(rèn)1024個(gè)槽位询张,redis cluster默認(rèn)16384個(gè)槽位孙乖,不同的槽位內(nèi)容放在不同group,通過zk查詢key記錄位置)

3.codis-fe 集群管理界面

4.codis-dashboard 集群管理中心

二. 環(huán)境搭建配置

系統(tǒng)centos7.1 64位系統(tǒng)

環(huán)境包

jdk1.8.0.91

go1.7.3 https://storage.googleapis.com/golang/go1.7.3.linux-amd64.tar.gz

zookeeper3.4.6 http://mirrors.shuosc.org/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz

QQ截圖20180424175938.png

zk集群簡要配置(需要安裝jdk--步驟略)

[root@codis01 ~]# sed '/^$/ d;/^#/ d' /usr/local/zookeeper/conf/zk1.cfg

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/usr/local/zookeeper/data

clientPort=2181

server.1=192.168.10.5:2888:3888

server.2=192.168.10.6:2888:3888

server.3=192.168.10.7:2888:3888


echo 1 > /usr/local/zookeeper/data/myid

codis02 上操作類似 echo 2 > /usr/local/zookeeper/data/myid

codis03 上操作類似 echo 3 > /usr/local/zookeeper/data/myid

啟動(dòng)zk集群,檢測zk狀態(tài)是否正常

go環(huán)境編譯安裝

[root@codis01 ~]# tar zxvf go1.7.3.linux-amd64.tar.gz

[root@codis01 ~]# mv go /usr/local

[root@codis01 ~]# mkdir /usr/local/codis

配置環(huán)境變量 vi /etc/profile

export PATH=$PATH:/usr/local/go/bin

export GOROOT=/usr/local/go

export GOPATH=/usr/local/codis

path=$PATH:$HOME/bin:$GOROOT/bin:$GOPATH/bin

source /etc/profile

驗(yàn)證是否生效

[root@codis01 ~]# go version

go version go1.7.3 linux/amd64

[root@codis01 ~]# echo $GOPATH

/usr/local/codis

codis安裝

mkdir -p $GOPATH/src/github.com/CodisLabs************************此目錄不能為別的名

[root@codis01 ~]# cd /usr/local/codis/src/github.com/CodisLabs/

[root@codis01 ~]# git clone https://github.com/CodisLabs/codis.git -b release3.2

進(jìn)行編譯 cd /usr/local/codis/src/github.com/CodisLabs/codis

make ---------執(zhí)行全部指令后,會(huì)在 bin 文件夾內(nèi)生成 codis-proxy唯袄、codis-server三個(gè)可執(zhí)行文件

clipboard1.png

修改配置信息

啟動(dòng)方式有兩種

[root@codis01 codis]# sed '/^#/ d;/^$/ d' config/dashboard.toml (修改了紅字信息)

coordinator_name = "zookeeper"

coordinator_addr = "192.168.10.5:2181,192.168.10.6:2181,192.168.10.7:2181"

product_name = "codis-protal"

product_auth = ""

admin_addr = "0.0.0.0:18080"

migration_method = "semi-async"

migration_parallel_slots = 100

migration_async_maxbulks = 200

migration_async_maxbytes = "32mb"

migration_async_numkeys = 500

migration_timeout = "30s"

sentinel_client_timeout = "10s"

sentinel_quorum = 2

sentinel_parallel_syncs = 1

sentinel_down_after = "30s"

sentinel_failover_timeout = "5m"

sentinel_notification_script = ""

sentinel_client_reconfig_script = ""


[root@codis01 codis]# sed '/^#/ d;/^$/ d' config/proxy.toml (修改了紅字信息)

product_name = "codis-protal"

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.10.5:2181,192.168.10.6:2181,192.168.10.7:2181"

jodis_auth = ""

jodis_timeout = "20s"

jodis_compatible = true


新建4個(gè)codis-server節(jié)點(diǎn)(redis配置修改紅字部分)

[root@codis01 opt]# sed '/^#/ d;/^$/ d' /opt/redis-6379/redis.conf

protected-mode no

port 6379

tcp-backlog 511

timeout 0

tcp-keepalive 300

daemonize yes

supervised no

pidfile "/opt/redis-6379/redis_6379.pid"

loglevel notice

logfile "/opt/redis-6379/redis_6379.log"

databases 16

save 900 1

save 300 10

save 60 10000

stop-writes-on-bgsave-error yes

rdbcompression yes

rdbchecksum yes

dbfilename "dump_6379.rdb"

dir "/opt/redis-6379"

slave-serve-stale-data yes

slave-read-only yes

repl-diskless-sync no

repl-diskless-sync-delay 5

repl-disable-tcp-nodelay no

slave-priority 100


服務(wù)啟動(dòng)【自帶腳本方式】

cd $GOPATH/src/github.com/CodisLabs/codis/admin

./admin/codis-dashboard-admin.sh start 啟動(dòng)CODIS-DASHBOARD 外部存儲(chǔ)

./admin/codis-proxy-admin.sh start 啟動(dòng)CODIS-PROXY 并加入CODIS-DASHBOARD管理

./admin/codis-server-admin.sh start 啟動(dòng)CODIS-SERVER

./admin/codis-fe-admin.sh start 啟動(dòng)CODIS-FE弯屈,可以通過127.0.0.1:9090訪問管理界面

【手動(dòng)運(yùn)行命令后臺(tái)運(yùn)行】

./bin/codis-dashboard --ncpu=1 --config=config/dashboard.toml --log=dashboard.log --log-level=WARN &

./bin/codis-proxy --ncpu=1 --config=config/proxy.toml --log=proxy.log --log-level=WARN &

./bin/codis-fe --ncpu=1 --log=fe.log --log-level=WARN --zookeeper=192.168.10.5:2181 --listen=192.168.10.5:8090 & --管理頁面端口

./bin/codis-server /opt/redis-6379/redis.conf

./bin/codis-server /opt/redis-6380/redis.conf

./bin/codis-server /opt/redis-6381/redis.conf

./bin/codis-server /opt/redis-6382/redis.conf

clipboard2.png

三.通過fe管理頁面管理codis機(jī)器

瀏覽器訪問http://192.168.10.5:8090進(jìn)入管理頁面

clipboard3.png

添加proxy代理

clipboard4.png

先添加4個(gè)分組,每個(gè)256個(gè)槽位恋拷,然后把codis-server加入到分組资厉,組成一組兩從

clipboard5.png
clipboard6.png

測試codis集群功能。停掉192.168.10.5:19000 這個(gè)proxy節(jié)點(diǎn)蔬顾。檢測工作是否正常

tag: 在10.5的節(jié)點(diǎn)上寫入key,停掉10.5工作節(jié)點(diǎn)宴偿,在10.6上查詢key

[root@codis01 codis]# ./bin/redis-cli -h 192.168.10.5 -p 19000

192.168.10.5:19000> set fctee hello-world

OK

[root@codis02 codis]# ./bin/redis-cli -h 192.168.10.6 -p 19000

192.168.10.6:19000> get fctee

"hello-world"

結(jié)果工作正常

tag:測試redis-key值寫入,分配均衡

!/bin/bash

for ((i=0;i<20000;i++))

do

echo -en "helloworld" | redis-cli -h 192.168.10.5 -p 19000 -x set name$i >>redis.log

done

------------參考鏈接

http://www.cnblogs.com/reblue520/p/6874925.html

http://blog.csdn.net/liaoyoujinb/article/details/70800860

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末诀豁,一起剝皮案震驚了整個(gè)濱河市窄刘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌舷胜,老刑警劉巖娩践,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異烹骨,居然都是意外死亡翻伺,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門沮焕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吨岭,“玉大人,你說我怎么就攤上這事遇汞∥疵茫” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵空入,是天一觀的道長络它。 經(jīng)常有香客問我,道長歪赢,這世上最難降的妖魔是什么化戳? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮埋凯,結(jié)果婚禮上点楼,老公的妹妹穿的比我還像新娘。我一直安慰自己白对,他們只是感情好掠廓,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著甩恼,像睡著了一般蟀瞧。 火紅的嫁衣襯著肌膚如雪沉颂。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天悦污,我揣著相機(jī)與錄音铸屉,去河邊找鬼。 笑死切端,一個(gè)胖子當(dāng)著我的面吹牛彻坛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播踏枣,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼昌屉,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了椰于?” 一聲冷哼從身側(cè)響起怠益,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬榮一對情侶失蹤仪搔,失蹤者是張志新(化名)和其女友劉穎瘾婿,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體烤咧,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡偏陪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了煮嫌。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片笛谦。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖昌阿,靈堂內(nèi)的尸體忽然破棺而出饥脑,到底是詐尸還是另有隱情,我是刑警寧澤懦冰,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布灶轰,位于F島的核電站,受9級(jí)特大地震影響刷钢,放射性物質(zhì)發(fā)生泄漏笋颤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一内地、第九天 我趴在偏房一處隱蔽的房頂上張望伴澄。 院中可真熱鬧,春花似錦阱缓、人聲如沸非凌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽敞嗡。三九已至并蝗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間秸妥,已是汗流浹背滚停。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留粥惧,地道東北人键畴。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像突雪,于是被迫代替她去往敵國和親起惕。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

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