linux (centos) 安裝redis,集羣+主從模式搭建

--環境
centos7.5


1.官網下載安裝包 redis-5.0.7.tar.gz (最新的穩定版本)

2.上傳至服務器安裝目錄/home,解壓安裝包
cp redis-5.0.7.tar.gz /home/
tar -xvf redis-5.0.7.tar.gz 

3.安裝依賴包gcc
yum install gcc 

4.編譯安裝
cd  redis-5.0.7
make && make install 

5.執行初始化腳本 
cd redis-5.0.7/utils/
./install_server.sh   


6.編輯修改配置文件

vim /etc/redis/6379.conf 
找到第70行的bind  127.0.0.1
改爲:bind 0.0.0.0

7.重啓redis
/etc/init.d/redis_6379 stop
/etc/init.d/redis_6379 start

--配置集羣測試(單機),集羣模式至少需要六個redis節點,六個配置文件不能在同一目錄
進入redis安裝目錄
[root@k8s init.d]# cd /home/redis-5.0.7

創建config目錄
[root@k8s redis-5.0.7]# mkdir config
[root@k8s redis-5.0.7]# cd config/

在config目錄下創建主從節點配置文件,並啓動,啓動命令需要在子文件夾下。因爲nodes.conf文件是生成在當前目錄的。

節點1:
mkdir 6380
cd 6380

vi redis-6380.conf

bind 0.0.0.0
port 6380
logfile "6380.log"
dbfilename "dump-6380.rdb"
daemonize yes
rdbcompression yes
cluster-enabled yes 
cluster-config-file nodes.conf
cluster-node-timeout 5000 
appendonly yes
protected-mode no 
pidfile  /var/run/redis_6380.pid


/home/redis-5.0.7/src/redis-server /home/redis-5.0.7/config/6380/redis-6380.conf

節點2:
mkdir 6381
cd 6381

vi redis-6381.conf

bind 0.0.0.0
port 6381
logfile "6381.log"
dbfilename "dump-6381.rdb"
daemonize yes
rdbcompression yes
cluster-enabled yes 
cluster-config-file nodes.conf
cluster-node-timeout 5000 
appendonly yes
protected-mode no 
pidfile  /var/run/redis_6381.pid

/home/redis-5.0.7/src/redis-server /home/redis-5.0.7/config/6381/redis-6381.conf

節點3:
mkdir 6382
cd 6382

vi redis-6382.conf

bind 0.0.0.0
port 6382
logfile "6382.log"
dbfilename "dump-6382.rdb"
daemonize yes
rdbcompression yes
cluster-enabled yes 
cluster-config-file nodes.conf
cluster-node-timeout 5000 
appendonly yes
protected-mode no 
pidfile  /var/run/redis_6382.pid

/home/redis-5.0.7/src/redis-server /home/redis-5.0.7/config/6382/redis-6382.conf

節點4:
mkdir 6383
cd 6383

vi redis-6383.conf

bind 0.0.0.0
port 6383
logfile "6383.log"
dbfilename "dump-6383.rdb"
daemonize yes
rdbcompression yes
cluster-enabled yes 
cluster-config-file nodes.conf
cluster-node-timeout 5000 
appendonly yes
protected-mode no 
pidfile  /var/run/redis_6383.pid

/home/redis-5.0.7/src/redis-server /home/redis-5.0.7/config/6383/redis-6383.conf


節點5:
mkdir 6384
cd 6384

vi redis-6384.conf

bind 0.0.0.0
port 6384
logfile "6384.log"
dbfilename "dump-6384.rdb"
daemonize yes
rdbcompression yes
cluster-enabled yes 
cluster-config-file nodes.conf
cluster-node-timeout 5000 
appendonly yes
protected-mode no 
pidfile  /var/run/redis_6384.pid

/home/redis-5.0.7/src/redis-server /home/redis-5.0.7/config/6384/redis-6384.conf

節點6:
mkdir 6385
cd 6385

vi redis-6385.conf

bind 0.0.0.0
port 6385
logfile "6385.log"
dbfilename "dump-6385.rdb"
daemonize yes
rdbcompression yes
cluster-enabled yes 
cluster-config-file nodes.conf
cluster-node-timeout 5000 
appendonly yes
protected-mode no
pidfile  /var/run/redis_6385.pid

/home/redis-5.0.7/src/redis-server /home/redis-5.0.7/config/6385/redis-6385.conf


[root@k8s 6385]# ps -ef |grep redis
root      42739      1  0 13:12 ?        00:00:00 /home/redis-5.0.7/src/redis-server 0.0.0.0:6381 [cluster]
root      42753      1  0 13:13 ?        00:00:00 /home/redis-5.0.7/src/redis-server 0.0.0.0:6380 [cluster]
root      42761      1  0 13:17 ?        00:00:00 /home/redis-5.0.7/src/redis-server 0.0.0.0:6382 [cluster]
root      42768      1  0 13:18 ?        00:00:00 /home/redis-5.0.7/src/redis-server 0.0.0.0:6383 [cluster]
root      42774      1  0 13:18 ?        00:00:00 /home/redis-5.0.7/src/redis-server 0.0.0.0:6384 [cluster]
root      42780      1  1 13:18 ?        00:00:00 /home/redis-5.0.7/src/redis-server 0.0.0.0:6385 [cluster]
root      42785  33683  0 13:18 pts/0    00:00:00 grep --color=auto redis

--創建redis cluster
redis-cli --cluster create 192.168.3.5:6380 192.168.3.5:6381 192.168.3.5:6382 192.168.3.5:6383 192.168.3.5:6384 192.168.3.5:6385 --cluster-replicas 1


>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 192.168.3.5:6384 to 192.168.3.5:6380
Adding replica 192.168.3.5:6385 to 192.168.3.5:6381
Adding replica 192.168.3.5:6383 to 192.168.3.5:6382
>>> Trying to optimize slaves allocation for anti-affinity
[WARNING] Some slaves are in the same host as their master
M: fc567758cab9c7ee6dae22872b7329d70e838733 192.168.3.5:6380
   slots:[0-5460] (5461 slots) master
M: 54bd34e85c120862f0ceac8f19e0ff5d5b61fd1a 192.168.3.5:6381
   slots:[5461-10922] (5462 slots) master
M: db3bc86e8337031f4ba5002430b8d3ec6bfd82cc 192.168.3.5:6382
   slots:[10923-16383] (5461 slots) master
S: d487d3b475cfb1e13224787b603cd9a433a340f1 192.168.3.5:6383
   replicates 54bd34e85c120862f0ceac8f19e0ff5d5b61fd1a
S: 241f2eda3be02561fb0361ea91cf4d40e50a47ac 192.168.3.5:6384
   replicates db3bc86e8337031f4ba5002430b8d3ec6bfd82cc
S: d7ec771a2fc3845c08bb3b9d219a26603532b67a 192.168.3.5:6385
   replicates fc567758cab9c7ee6dae22872b7329d70e838733
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 192.168.3.5:6380)
M: fc567758cab9c7ee6dae22872b7329d70e838733 192.168.3.5:6380
   slots:[0-5460] (5461 slots) master
   1 additional replica(s)
M: 54bd34e85c120862f0ceac8f19e0ff5d5b61fd1a 192.168.3.5:6381
   slots:[5461-10922] (5462 slots) master
   1 additional replica(s)
S: 241f2eda3be02561fb0361ea91cf4d40e50a47ac 192.168.3.5:6384
   slots: (0 slots) slave
   replicates db3bc86e8337031f4ba5002430b8d3ec6bfd82cc
S: d7ec771a2fc3845c08bb3b9d219a26603532b67a 192.168.3.5:6385
   slots: (0 slots) slave
   replicates fc567758cab9c7ee6dae22872b7329d70e838733
M: db3bc86e8337031f4ba5002430b8d3ec6bfd82cc 192.168.3.5:6382
   slots:[10923-16383] (5461 slots) master
   1 additional replica(s)
S: d487d3b475cfb1e13224787b603cd9a433a340f1 192.168.3.5:6383
   slots: (0 slots) slave
   replicates 54bd34e85c120862f0ceac8f19e0ff5d5b61fd1a
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

--6個節點默認是3主,3從

--集羣關閉
redis-cli -c -p 6380 shutdown
redis-cli -c -p 6381 shutdown
redis-cli -c -p 6382 shutdown
redis-cli -c -p 6383 shutdown
redis-cli -c -p 6384 shutdown
redis-cli -c -p 6385 shutdown

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章