環境:node
centOs系統redis
1、安裝redis:shell
1.下載安裝(先裝c編譯器yum -y install gcc)vim
$ wget http://download.redis.io/releases/redis-4.0.6.tar.gz $ tar xzf redis-4.0.6.tar.gz $ cd redis-4.0.6 $ make
2.啓動:api
src/redis-server
3.交互ruby
$ src/redis-cli redis> set foo bar OK redis> get foo "bar"
2、多節點集羣搭建的配置工做:bash
其實就是啓動的配置文件redis.conf不同,下面是步驟:app
1.根目錄下建立 redis_cluster文件夾,cd進去:curl
建立目錄:mkdir 7001 7002 7003 7004 7005 7006測試
2.複製redis目錄下的redis.conf文件到/redis_cluster目錄下
cp /opt/redis/redis-4.0.6/redis.conf 7001/
修改文件:
port 7001 //六個節點配置文件分別是7001-7006
daemonize yes //redis後臺運行
pidfile /var/run/redis_7001.pid //pidfile文件對應7001-7006
cluster-enabled yes //開啓集羣
cluster-config-file nodes_7001.conf //保存節點配置,自動建立,自動更新對應7001-7006
cluster-node-timeout 5000 //集羣超時時間,節點超過這個時間沒反應就判定是宕機
appendonly yes //存儲方式,aof,將寫操做記錄保存到日誌中
3.複製到7002/ 7003/ ...並修在相應位置修改
4.寫一個啓動shell腳本
cd /opt/redis/redis-4.0.6
src/redis-server /redis_cluster/7001/redis.conf
src/redis-server /redis_cluster/7002/redis.conf
src/redis-server /redis_cluster/7003/redis.conf
src/redis-server /redis_cluster/7004/redis.conf
src/redis-server /redis_cluster/7005/redis.conf
src/redis-server /redis_cluster/7006/redis.conf
執行腳本,啓動6個節點。
查看進程:
[root@master redis-4.0.6]# ps -ef|grep redis
root 1674 1458 0 Jan14 pts/0 00:00:00 vim 7001/redis.conf
root 2681 1 0 01:08 ? 00:00:00 src/redis-server 127.0.0.1:7001 [cluster]
root 2686 1 0 01:09 ? 00:00:00 src/redis-server 127.0.0.1:7002 [cluster]
root 2691 1 0 01:09 ? 00:00:00 src/redis-server 127.0.0.1:7003 [cluster]
root 2696 1 0 01:09 ? 00:00:00 src/redis-server 127.0.0.1:7004 [cluster]
root 2701 1 0 01:09 ? 00:00:00 src/redis-server 127.0.0.1:7005 [cluster]
root 2706 1 0 01:09 ? 00:00:00 src/redis-server 127.0.0.1:7006 [cluster]
root 2719 2026 0 01:09 pts/1 00:00:00 grep --color=auto redis
這裏6個節點都跑上了。
幹掉全部redis進程:
[root@master ~]# pkill -9 redis
[root@master ~]# ps -ef|grep redis
root 1674 1458 0 Jan14 pts/0 00:00:00 vim 7001/redis.conf
root 3047 2026 0 01:39 pts/1 00:00:00 grep --color=auto redis
三.安裝ruby
安裝ruby-2.2.7:
yum install curl
curl -L get.rvm.io | bash -s stable
curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
curl -L get.rvm.io | bash -s stable
find / -name rvm.sh
source /etc/profile.d/rvm.sh
rvm list known
rvm install ruby-2.2.7
rvm info //查看信息,這裏安裝結束
rvm use ruby-2.2.7 --default
yum install rubygems
gem install redis //安裝redis插件
四.建立集羣
複製redis解壓文件src下的redis-trib.rb文件到redis-cluster目錄
cp src/redis-trib.rb /redis_cluster/
cd到/redis_cluster目錄下
[root@master redis_cluster]# ./redis-trib.rb create --replicas 1 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 127.0.0.1:7006
使用create命令 --replicas 1 參數表示爲每一個主節點建立一個從節點,其餘參數是實例的地址集合。
下面是集羣輸出信息:
主節點 -- 從節點
7001 7004
7002 7005
7003 7006
集羣搭建成功
五.測試
cd /opt/redis/redis-4.0.6/src/ cd到redis的src目錄下
./redis-cli -c -p 7001 集羣鏈接須要參數 -c -p 端口號
可見,name-andy存在了端口號爲7002的redis上,而name1-haha存在了端口號爲7003的redis上.