linux redis集群安装

it2023-10-14  74

redis集群安装

redis集群安装1.下载redis2.创建节点目录并安装修改配置文件将配置文件翻入各自目录中启动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 Current Dload Upload Total Spent Left Speed 100 194 100 194 0 0 287 0 --:--:-- --:--:-- --:--:-- 288 100 24535 100 24535 0 0 15448 0 0:00:01 0:00: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分副本

最新回复(0)