安装redis集群
有关redis5.0.4怎么安装,网上太多了,参考一下就好。
补上redis5.0.4安装教程,如果你在编译过程中报错了,需要执行make distclean 再按照我的文章进行操作。
yum groups install Development Tools -y
#安装内存管理
yum install jemalloc
#redis安装
cd /usr/local/src
wget http://download.redis.io/releases/redis-5.0.4.tar.gz
tar xzf redis-5.0.4.tar.gz
cd redis-5.0.4/
make PREFIX=/usr/local/redis install
#如果你是使用集群,下面几句命令则不用执行了,直接跳到下一小节。
mkdir /etc/redis
cp redis.conf /etc/redis/
vi /etc/redis/redis.conf
daemonize no 改为 daemonize yes
添加requirepass 123456
/usr/local/redis/bin/redis-server /etc/redis/redis.conf
服务器信息
192.168.1.101 node1
192.168.1.102 node2
192.168.1.103 node3
开启各台机器上的防火墙
#开发防火墙端口7000 7001
firewall-cmd --permanent --add-port=7000/tcp
firewall-cmd --permanent --add-port=17000/tcp
firewall-cmd --permanent --add-port=7001/tcp
firewall-cmd --permanent --add-port=17001/tcp
firewall-cmd --reload
firewall-cmd --list-all-zones
#开发防火墙端口7002 7003
firewall-cmd --permanent --add-port=7002/tcp
firewall-cmd --permanent --add-port=17002/tcp
firewall-cmd --permanent --add-port=7003/tcp
firewall-cmd --permanent --add-port=17003/tcp
firewall-cmd --reload
firewall-cmd --list-all-zones
#开发防火墙端口7004 7005
firewall-cmd --permanent --add-port=7004/tcp
firewall-cmd --permanent --add-port=17004/tcp
firewall-cmd --permanent --add-port=7005/tcp
firewall-cmd --permanent --add-port=17005/tcp
firewall-cmd --reload
firewall-cmd --list-all-zones
安装ruby环境
yum install -y ruby
创建目录
#在node1上创建目录
mkdir -p /usr/local/redis/{7000,7001}
#在node2上创建目录
mkdir -p /usr/local/redis/{7002,7003}
#在node3上创建目录
mkdir -p /usr/local/redis/{7004,7005}
写配置文件
cat >> /usr/local/redis/7000/redis.conf << EOF
bind 0.0.0.0
protected-mode yes
port 7000
dir /usr/local/redis/7000
cluster-enabled yes
cluster-config-file /usr/local/redis/7000/nodes.conf
cluster-node-timeout 5000
appendonly yes
daemonize yes
pidfile /usr/local/redis/7000/redis.pid
logfile /usr/local/redis/7000/redis.log
masterauth 123456
requirepass 123456
EOF
#node1写入配置文件
sed 's/7000/7001/g' 7000/redis.conf > 7001/redis.conf
#node2写入配置文件
sed 's/7000/7002/g' 7000/redis.conf > 7002/redis.conf
sed 's/7000/7003/g' 7000/redis.conf > 7003/redis.conf
#node3写入配置文件
sed 's/7000/7004/g' 7000/redis.conf > 7004/redis.conf
sed 's/7000/7005/g' 7000/redis.conf > 7005/redis.conf
运行redis-server
# node1运行redis-server
/usr/local/redis/bin/redis-server 7000/redis.conf
/usr/local/redis/bin/redis-server 7001/redis.conf
# node2运行redis-server
/usr/local/redis/bin/redis-server 7002/redis.conf
/usr/local/redis/bin/redis-server 7003/redis.conf
# node3运行redis-server
/usr/local/redis/bin/redis-server 7004/redis.conf
/usr/local/redis/bin/redis-server 7005/redis.conf
创建集群
redis-cli --cluster create 192.168.1.101:7000 192.168.1.101:7001 \
192.168.1.102:7002 192.168.1.102:7003 \
192.168.1.103:7004 192.168.1.103:7005 --cluster-replicas 1
#如果redis配置文件已经配置好密码就使用如下的方式执行
redis-cli --cluster create 192.168.1.101:7000 192.168.1.101:7001 \
192.168.1.102:7002 192.168.1.102:7003 \
192.168.1.103:7004 192.168.1.103:7005 --cluster-replicas 1 -a 123456
集群成功提示
[root@node1 redis]# redis-cli --cluster create 192.168.1.101:7000 192.168.1.101:7001 \
> 192.168.1.102:7002 192.168.1.102:7003 \
> 192.168.1.103:7004 192.168.1.103:7005 --cluster-replicas 1
>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 192.168.1.102:7003 to 192.168.1.101:7000
Adding replica 192.168.1.103:7005 to 192.168.1.102:7002
Adding replica 192.168.1.101:7001 to 192.168.1.103:7004
M: 2613c239f4558cd04b8c5048324a03f9650a4d7a 192.168.1.101:7000
slots:[0-5460] (5461 slots) master
S: ada302c0cd3c541bae44c1cedd9725567c6c7ae8 192.168.1.101:7001
replicates beeaa9320caa54c060993cd1aef9e93af4e7ce6e
M: 17f83998c123883f9d1553ae24ca612688af2a3c 192.168.1.102:7002
slots:[5461-10922] (5462 slots) master
S: e244813dc030b0ba1d7ad6f17c99ce624b879272 192.168.1.102:7003
replicates 2613c239f4558cd04b8c5048324a03f9650a4d7a
M: beeaa9320caa54c060993cd1aef9e93af4e7ce6e 192.168.1.103:7004
slots:[10923-16383] (5461 slots) master
S: 212bdc846f7939e121a3746bec267a5723c8c4bc 192.168.1.103:7005
replicates 17f83998c123883f9d1553ae24ca612688af2a3c
Can I set the above configuration? (type 'yes' to accept):
>>> 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 192.168.1.101:7000)
M: 2613c239f4558cd04b8c5048324a03f9650a4d7a 192.168.1.101:7000
slots:[0-5460] (5461 slots) master
1 additional replica(s)
M: beeaa9320caa54c060993cd1aef9e93af4e7ce6e 192.168.1.103:7004
slots:[10923-16383] (5461 slots) master
1 additional replica(s)
M: 17f83998c123883f9d1553ae24ca612688af2a3c 192.168.1.102:7002
slots:[5461-10922] (5462 slots) master
1 additional replica(s)
S: ada302c0cd3c541bae44c1cedd9725567c6c7ae8 192.168.1.101:7001
slots: (0 slots) slave
replicates beeaa9320caa54c060993cd1aef9e93af4e7ce6e
S: 212bdc846f7939e121a3746bec267a5723c8c4bc 192.168.1.103:7005
slots: (0 slots) slave
replicates 17f83998c123883f9d1553ae24ca612688af2a3c
S: e244813dc030b0ba1d7ad6f17c99ce624b879272 192.168.1.102:7003
slots: (0 slots) slave
replicates 2613c239f4558cd04b8c5048324a03f9650a4d7a
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
[root@node1 redis]#
创建redis集群密码
#分别到每台机器上操作7000-7005各自运行的redis
redis-cli -c -p 7001
config set masterauth 123456
config set requirepass 123456
auth 123456
config rewrite
最后查看redis.conf是否成功写入密码
#每个配置文件都要检查哦
/usr/local/redis/7000/redis.conf