curl -s -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repoNode1 10.0.60.83Node2 10.0.60.84Node3 10.0.60.82
mkdir -p /app
cd /app
wget http://download.redis.io/releases/redis-4.0.8.tar.gz
tar -xf redis-4.0.8.tar.gz
cd redis-4.0.8
make MALLOC=libc
make install PREFIX=/usr/local/redis
mkdir -p /usr/local/redis/redis_cluster/7000
mkdir -p /usr/local/redis/redis_cluster/8000
mkdir -p /usr/local/redis/redis_cluster/9000
bind 10.200.68.17
protected-mode yes
port 7000
tcp-backlog 65535
timeout 0
tcp-keepalive 300
daemonize yes
supervised no
pidfile /home/redis/run/redis_7000.pid
loglevel notice
logfile "/var/log/redis/redis_7000.log"
databases 16
save ""
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir /usr/local/redis/redis_cluster/7000/
masterauth Gaiaworks@2022
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
requirepass Gaiaworks@2022
maxmemory 800M
maxmemory-policy allkeys-lru
maxmemory-samples 5
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
cluster-enabled yes
cluster-config-file /home/redis/nodes-7000.conf
cluster-node-timeout 15000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes
cat /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
vm.swappiness = 0
net.ipv4.neigh.default.gc_stale_time=120
net.ipv4.conf.all.rp_filter=0
net.ipv4.conf.default.rp_filter=0
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_announce=2
net.ipv4.conf.all.arp_announce=2
net.ipv4.tcp_max_tw_buckets = 1440000
net.ipv4.tcp_syncookies = 0
net.ipv4.tcp_max_syn_backlog = 1024
net.ipv4.tcp_synack_retries = 1
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.core.netdev_max_backlog = 262144
net.ipv4.tcp_max_orphans = 262144
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_syn_retries = 1
net.core.somaxconn = 65535
net.ipv6.conf.all.disable_ipv6 = 1
fs.file-max = 2000000
fs.nr_open = 2000000
vm.max_map_count = 262144
vm.overcommit_memory = 1
sysctl -p
vi /etc/security/limits.conf
## 最下面
* hard nofile 2000000
* soft nofile 2000000
vi /etc/security/limits.d/20-nproc.conf
* soft nproc unlimited
root soft nproc unlimited
echo never > /sys/kernel/mm/transparent_hugepage/enabled
vi /etc/rc.local
echo never > /sys/kernel/mm/transparent_hugepage/enabled
chmod +x /etc/rc.local
vi /etc/systemd/system/redis9000.service
i[Install]
WantedBy=multi-user.target
[Unit]
Description=Redis
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
User=redis
Group=redis
Type=forking
PIDFile=/home/redis/run/redis_9001.pid
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/redis_cluster/9001/redis.conf
ExecReload=/bin/kill -USR2 $MAINPID
ExecStop=/usr/local/redis/bin/redis-cli -a Gaiaworks@2020 -p 9001 shutdown
PrivateTmp=true
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
tar -xf rubyrpms.tar.gz
cd rubyrpm
rpm -Uvh *.rpm --nodeps --force
cd ../
tar -xf ruby-2.5.1.tar.gz
cd ruby-2.5.1
./configure
make && make install
ruby -v
cd ../
tar -xf rubygems-2.7.7.tgz
cd rubygems-2.7.7
ruby setup.rb
cd ../
gem install redis-3.2.2.gem
ln -s /app/redis-4.0.8/src/redis-trib.rb /usr/local/redis/bin/redis-trib.rb
groupadd redis
useradd redis -g redis
passwd redis
mkdir -p /home/redis/run
chown -R redis:redis /usr/local/redis
chown -R redis:redis /var/log/redis
chown -R redis:redis /home/redis
cd /usr/local/redis/bin
./redis-trib.rb create --replicas 2 10.200.68.17:9001 10.200.68.17:9002 10.200.68.17:9003 10.200.68.18:9001 10.200.68.18:9002 10.200.68.18:9003 10.200.68.19:9001 10.200.68.19:9002 10.200.68.19:9003
vi /usr/local/lib/ruby/gems/2.5.0/gems/redis-3.3.5/lib/redis/client.rb
## 把密码加入
## 重启redis节点
export REDIS_HOME=/usr/local/redis/
export PATH=$PATH:$REDIS_HOME/bin
CentOS 7的gcc版本为4.8.5,Redis 6.0.5最低需要gcc4.9,因此需要升级gcc版本
