yum -y install gcc*node
cd /usr/local/redis
mkdir redisvim
將redis放到redis目錄下centos
tar -vxf redis-3.2.5.tar.gzruby
cd redis-3.2.5.tar.gzapp
make && make install工具
cd src測試
./redis-servercentos7
看到這個界面redis單機版啓動成功,驗證:
另外打開一個鏈接,到根目錄下執行spa
cd /usr/local/redis/redis-3.2.5/src/
./redis-cli
ping
在redis安裝目錄下建立redis_cluster目錄:
mkdir redis_cluster
在redis_cluster中建立子目錄:
cd redis_cluster/
mkdir 7000
mkdir 7001
mkdir 7002
mkdir 7003
mkdir 7004
mkdir 7005
修改每一個redis.conf的配置,
cp redis.conf ./redis_cluster/
cd ./redis_cluster/
vim redis.conf
須要修改的內容以下:
port 7000 //配置集羣的端口,分別是7000、7001、7002
bind 本機的IP //這裏的默認配置是127.0.0.1改成內網ip。
daemonize yes //容許redis在後臺運行
pidfile /var/run/redis_7000.pid //改爲和端口一致
cluster-enabled yes // 開啓集羣 把註釋去掉
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-config-file node_7000.conf //集羣的配置,和端口一致
cluster-node-timeout 15000 // 請求超時,默認爲15秒
appendonly yes // aof日誌開啓,有須要就開啓,每一次寫操做都會記錄一條日誌。
保存退出
將redis.conf拷貝到這三個目錄中去:(redis.conf在安裝目錄下)
cp redis.conf ./7000
cp redis.conf ./7001
cp redis.conf .//7002
...
修改每一個目錄下redis.conf文件的端口和配置
cd 7001/
vim redis.conf
修改完成以後啓動服務:
cd ../../src/
./redis-server ../redis_cluster/7000/redis.conf
查看啓動狀況:
mkdir /usr/local/ruby
cd ruby/
把包放到改目錄下
tar -xvf ruby-2.4.1.tar
cd ruby-2.4.1
./configure
make && make install
驗證:
ruby -v
cd /usr/local
mkdir rubygems
把文件放到該目錄下
tar -vzxf rubygems-2.7.4.tgz
cd rubygems-2.7.4/
ruby setup.rb
這個問題和zlib的解決方案相似,可類比解決。
cd /usr/local
mkdir openssl
tar -xvf openssl-1.0.2n.tar.gz
./config -fPIC --prefix=/usr/local/openssl enable-shared
./config -t
make && make install
cd /usr/local/ruby/ruby-2.5.0/ext/openssl/
ruby extconf.rb --with-openssl-include=/usr/local/openssl/include/ --with-openssl-lib=/usr/local/openssl/lib
make
make install
剛剛安裝rubygems就是爲了安裝這個插件。
把文件放到 /usr/local/redis 目錄下。
gem install redis-3.2.2.gem
cd /usr/local/redis/redis-4.0.7/src
./redis-trib.rb create --replicas 1 192.168.1.155:7000 192.168.1.155:7001 192.168.1.155:7002 192.168.1.155:7003 192.168.1.155:7004 192.168.1.155:7005
而後測試一下集羣:
隨便鏈接一個節點:
./redis-cli -h 192.168.1.155 -p 7005 -c
set test1 'test001'
而後再鏈接另一個節點:
./redis-cli -h 192.168.1.155 -p 7001 -c
> get test1
到此集羣建立成功!
可使用可視化工具查看和管理redis集羣。
./redis-trib.rb create --replicas 1 192.168.80.230:7000 192.168.80.230:7001 192.168.80.230:7002 192.168.80.231:7003 192.168.80.231:7004 192.168.80.231:7005
cd /usr/local/redis/redis-4.0.7/src
./redis-cli -p 7003 -c -h 192.168.80.231
參數說明: -p port 端口 -h host 主機 -c cluster 集羣
鏈接進集羣以後 輸入ping , 若是響應了pong 表示鏈接集羣成功:
鏈接進集羣以後能夠查看當前集羣的信息和節點的信息
CLUSTER INFO 列出當前節點的信息
CLUSTER NODES 列出當前集羣中的節點信息
前面一段很長的字符串就是節點的id。從這個命令能夠知道哪些節點還活着,哪些節點已經掛了。端口後面帶着fail的都是掛掉的節點。
退出集羣鏈接才能關閉某一個節點:
./redis-cli -c -h 192.168.80.230 -p 7000 shutdown
這條命令的意思是關閉230機器上端口爲7000的redis節點。
關閉以後能夠鏈接集羣去執行 CLUSTER NODES ,這個節點的狀態已是fail。
添加一個節點以前務必保證該節點已經啓動了,若是該節點以前在建立集羣時已經在集羣裏面了,關閉該節點而後再從新啓動,該節點會自動加入集羣。
./redis-server ../redis_cluster/7000/redis.conf
而後鏈接進集羣,若是該節點以前不在集羣中,鏈接集羣輸入cluster meet 命令就能夠指定某個節點加入集羣。
CLUSTER MEET 192.168.80.230:7000
CLUSTER forget fd72b78b1eaa430ca309bc5226d90fe67199a576
這個一長段字符串是節點的id,forget以後能夠再去看節點的信息。
forget以後,若是一分鐘不進行任何操做,該節點會自動加入集羣。