真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

redis3.0集群安裝部署

wget http://download.redis.io/releases/redis-3.0.0.tar.gz && tar zxvf redis-3.0.0.tar.gz && cd redis-3.0.0 && make PREFIX=/usr/local/redis MALLOC=libc install

成都網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序、集團(tuán)成都定制網(wǎng)頁設(shè)計(jì)等服務(wù)項(xiàng)目。核心團(tuán)隊(duì)均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗(yàn),服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:成都火鍋店設(shè)計(jì)等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗(yàn),同時(shí)也獲得了客戶的一致夸獎(jiǎng)!

mkdir -p /usr/local/redis/run

mkdir -p /usr/local/redis/logs

mkdir -p /usr/local/redis/rdb

mkdir -p /usr/local/redis/etc

mkdir -p /usr/local/redis/nodes

1、###redis集群配置文件,根據(jù)實(shí)例端口區(qū)分

#Redis默認(rèn)不是以守護(hù)進(jìn)程的方式運(yùn)行,可以通過該配置項(xiàng)修改,使用yes啟用守護(hù)進(jìn)程

daemonize yes

#當(dāng) Redis 以守護(hù)進(jìn)程的方式運(yùn)行的時(shí)候,Redis 默認(rèn)會把 pid 文件放在/var/run/redis.pid,當(dāng)運(yùn)行多個(gè) redis 服務(wù)時(shí),需要指定不同的 pid 文件和端口

pidfile /usr/local/redis/run/redis_6381.pid

#配置redis端口

port 6381

tcp-backlog 511

#客戶端連接的超時(shí)時(shí)間,單位為秒,超時(shí)后會關(guān)閉連接

timeout 300

tcp-keepalive 0

#日志記錄等級,4個(gè)可選值debug、verbose、notice、warning

loglevel notice

#配置 log 文件地址,默認(rèn)打印在命令行終端的窗口上,也可設(shè)為/dev/null屏蔽日志

logfile "/usr/local/redis/logs/6381.log"

#設(shè)置數(shù)據(jù)庫的個(gè)數(shù),可以使用 SELECT 命令來切換數(shù)據(jù)庫

databases 16

#設(shè)置 Redis 進(jìn)行數(shù)據(jù)庫鏡像的頻率。保存數(shù)據(jù)到disk的策略 900秒之內(nèi)有1個(gè)keys發(fā)生變化時(shí)

save 900 1

#設(shè)置 Redis 進(jìn)行數(shù)據(jù)庫鏡像的頻率。保存數(shù)據(jù)到disk的策略 30秒之內(nèi)有10個(gè)keys發(fā)生變化時(shí)

save 300 10 

#設(shè)置 Redis 進(jìn)行數(shù)據(jù)庫鏡像的頻率。保存數(shù)據(jù)到disk的策略 60秒之內(nèi)有10000個(gè)keys發(fā)生變化時(shí)

save 60 10000 

stop-writes-on-bgsave-error yes 

#在進(jìn)行鏡像備份時(shí),是否進(jìn)行壓縮

rdbcompression yes 

rdbchecksum yes

#鏡像備份文件的文件名

dbfilename dump6381.rdb 

#數(shù)據(jù)庫鏡像備份的文件放置的路徑,默認(rèn)值為 ./

dir /usr/local/redis/rdb 

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

#限制同時(shí)連接的客戶數(shù)量,當(dāng)連接數(shù)超過這個(gè)值時(shí),redis 將不再接收其他連接請求,客戶端嘗試連接時(shí)將收到 error 信息

maxclients 10000 

#最大可使用內(nèi)存。如果超過,Redis會試圖刪除EXPIRE集合中的keys

maxmemory 1G 

#volatile-lru使用LRU算法來刪除過期的set,allkeys-lru刪除任何遵循LRU算法的key,volatile-ttl刪除最近即將過期的key,volatile-random ->隨機(jī)地刪除過期set中的key

maxmemory-policy volatile-ttl 

#對于處理redis內(nèi)存來說,LRU和minor TTL算法不是精確的,而是近似的(估計(jì)的)算法。所以我們會檢查某些樣本#來達(dá)到內(nèi)存檢查的目的。默認(rèn)的樣本數(shù)是3,你可以修改它。

maxmemory-samples 3 

#默認(rèn)情況下,Redis會異步的把數(shù)據(jù)保存到硬盤。如果你的應(yīng)用場景允許因?yàn)橄到y(tǒng)崩潰等極端情況而導(dǎo)致最新數(shù)據(jù)丟失#的話,那這種做法已經(jīng)很ok了。否則你應(yīng)該打開‘a(chǎn)ppend only’模式,開啟這種模式后,Redis會在#appendonly.aof文件中添加每一個(gè)寫操作,這個(gè)文件會在Redis啟動時(shí)被讀取來在內(nèi)存中重新構(gòu)建數(shù)據(jù)集。

appendonly no

appendfilename "appendonly6381.aof"

#no:不fsync,只是通知OS可以flush數(shù)據(jù)了具體是否flush取決于OS性能更好; always: 每次寫入append only 日志文件后都會fsync性能差,但很安全;everysec: 沒間隔1秒進(jìn)行一次fsync折中.

appendfsync everysec 

no-appendfsync-on-rewrite no

auto-aof-rewrite-percentage 100

auto-aof-rewrite-min-size 64mb

aof-load-truncated yes

lua-time-limit 5000

cluster-enabled yes

cluster-config-file /usr/local/redis/nodes/6381.conf

cluster-node-timeout 5000

slowlog-log-slower-than 10000

slowlog-max-len 1024

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

2、啟動redis實(shí)例

/usr/local/redis/bin/redis-server /usr/local/redis/etc/6380.conf &

3、復(fù)制redis-trib.rb

cp /root/redis-3.0.0/src/redis-trib.rb /usr/local/redis/bin

4、啟動集群

/usr/local/redis/bin/redis-trib.rb create 10.144.8.86:7000 10.144.8.86:7001 10.144.8.86:7002

如果是6個(gè)實(shí)例,create 后加參數(shù)--replicas 1會產(chǎn)生3個(gè)主節(jié)點(diǎn),3個(gè)slave節(jié)點(diǎn)

執(zhí)行上面的命令的時(shí)候會報(bào)錯(cuò),因?yàn)槭菆?zhí)行的ruby的腳本,需要ruby的環(huán)境

錯(cuò)誤內(nèi)容:/usr/bin/env: ruby: No such file or directory

所以需要安裝ruby的環(huán)境,這里推薦使用yum install ruby安裝

yum install ruby

 

然后再執(zhí)行第6步的創(chuàng)建集群命令,還會報(bào)錯(cuò),提示缺少rubygems組件,使用yum安裝

 

錯(cuò)誤內(nèi)容:

./redis-trib.rb:24:in `require': no such file to load -- rubygems (LoadError)

from ./redis-trib.rb:24

yum install rubygems

6.3再次執(zhí)行第6步的命令,還會報(bào)錯(cuò),提示不能加載redis,是因?yàn)槿鄙賠edis和ruby的接口,使用gem 安裝

錯(cuò)誤內(nèi)容:

/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- redis (LoadError)

from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'

from ./redis-trib.rb:25

使用gem 安裝 :gem install redis

5、通過redis-trib.rb工具的check子命令來查看集群信息

/usr/local/redis/bin/redis-trib.rb check 127.0.0.1:6379

6、通過redis客戶端實(shí)現(xiàn)對Redis Cluster的讀寫。當(dāng)前,redis客戶端同樣實(shí)現(xiàn)了對集群的支持,但使用方法略有不同,即在啟動的時(shí)候需要添加一個(gè)-c參數(shù)。

/usr/local/redis/bin/redis-cli -c -h 127.0.0.1 -p 6379

http://blog.csdn.net/xu470438000/article/details/42972123

http://blog.csdn.net/myrainblues/article/details/25881535

Redis集群添加節(jié)點(diǎn)

1:首先把需要添加的節(jié)點(diǎn)啟動

2:執(zhí)行以下命令,將這個(gè)新節(jié)點(diǎn)添加到集群中

cd /usr/local/redis3.0/src/

./redis-trib.rb add-node 127.0.0.1:7006 127.0.0.1:7000

3:執(zhí)行命令redis-cli -c -p 7000 cluster nodes,查看剛才新增的節(jié)點(diǎn)

4:增加了新的節(jié)點(diǎn)之后,這個(gè)新的節(jié)點(diǎn)可以成為主節(jié)點(diǎn)或者是從節(jié)點(diǎn)

4.1 把這個(gè)節(jié)點(diǎn)變成主節(jié)點(diǎn),使用redis-trib程序,將集群中的某些哈希槽移動到新節(jié)點(diǎn)里面, 這個(gè)新節(jié)點(diǎn)就成為真正的主節(jié)點(diǎn)了。

執(zhí)行下面的命令對集群中的哈希槽進(jìn)行移動

cd /usr/local/redis3.0/src

./redis-trib.rb reshard 127.0.0.1:7000

系統(tǒng)會提示我們要移動多少哈希槽,這里移動1000個(gè)

然后還需要指定把這些哈希槽轉(zhuǎn)移到哪個(gè)節(jié)點(diǎn)上,

輸入我們剛才新增的節(jié)點(diǎn)的ID

f32dc088c881a6b930474fc5b52832ba2ff71899

然后需要我們指定轉(zhuǎn)移哪幾個(gè)幾點(diǎn)的哈希槽

輸入all 表示從所有的主節(jié)點(diǎn)中隨機(jī)轉(zhuǎn)移,湊夠1000個(gè)哈希槽

然后再輸入yes,redis集群就開始分配哈希槽了。

至此,一個(gè)新的主節(jié)點(diǎn)就添加完成了,執(zhí)行命令查看現(xiàn)在的集群中節(jié)點(diǎn)的狀態(tài)

redis-cli -c -p 7000 cluster nodes

4.2:把這個(gè)節(jié)點(diǎn)變成從節(jié)點(diǎn)

前面我們已經(jīng)把這個(gè)新節(jié)點(diǎn)添加到集群中了,現(xiàn)在我們要讓新節(jié)點(diǎn)成為127.0.0.1:7001的從節(jié)點(diǎn),只需要執(zhí)行下面的命令就可以了,命令后面的節(jié)點(diǎn)ID就是127.0.0.1:7001的節(jié)點(diǎn)ID

redis-cli -c -p 7006 cluster replicate 0b00721a509444db793d28448d8f02168b94bd38

使用下面命令來確認(rèn)一下127.0.0.1:7006是否已經(jīng)成為127.0.0.1:7001的從節(jié)點(diǎn)

 redis-cli -p 7000 cluster nodes | grep slave | grep 0b00721a509444db793d28448d8f02168b94bd38

看到下面圖片中的情況就表示添加成功

 

 

 

 

Redis集群刪除節(jié)點(diǎn)

1:如果刪除的節(jié)點(diǎn)是主節(jié)點(diǎn),這里我們刪除127.0.0.1:7006節(jié)點(diǎn),這個(gè)節(jié)點(diǎn)有1000個(gè)哈希槽

首先要把節(jié)點(diǎn)中的哈希槽轉(zhuǎn)移到其他節(jié)點(diǎn)中,執(zhí)行下面的命令

cd /usr/local/redis3.0/src

./redis-trib.rb reshard 127.0.0.1:7000

系統(tǒng)會提示我們要移動多少哈希槽,這里移動1000個(gè),因?yàn)?27.0.0.1:7006節(jié)點(diǎn)有1000個(gè)哈希槽

然后系統(tǒng)提示我們輸入要接收這些哈希槽的節(jié)點(diǎn)的ID,這里使用127.0.0.1:7001的節(jié)點(diǎn)ID

然后要我們選擇從那些節(jié)點(diǎn)中轉(zhuǎn)出哈希槽,這里一定要輸入127.0.0.1:7006這個(gè)節(jié)點(diǎn)的ID,最后輸入 done  表示輸入完畢

最后一步,使用下面的命令把這個(gè)節(jié)點(diǎn)刪除

cd /usr/local/redis3.0/src/

./redis-trib.rb del-node 127.0.0.1:7006 127.0.0.1:7006

2:如果節(jié)點(diǎn)是從節(jié)點(diǎn)的,直接使用下面的命令刪除即可。

cd /usr/local/redis3.0/src/

./redis-trib.rb del-node 127.0.0.1:7006 127.0.0.1:7006


名稱欄目:redis3.0集群安裝部署
當(dāng)前網(wǎng)址:http://weahome.cn/article/ggojco.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部