linux redis集群安装
redis集群安装
- redis集群安装
- 1.下载redis
- 2.创建节点目录并安装
- 修改配置文件
- 将配置文件翻入各自目录中
- 启动redis
- 上传gem
- 创建集群
- 新增集群节点
- 查询集群状态
redis集群安装
1.下载redis
从官网中可以下下载到最新版本的redis,我这里使用的是5.0.4版本的
wget https://download.redis.io/releases/redis-5.0.4.tar.gz
2.创建节点目录并安装
创建节点目录(演示在同一台机器的不同端口)
mkdir /app/redis-cluster/redis-1-8701
mkdir /app/redis-cluster/redis-2-8702
mkdir /app/redis-cluster/redis-3-8703
mkdir /app/redis-cluster/redis-4-8704
mkdir /app/redis-cluster/redis-5-8705
mkdir /app/redis-cluster/redis-6-8705进入到redis的下载目录
进入目录
cd /user/local/redis
解压文件
tar zvf redis-5.0.4.tar.gz
安装到定义目录
make install PREFIX=/app/redis-cluster/redis-1-8701
make install PREFIX=/app/redis-cluster/redis-2-8702
make install PREFIX=/app/redis-cluster/redis-3-8703
make install PREFIX=/app/redis-cluster/redis-4-8704
make install PREFIX=/app/redis-cluster/redis-5-8705
make install PREFIX=/app/redis-cluster/redis-6-8706
修改配置文件
# 主要修改一下四点
port 8701-8706 # 每个节点配置文件只有这里不一样
cluster-enabled yes
masterauth 集群认证密码 ## 如果需要密码则设置
requirepass 登录认证密码 ## 如果需要密码则设置
## 数据库文件可以根据自己需要配置这里就使用默认的
将配置文件翻入各自目录中
cp redis.conf /app/redis-cluster/redis-1-8701/bin
cp redis.conf /app/redis-cluster/redis-2-8702/bin
cp redis.conf /app/redis-cluster/redis-3-8703/bin
cp redis.conf /app/redis-cluster/redis-4-8704/bin
cp redis.conf /app/redis-cluster/redis-5-8705/bin
cp redis.conf /app/redis-cluster/redis-6-8706/bin
启动redis
在各自的bin目录下执行 如 /app/redis-cluster/redis-1-8701/bin
./redis-server redis.conf
上传gem
需要安装 ruby用于搭建redis集群的脚本
yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison iconv-devel
yum install gem安装过程中可能出现的问题
curl -L get.rvm.io | bash -s stable
% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed
100 194 100 194 0 0 287 0 —:—:— —:—:— —:—:— 288
100 24535 100 24535 0 0 15448 0 001 0
01 —:—:— 32932
Downloading https://github.com/rvm/rvm/archive/1.29.10.tar.gz
Downloading https://github.com/rvm/rvm/releases/download/1.29.10/1.29.10.tar.gz.asc
gpg: 已创建目录‘/root/.gnupg’
gpg: 新的配置文件‘/root/.gnupg/gpg.conf’已建立
gpg: 警告:在‘/root/.gnupg/gpg.conf’里的选项于此次运行期间未被使用
gpg: 钥匙环‘/root/.gnupg/pubring.gpg’已建立
gpg: 于 2020年03月26日 星期四 05时58分42秒 CST 创建的签名,使用 RSA,钥匙号 39499BDB
gpg: 无法检查签名:没有公钥
GPG signature verification failed for ‘/usr/local/rvm/archives/rvm-1.29.10.tgz’ - ‘https://github.com/rvm/rvm/releases/download/1.29.10/1.29.10.tar.gz.asc'! Try to install GPG v2 and then fetch the public key:gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
or if it fails:
command curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
command curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -
In case of further problems with validation please refer to https://rvm.io/rvm/security
执行提示的命令后再次安装
command curl -sSL https://rvm.io/mpapis.asc | gpg2 —import -
command curl -sSL https://rvm.io/pkuczynski.asc | gpg2 —import -ruby需要大于2.4.0
source /etc/profile.d/rvm.sh
rvm list known
rvm install 2.4
ruby -v
gem install redis
创建集群
./redis-cli --cluster create 127.0.0.1:8701 127.0.0.1:8702 127.0.0.1:8703 127.0.0.1:8704 127.0.0.1:8705 127.0.0.1:8706 --cluster-replicas 1 -a 密码
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 127.0.0.1:8705 to 127.0.0.1:8701
Adding replica 127.0.0.1:8706 to 127.0.0.1:8702
Adding replica 127.0.0.1:8704 to 127.0.0.1:8703
>>> Trying to optimize slaves allocation for anti-affinity
[WARNING] Some slaves are in the same host as their master
M: 3e5d226358b60a9738c3d33252f806b6174770fb 127.0.0.1:8701
slots:[0-5460] (5461 slots) master
M: 1b82eb3feaef05a61384cc958b6ab3d5260c568e 127.0.0.1:8702
slots:[5461-10922] (5462 slots) master
M: bd3bfdc6e76b0fe0a1d70fe5c0818c271cec443c 127.0.0.1:8703
slots:[10923-16383] (5461 slots) master
S: 71666db8a984818587fc2a12434f13bd1fb2eca9 127.0.0.1:8704
replicates 1b82eb3feaef05a61384cc958b6ab3d5260c568e
S: 9fb977d91f2fcc9cd2474d38829303657b216167 127.0.0.1:8705
replicates bd3bfdc6e76b0fe0a1d70fe5c0818c271cec443c
S: db985cda50930a9336de32cd5740fb9010bb222b 127.0.0.1:8706
replicates 3e5d226358b60a9738c3d33252f806b6174770fb
Can I set the above configuration? (type 'yes' to accept): yes
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join
....
>>> Performing Cluster Check (using node 127.0.0.1:8701)
M: 3e5d226358b60a9738c3d33252f806b6174770fb 127.0.0.1:8701
slots:[0-5460] (5461 slots) master
1 additional replica(s)
S: db985cda50930a9336de32cd5740fb9010bb222b 127.0.0.1:8706
slots: (0 slots) slave
replicates 3e5d226358b60a9738c3d33252f806b6174770fb
S: 71666db8a984818587fc2a12434f13bd1fb2eca9 127.0.0.1:8704
slots: (0 slots) slave
replicates 1b82eb3feaef05a61384cc958b6ab3d5260c568e
M: 1b82eb3feaef05a61384cc958b6ab3d5260c568e 127.0.0.1:8702
slots:[5461-10922] (5462 slots) master
1 additional replica(s)
S: 9fb977d91f2fcc9cd2474d38829303657b216167 127.0.0.1:8705
slots: (0 slots) slave
replicates bd3bfdc6e76b0fe0a1d70fe5c0818c271cec443c
M: bd3bfdc6e76b0fe0a1d70fe5c0818c271cec443c 127.0.0.1:8703
slots:[10923-16383] (5461 slots) master
1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
集群创建成功
新增集群节点
redis-cli --cluster add-node 127.0.0.1:8701 -a 密码
## 如果灭有密码则可以直接这样加入
redis-cli --cluster add-node 127.0.0.1:8701
查询集群状态
./redis-cli --cluster check 127.0.0.1:8701 -a 密码
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:8701 (3e5d2263...) -> 0 keys | 5461 slots | 1 slaves.
127.0.0.1:8702 (1b82eb3f...) -> 0 keys | 5462 slots | 1 slaves.
127.0.0.1:8703 (bd3bfdc6...) -> 0 keys | 5461 slots | 1 slaves.
[OK] 0 keys in 3 masters.
0.00 keys per slot on average.
>>> Performing Cluster Check (using node 127.0.0.1:8701)
M: 3e5d226358b60a9738c3d33252f806b6174770fb 127.0.0.1:8701
slots:[0-5460] (5461 slots) master
1 additional replica(s)
S: db985cda50930a9336de32cd5740fb9010bb222b 127.0.0.1:8706
slots: (0 slots) slave
replicates 3e5d226358b60a9738c3d33252f806b6174770fb
S: 71666db8a984818587fc2a12434f13bd1fb2eca9 127.0.0.1:8704
slots: (0 slots) slave
replicates 1b82eb3feaef05a61384cc958b6ab3d5260c568e
M: 1b82eb3feaef05a61384cc958b6ab3d5260c568e 127.0.0.1:8702
slots:[5461-10922] (5462 slots) master
1 additional replica(s)
S: 9fb977d91f2fcc9cd2474d38829303657b216167 127.0.0.1:8705
slots: (0 slots) slave
replicates bd3bfdc6e76b0fe0a1d70fe5c0818c271cec443c
M: bd3bfdc6e76b0fe0a1d70fe5c0818c271cec443c 127.0.0.1:8703
slots:[10923-16383] (5461 slots) master
1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
All 16384 slots covered 所有的插槽均有覆盖到
这里一共有6台redis,三主三从一个插槽均有2分副本
还没有评论,来说两句吧...