redis单例安装
第一步,安装前准备;
# redis是C开发的,所以安装redis需要C语言的编译环境,先安装gcc;
yum install gcc
#下载redis安装包
wget https://download.redis.io/releases/redis-6.2.1.tar.gz
#解压redis安装包
tar zxvf redis-6.2.1.tar.gz
#移动解压包到指定目录,方便日后维护
mv redis-6.2.1 /mnt/databases/redis
第二步,安装redis;
#进入redis目录,执行make命令
cd /mnt/databases/redis
#执行安装命令make,在src目录下生成编译后的服务端redis-server,客户端redis-cli
make
第三步,启动redis服务器;
#进入redis的src目录
cd ./src
#启动服务器
./redis-server

最后,客户端访问;
#进入redis的src目录
cd ./src
#启动服务端
./redis-cli
#测试一下,设置一个值;
set foo bar
get foo
"bar"

redis单例安装到此结束,接下来看看redis集群,暂且把单例redis服务器关闭。
redis集群
Redis集群至少需要6台服务器,三主三从,这里只有一台服务器,所以在一台机器上模拟集群搭建,端口号为6379~6384;
第一步,集群前准备工作;
#为每个服务器单独创建文件夹,以便存储对应的配置、数据、日志;
mkdir /mnt/databases/redis-cluster/redis-{6379,6380,6381,6382,6383,6384}
#单例redis已经安装过了,把redis文件也移到集群的文件中来,只安装一个即可;
mv /mnt/databases/redis /mnt/databases/redis-cluster
#将单例中的配置文件拷贝到6379这个服务器中
cp /mnt/databases/redis-cluster/redis/redis.conf /mnt/databases/redis-cluster/redis-6379/redis.conf
#查找配置文件,如果一下子想不起路径在哪里,使用find命令进行查找
find / -name redis.conf
#在redis-6379文件夹中的配置文件中,新增如下配置:
port 6379(每个节点的端口号)
daemonize yes(设置后台启动,yes是的,默认no不是)
bind 127.0.0.1(根据需要修改)
dir /mnt/databases/redis-cluster/redis-6379/data/(数据文件存放位置)
pidfile /var/run/redis_6379.pid(pid 6379和port要对应)
cluster-enabled yes(启动集群模式)
cluster-config-file nodes-6379.conf(6379和port要对应)
cluster-node-timeout 5000
appendonly yes

进入redis集群目录,将redis-6379的redis.conf拷贝到其他服务器中,并修改其中的端口号配置;
cd /mnt/databases/redis-cluster
cp ./redis-6379/redis.conf ./redis-6380/redis.conf
cp ./redis-6379/redis.conf ./redis-6381/redis.conf
cp ./redis-6379/redis.conf ./redis-6382/redis.conf
cp ./redis-6379/redis.conf ./redis-6383/redis.conf
cp ./redis-6379/redis.conf ./redis-6384/redis.conf
第二步,启动redis服务,进行集群配置;
1.逐一启动redis-6379~6384的服务
./src/redis-server /mnt/databases/redis-cluster/redis-6379/redis.conf
./src/redis-server /mnt/databases/redis-cluster/redis-6380/redis.conf
./src/redis-server /mnt/databases/redis-cluster/redis-6381/redis.conf
./src/redis-server /mnt/databases/redis-cluster/redis-6382/redis.conf
./src/redis-server /mnt/databases/redis-cluster/redis-6383/redis.conf
./src/redis-server /mnt/databases/redis-cluster/redis-6384/redis.conf
2.打开redis客户端,执行集成语句;
# -a 后面跟的是在配置文件中设置的密码,--cluster-replicas 1 代表一主一从;
./src/redis-cli -a 123123 --cluster create 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 --cluster-replicas 1
最后一步,启动redis客户端,测试集成结果;
#普通模式执行命令可能导致slot不能正确执行,所以加 -c 切换到集群模式
./src/redis-cli -c -a 123123 -p 6379
#测试集群结果,设置一个值,然后获取;
set foo bar
get foo
"bar"

从测试结果中,可以看到命令执行时,进行了端口的切换;集群成功。
其他相关命令:
# 查看 slots 信息
cluster slots
#查看集群信息
cluster info
#查看集群帮助
redis-cli --cluster help
#查看 redis 进程
ps -ef | grep redis
#关闭 redis 服务(杀掉进程)
kill -9 pid
查看集群节点信息:

最后总结: 这次redis集群安装,只安装了一个redis单例,集群的时候,共用了一个redis服务,多个服务间只有配置文件、数据、日志存放的位置不一样,这在一台机器上也算是安装上的优化。
网友评论