欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

CentOS 7下安裝 redis 3.0.6并配置集群的過程詳解

 更新時(shí)間:2017年01月31日 09:21:26   作者:不爭  
這篇文章主要給大家介紹了CentOS 7下安裝 redis 3.0.6并配置集群的過程,文中通過示例代碼和詳細(xì)的步驟介紹的很相信,對大家具有一定的參考價(jià)值,有需要的朋友們下面來一起看看吧。

安裝依賴

[root@centos7-1 ~]# yum -y install gcc openssl-devel libyaml-devel libffi-devel readline-devel zlib-devel gdbm-devel ncurses-devel gcc-c++ automake autoconf

安裝 redis

[root@centos7-1 ~]# wget http://download.redis.io/releases/redis-3.0.6.tar.gz
[root@centos7-1 ~]# tar xvf redis-3.0.6.tar.gz
[root@centos7-1 ~]# cd redis-3.0.6/
[root@centos7-1 redis-3.0.6]# make MALLOC=libc
[root@centos7-1 redis-3.0.6]# make install

啟動(dòng) server

通過命令 redis-server 來啟動(dòng) redis server。通過下面的輸出信息可以看出這次啟動(dòng)并沒有指定配置文件,可以使用命令 redis-server /path/to/redis.conf 來指定具體的配置文件啟動(dòng)。

[root@centos7-1 redis-3.0.6]# redis-server 
4435:C 25 Jan 11:40:48.816 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
4435:M 25 Jan 11:40:48.817 * Increased maximum number of open files to 10032 (it was originally set to 1024).
    _._             
   _.-``__ ''-._            
  _.-`` `. `_. ''-._   Redis 3.0.6 (00000000/0) 64 bit
 .-`` .-```. ```\/ _.,_ ''-._         
 ( '  ,  .-` | `, )  Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|  Port: 6379
 | `-._ `._ /  _.-' |  PID: 4435
 `-._ `-._ `-./ _.-' _.-'         
 |`-._`-._ `-.__.-' _.-'_.-'|         
 | `-._`-._  _.-'_.-' |   http://redis.io  
 `-._ `-._`-.__.-'_.-' _.-'         
 |`-._`-._ `-.__.-' _.-'_.-'|         
 | `-._`-._  _.-'_.-' |         
 `-._ `-._`-.__.-'_.-' _.-'         
  `-._ `-.__.-' _.-'          
   `-._  _.-'           
    `-.__.-'            
4435:M 25 Jan 11:40:48.817 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
4435:M 25 Jan 11:40:48.817 # Server started, Redis version 3.0.6
4435:M 25 Jan 11:40:48.817 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
4435:M 25 Jan 11:40:48.817 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
4435:M 25 Jan 11:40:48.817 * DB loaded from disk: 0.000 seconds
4435:M 25 Jan 11:40:48.817 * The server is now ready to accept connections on port 6379

到此,單節(jié)點(diǎn)的 Redis server 已經(jīng)安裝完畢,以下進(jìn)入配置和安裝集群的過程。

創(chuàng)建集群中的6個(gè)節(jié)點(diǎn)

集群配置文件

集群相關(guān)的配置文件主要修改 redis.conf 中的一下幾個(gè)地方,因?yàn)槎疾渴鹪谝粋€(gè)服務(wù)器上,每個(gè)節(jié)點(diǎn)的端口不同。

[root@centos7-1 redis-3.0.6]$ vi redis.conf 
#修改以下地方
port 7000
cluster-enabled yes
cluster-config-file nodes-7000.conf
cluster-node-timeout 5000
appendonly yes

每個(gè)節(jié)點(diǎn)的配置文件

創(chuàng)建6個(gè)文件夾,分別表示一個(gè) redis 節(jié)點(diǎn),文件夾使用 redis 節(jié)點(diǎn)的端口號(hào)命名,文件里存放每個(gè)節(jié)點(diǎn)的配置文件。

[root@centos7-1 redis-3.0.6]# mkdir /usr/local/redis-cluster
[root@centos7-1 redis-3.0.6]# cd /usr/local/redis-cluster
[root@centos7-1 redis-cluster]# mkdir 7000 7001 7002 7003 7004 7005

拷貝 redis.conf 拷貝到6個(gè)文件夾中

[root@centos7-1 redis-cluster]# cp ~/redis-3.0.6/redis.conf 7000
[root@centos7-1 redis-cluster]# cp ~/redis-3.0.6/redis.conf 7001
[root@centos7-1 redis-cluster]# cp ~/redis-3.0.6/redis.conf 7002
[root@centos7-1 redis-cluster]# cp ~/redis-3.0.6/redis.conf 7003
[root@centos7-1 redis-cluster]# cp ~/redis-3.0.6/redis.conf 7004
[root@centos7-1 redis-cluster]# cp ~/redis-3.0.6/redis.conf 7005

并修改每個(gè)配置中的內(nèi)容為各自節(jié)點(diǎn)的端口,注意 port cluster-config-file 的值必須唯一。

分別啟動(dòng)每個(gè)節(jié)點(diǎn)

[root@centos7-1 ~]# redis-server /usr/local/redis-cluster/7000/redis.conf
[root@centos7-1 ~]# redis-server /usr/local/redis-cluster/7001/redis.conf
[root@centos7-1 ~]# redis-server /usr/local/redis-cluster/7002/redis.conf
[root@centos7-1 ~]# redis-server /usr/local/redis-cluster/7003/redis.conf
[root@centos7-1 ~]# redis-server /usr/local/redis-cluster/7004/redis.conf
[root@centos7-1 ~]# redis-server /usr/local/redis-cluster/7005/redis.conf

啟動(dòng)完成后查看進(jìn)程

[root@centos7-1 ~]# ps -ef | grep redis
root  4704 2177 0 12:12 pts/0 00:00:07 redis-server *:7000 [cluster]
root  4707 4599 0 12:12 pts/1 00:00:07 redis-server *:7001 [cluster]
root  4710 4638 0 12:12 pts/2 00:00:07 redis-server *:7002 [cluster]
root  4752 4717 0 12:12 pts/3 00:00:07 redis-server *:7003 [cluster]
root  4788 4759 0 12:12 pts/4 00:00:07 redis-server *:7004 [cluster]
root  4824 4795 0 12:13 pts/5 00:00:07 redis-server *:7005 [cluster]
root  9018 8984 0 14:08 pts/6 00:00:00 grep --color=auto redis

建立 Redis 集群

上面的步驟分別創(chuàng)建了6個(gè)節(jié)點(diǎn),并已經(jīng)啟動(dòng),這里要把這6個(gè)節(jié)點(diǎn)加入到一個(gè)集群里面。redis 已經(jīng)為我們提供了集群操作的腳本 redis-trib.rb , 操作起來很簡單, 繼續(xù)。

安裝 ruby

由于集群操作需要用到 ruby 腳本 redis-trib.rb , 所以要安裝 ruby 和 rubygems

[root@centos7-1 ~]# yum -y install ruby rubygems
[root@centos7-1 ~]# gem install redis --version 3.0.6
Fetching: redis-3.0.6.gem (100%)
Successfully installed redis-3.0.6
Parsing documentation for redis-3.0.6
Installing ri documentation for redis-3.0.6
1 gem installed

redis-trib.rb 是一個(gè) ruby 腳本工具,用來建立和管理 redis 集群,因?yàn)槭褂帽容^頻繁,所以拷貝腳本 redis-trib.rb /usr/local/bin/

[root@centos7-1 redis-3.0.6]$ cp src/redis-trib.rb /usr/local/bin/

創(chuàng)建集群

[root@centos7-1 ~]# redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
>>> Creating cluster
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
127.0.0.1:7000
127.0.0.1:7001
127.0.0.1:7002
Adding replica 127.0.0.1:7003 to 127.0.0.1:7000
Adding replica 127.0.0.1:7004 to 127.0.0.1:7001
Adding replica 127.0.0.1:7005 to 127.0.0.1:7002
M: d900d3667196121f95bdbd68ca2317926a6950bc 127.0.0.1:7000
 slots:0-5460 (5461 slots) master
M: b662853288cc89a3b78f70120d57c0a34f6a91d5 127.0.0.1:7001
 slots:5461-10922 (5462 slots) master
M: 6dc5ee101c2432ec4c1d934d54a6a3565116bbff 127.0.0.1:7002
 slots:10923-16383 (5461 slots) master
S: d18e50ac6aff2f612fac43da74a79288aa574c87 127.0.0.1:7003
 replicates d900d3667196121f95bdbd68ca2317926a6950bc
S: 85f6455e14d03ebaefeca3dbe3c78c92f2f76ead 127.0.0.1:7004
 replicates b662853288cc89a3b78f70120d57c0a34f6a91d5
S: 89d792acda7f2c99c95b0d3947572647cf9edc67 127.0.0.1:7005
 replicates 6dc5ee101c2432ec4c1d934d54a6a3565116bbff
Can I set the above configuration? (type 'yes' to accept): yes
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join..
>>> Performing Cluster Check (using node 127.0.0.1:7000)
M: d900d3667196121f95bdbd68ca2317926a6950bc 127.0.0.1:7000
 slots:0-5460 (5461 slots) master
M: b662853288cc89a3b78f70120d57c0a34f6a91d5 127.0.0.1:7001
 slots:5461-10922 (5462 slots) master
M: 6dc5ee101c2432ec4c1d934d54a6a3565116bbff 127.0.0.1:7002
 slots:10923-16383 (5461 slots) master
M: d18e50ac6aff2f612fac43da74a79288aa574c87 127.0.0.1:7003
 slots: (0 slots) master
 replicates d900d3667196121f95bdbd68ca2317926a6950bc
M: 85f6455e14d03ebaefeca3dbe3c78c92f2f76ead 127.0.0.1:7004
 slots: (0 slots) master
 replicates b662853288cc89a3b78f70120d57c0a34f6a91d5
M: 89d792acda7f2c99c95b0d3947572647cf9edc67 127.0.0.1:7005
 slots: (0 slots) master
 replicates 6dc5ee101c2432ec4c1d934d54a6a3565116bbff
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

以上 create 命令創(chuàng)建了集群,選項(xiàng) –replicas 1 表示每個(gè) Master 都需要一個(gè) Slave。所以結(jié)果是集群中創(chuàng)建了3個(gè) Master 節(jié)點(diǎn) 和 3個(gè) Slave 節(jié)點(diǎn)。

上面信息中 M 表示 Master 節(jié)點(diǎn), S 表示 Slave 節(jié)點(diǎn)。

由此可以看出三組 Master Slave 關(guān)系如下:

M: d900d3667196121f95bdbd68ca2317926a6950bc -> S: d18e50ac6aff2f612fac43da74a79288aa574c87
M: 6dc5ee101c2432ec4c1d934d54a6a3565116bbff -> S: 89d792acda7f2c99c95b0d3947572647cf9edc67
M: b662853288cc89a3b78f70120d57c0a34f6a91d5 -> S: 85f6455e14d03ebaefeca3dbe3c78c92f2f76ead

檢測集群的狀態(tài)

[root@centos7-1 ~]# redis-trib.rb check 127.0.0.1:7000
>>> Performing Cluster Check (using node 127.0.0.1:7000)
M: d900d3667196121f95bdbd68ca2317926a6950bc 127.0.0.1:7000
 slots:0-5460 (5461 slots) master
 1 additional replica(s)
M: 6dc5ee101c2432ec4c1d934d54a6a3565116bbff 127.0.0.1:7002
 slots:10923-16383 (5461 slots) master
 1 additional replica(s)
S: 89d792acda7f2c99c95b0d3947572647cf9edc67 127.0.0.1:7005
 slots: (0 slots) slave
 replicates 6dc5ee101c2432ec4c1d934d54a6a3565116bbff
S: d18e50ac6aff2f612fac43da74a79288aa574c87 127.0.0.1:7003
 slots: (0 slots) slave
 replicates d900d3667196121f95bdbd68ca2317926a6950bc
S: 85f6455e14d03ebaefeca3dbe3c78c92f2f76ead 127.0.0.1:7004
 slots: (0 slots) slave
 replicates b662853288cc89a3b78f70120d57c0a34f6a91d5
M: b662853288cc89a3b78f70120d57c0a34f6a91d5 127.0.0.1:7001
 slots:5461-10922 (5462 slots) master
 1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

測試集群

利用 redis-cli -c -p 端口號(hào) 連接集群

[root@centos7-1 ~]# redis-cli -c -p 7000
127.0.0.1:7000> get hello
(nil)
127.0.0.1:7000> set hello "hello world"
OK
127.0.0.1:7000> get hello
"hello world"
127.0.0.1:7000> get name 
-> Redirected to slot [5798] located at 127.0.0.1:7001
(nil)
127.0.0.1:7001> set name "redis server"
OK
127.0.0.1:7001> get name
"redis server"

總結(jié)

上就是關(guān)于在CentOS 7系統(tǒng)下安裝redis 3.0.6并配置集群的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

相關(guān)文章

  • 16個(gè)Redis的常見使用場景

    16個(gè)Redis的常見使用場景

    這篇文章主要介紹了Redis 常見使用場景的相關(guān)資料,需要的朋友可以參考下文
    2021-08-08
  • Redis執(zhí)行Lua腳本的好處與示例代碼

    Redis執(zhí)行Lua腳本的好處與示例代碼

    Redis在2.6推出了腳本功能,允許開發(fā)者使用Lua語言編寫腳本傳到Redis中執(zhí)行。下面這篇文章主要給大家介紹了關(guān)于Redis執(zhí)行Lua腳本的好處與示例代碼,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-10-10
  • 使用Redis實(shí)現(xiàn)用戶積分排行榜的教程

    使用Redis實(shí)現(xiàn)用戶積分排行榜的教程

    這篇文章主要介紹了使用Redis實(shí)現(xiàn)用戶積分排行榜的教程,包括一個(gè)用PHP腳本進(jìn)行操作的例子,需要的朋友可以參考下
    2015-04-04
  • Redis如何實(shí)現(xiàn)計(jì)數(shù)統(tǒng)計(jì)

    Redis如何實(shí)現(xiàn)計(jì)數(shù)統(tǒng)計(jì)

    這篇文章主要介紹了Redis如何實(shí)現(xiàn)計(jì)數(shù)統(tǒng)計(jì)方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • 解決redis啟動(dòng)的警告日志問題

    解決redis啟動(dòng)的警告日志問題

    這篇文章主要介紹了解決redis啟動(dòng)的警告日志問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 詳解SSH框架和Redis的整合

    詳解SSH框架和Redis的整合

    本篇文章主要介紹了SSH框架和Redis的整合,詳細(xì)的介紹了Struts+Spring+Hibernate和Redis整合,有興趣的可以了解一下。
    2017-03-03
  • Redis 2.8-4.0過期鍵優(yōu)化過程全紀(jì)錄

    Redis 2.8-4.0過期鍵優(yōu)化過程全紀(jì)錄

    這篇文章主要給大家介紹了關(guān)于Redis 2.8-4.0過期鍵優(yōu)化的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Redis具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 基于Redis實(shí)現(xiàn)分布式鎖以及任務(wù)隊(duì)列

    基于Redis實(shí)現(xiàn)分布式鎖以及任務(wù)隊(duì)列

    這篇文章主要介紹了基于Redis實(shí)現(xiàn)分布式鎖以及任務(wù)隊(duì)列,需要的朋友可以參考下
    2015-11-11
  • redis3.2配置文件redis.conf詳細(xì)說明

    redis3.2配置文件redis.conf詳細(xì)說明

    redis3.2配置詳解,Redis啟動(dòng)的時(shí)候,可以指定配置文件,詳細(xì)說明請看本文說明
    2018-03-03
  • Redis隊(duì)列和阻塞隊(duì)列的實(shí)現(xiàn)

    Redis隊(duì)列和阻塞隊(duì)列的實(shí)現(xiàn)

    本文主要介紹了Redis隊(duì)列和阻塞隊(duì)列的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11

最新評(píng)論