1. 程式人生 > >redis單機上部署集群

redis單機上部署集群

啟動 .net 端口 你會 新的 目錄 fault 設置 only

一、安裝單機redis

redis的安裝:版本至少是3.2.8及其以上,這裏以3.2.8版本為例說明

1.安裝redis

wget http://download.redis.io/releases/redis-3.2.8.tar.gz

tar xf redis-3.2.8.tar.gz

cd redis-3.2.8

make MALLOC=jemalloc

make PREFIX=/usr/local/redis install #在makeinstall 這一步指定安裝路徑

[root@150 bin]# tree /usr/local/redis/ 安裝完成

/usr/local/redis/

└── bin

├── redis-benchmark #redis性能測試工具,測試redis在你系統及你配置下的讀寫性能

├── redis-check-aof #更新日誌檢查

├── redis-check-rdb #用於本地數據庫檢查

├── redis-cli #redis命令行操作工具

├── redis-sentinel -> redis-server

└── redis-server #redis服務器的啟動程序

2.拷貝配置文件

mkdir /usr/local/redis/conf

cp /root/redis-3.2.8/redis.conf /usr/local/redis/conf/

優化PATH:

echo "export PATH=/usr/local/redis/bin/:$PATH" >>/etc/profile

source /etc/profile

3.啟動

redis-server /usr/local/redis/conf/redis.conf &

4.測試連接

方法一:

[root@150 ~]# redis-cli

127.0.0.1:6379>

127.0.0.1:6379> set 007 wangchuang

OK

127.0.0.1:6379> get 007

"wangchuang"

方法二:

[root@151 ~]# telnet 192.168.100.150 -p 6379 #需要在配置文件修改監聽地址

二、安裝redis機群

1、安裝ruby

首先安裝rvm,然後用rvm安裝ruby

1)安裝rvm

http://rvm.io/rvm/security #查看最新的key,下面的key可能會失效

[root@150 ~]# gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

[root@150 ~]# \curl -sSL https://get.rvm.io | bash -s stable

[root@150 ~]# source /usr/local/rvm/scripts/rvm

2) 查看RVM中ruby的版本:

rvm list known | grep ruby

3)選擇一個版本ruby版本安裝,這邊選擇的是ruby 2.4.1

rvm install 2.4.1

4) 使用ruby版本並設置為默認版本

rvm use 2.4.1 --default

5) 將ruby和gem放入到全局變量

如果是按照前面安裝的,ruby和gem的位置應該在/usr/local/rvm/rubies/ruby-2.4.1/bin/這個目錄下,如果不在,可以使用whereis ruby 和 whereis gem來查找,找到位置後,使用軟鏈命令

ln -s /usr/local/rvm/rubies/ruby-2.4.1/bin/gem /usr/bin/

ln -s /usr/local/rvm/rubies/ruby-2.4.1/bin/ruby /usr/bin/

到這裏ruby就安裝完成了

2、redis集群安裝

mkdir /usr/local/redis/redis-cluster/{7000..7005} -p

然後將etc目錄下的redis.conf復制到7000目錄下

cp /usr/local/redis/conf/redis.conf /usr/local/redis/redis-cluster/7000/

由於我們是做測試,並沒有啟動6個真正的物理節點,而是把6個Redis實例都部署在了同一臺Linux服務器上,為了區分Redis實例,我們是以不同的端口號來區分Redis實例的。然後我們修改Redis.conf的配置文件

cd /usr/local/redis/redis-cluster/7000/

vim redis.conf

主要修改內容如下:

61 bind 172.16.20.80 本機ip地址

84 port 7000 //端口號

128 daemonize yes //後臺運行

150 pidfile /var/run/redis-7000.pid //修改pid進程文件名,以端口號命名

163 logfile /usr/local/redis/redis-cluster/7000/redis.log //修改日誌文件名稱,以端口號為目錄來區分

247 dir /usr/local/redis/redis-cluster/7000/ //修改數據文件存放地址,以端口號為目錄名來區分

593 appendonly yes //啟動AOF增量持久化策略

622 appendfsync always //發生改變就記錄日誌

623 # appendfsync everysec #註釋掉這個=

721 cluster-enabled yes //註釋去掉,啟用集群

729 cluster-config-file nodes-7000.conf //配置每個節點的配置文件,同樣以端口號為名稱

修改保存後退出,然後將7000目錄下的redis.conf 分別復制到7001,7002,7003,7004,7005目錄下,在不同目錄下將7000替換成當前目錄的數字就可以了。在Linux的vi編輯中,進入末行模式(shift加上:),%s/7000/7001/g,這樣就將所有的7000替換成了7001,然後保存退出,依次類推。

拷貝到7001-7005上,並修改

for i in `seq 7001 7005`;do cp /usr/local/redis/redis-cluster/7000/redis.conf /usr/local/redis/redis-cluster/$i/ ;done

for i in `seq 7001 7005`;do sed -i "s/7000/$i/g" /usr/local/redis/redis-cluster/$i/redis.conf ;done

1.3.2 安裝redis-cluster的ruby接口

在/usr/local/redis/bin/下運行: gem install redis

1.3.3 啟動:

在/usr/local/redis/redis_cluster下,運行

for i in `seq 7000 7005`;do redis-server /usr/local/redis/redis-cluster/$i/redis.conf ;done

然後運行:

redis-trib.rb create --replicas 1 本機ip:7000 本機ip:7001 本機ip:7002 本機ip:7003 本機ip:7004 本機ip:7005

ruby /root/redis-3.2.8/src/redis-trib.rb create --replicas 1 172.16.20.80:7000 172.16.20.80:7001 172.16.20.80:7002 172.16.20.80:7003 172.16.20.80:7004 172.16.20.80:7005

如果一切順利,你會看到類似這樣的消息: [OK] All 16384 slots covered

結語:至此redis的單機與集群的安裝和啟動就成功了

redis單機上部署集群