1. 程式人生 > 實用技巧 >redis4.0.14 cluster 搭建

redis4.0.14 cluster 搭建

redis3、4搭建cluster

#!/bin/bash

yum -y install make gcc jemalloc-devel  wget

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

groupadd -r redis

useradd -r -g redis -d /data/redis redis

tar xf  redis-4.0.14.tar.gz  -C /usr/local/src

cd /usr/local/src/redis-4.0.14/

make install PREFIX=/apps/redis4

echo "
PATH=/apps/redis4/bin:$PATH" > /etc/profile.d/path.sh . /etc/profile.d/path.sh cp /usr/local/src/redis-4.0.14/redis.conf /etc/redis.conf sed -Ei 's/^(bind ).*/\10.0.0.0/' /etc/redis.conf sed -Ei 's/^(daemonize ).*/\1yes/' /etc/redis.conf sed -Ei 's/^(dir ).*/\1\/apps\/redis4/' /etc/redis.conf chown redis.redis /apps/redis4 -R cat > /lib/systemd/system/redis.service <<EOF [Unit] Description
=Redis persistent key-value database After=network.target [Service] ExecStart=/apps/redis4/bin/redis-server /etc/redis.conf --supervised systemd ExecStop=/bin/kill -s QUIT $MAINPID Type=notify User=redis Group=redis RuntimeDirectory=redis RuntimeDirectoryMode=0755 [Install] WantedBy=multi-user.target EOF

開啟叢集等其它設定
sed -ri.bak -e '/# requirepass/a requirepass 123456' -e '/# cluster-enabled yes/a cluster-enabled yes' -e '/appendonly no/c appendonly yes' -e '/logfile ""/c logfile "/apps/redis4/redis-6379.log"' /etc/redis.conf

sed -ri '/# cluster-config-file nodes-6379.conf/a cluster-config-file nodes-6379.conf' /etc/redis.conf

多例項準備

cp /etc/redis.conf /etc/redis6380.conf

修改6380service
cp /lib/systemd/system/redis.service /lib/systemd/system/redis6380.service
sed -ri "s/^ExecStart.*/ExecStart=\/apps\/redis4\/bin\/redis-server \/etc\/redis6380.conf --supervised systemd/" /lib/systemd/system/redis6380.service

啟動

systemctl enable --now redis redis6380

準備ruby

yum -y  install rubygems
yum -y  remove rubygems

wget https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.5.tar.gz
tar xf ruby-2.5.5.tar.gz -C /usr/local/src/
cd /usr/local/src/ruby-2.5.5/
./configure
make && make install 
ruby -v
  ruby 2.5.5p157 (2019-03-15 revision 67260) [x86_64-linux]
****重新登入重新整理環境****

解決報錯

yum install zlib-devel
cd /usr/local/src/ruby-2.5.5/ext/zlib/
ruby extconf.rb
make
vim Makefile
#修改$(top_srcdir)為../..
zlib.o: ../../include/ruby.h
#在此目錄執行
make && make install 

yum -y install openssl-devel cd /usr/local/src/ruby-2.5.5/ext/openssl/ ruby extconf.rb //同樣修改Makefile中的$(top_srcdir)為../..
#在此目錄執行
make && make install

gem install redis -v 4.1.3

設定叢集密碼

vim /usr/local/lib/ruby/gems/2.5.0/gems/redis-4.1.3/lib/redis/client.rb

#1表示主從一一對應
redis-trib.rb create --replicas 1 10.0.0.8:6379 10.0.0.18:6380 10.0.0.18:6379 10.0.0.38:6380 10.0.0.38:6379 10.0.0.8:6380