Redis4.0及以上快速搭建集群

目录

      • 下载redis
      • 安装redis
      • 快速搭建集群

下载redis

redis官网下载地址,下载完后上传到服务器。这里我习惯在服务器 /usr/local/ 目录下新建 software 文件夹,把安装包统统放在这个文件夹中

mkdir -p /usr/local/software

安装redis

  1. 解压
# 进入software目录
cd  /usr/local/software
# 解压到  /usr/local 目录
tar zxvf redis-5.0.2.tar.gz -C /usr/local
  1. 编译安装
# 进入redis目录
cd /usr/local/redis-5.0.2
# 编译
make
# 进入src目录下进行安装(验证查看src目录下有redis-server、redis-cli即可)
cd src $ make install

快速搭建集群

redis4.0以上的版本为我们提供了快速搭建集群的shell的脚本,但通过这个脚本搭建的集群无法被外部访问,只能在服务器上通过localhost访问。因此需要对这个脚本进行小小的改动。

# 进入 redis 目录下的 utils\create-cluster
cd /usr/local/redis-5.0.2/utils\create-cluster
# 编辑 create-cluster.sh
vim create-cluster.sh

修改以下几个地方

  1. port
# 端口,我的redis集群端口为 6389—6394,这里应设为6388
PORT=6388
  1. start
if [ "$1" == "start" ]
	……
        # 修改集群配置 ,加入  --bind 192.168.2.63 --protected-mode no
        ../../src/redis-server  --bind 192.168.2.63 --protected-mode no --port $PORT --cluster-enabled yes --cluster-config-file nodes-${PORT}.conf --cluster-node-timeout $TIMEOUT --appendonly yes --appendfilename appendonly-${PORT}.aof --dbfilename dump-${PORT}.rdb --logfile ${PORT}.log --daemonize yes
  1. create
if [ "$1" == "create" ]
	……
	# 修改主机地址
       HOSTS="$HOSTS 192.168.2.63:$PORT"
  1. stop
if [ "$1" == "stop" ]
   	……
   	# 加入 -h 192.168.2.63
       ../../src/redis-cli -h 192.168.2.63 -p $PORT shutdown nosave
  1. watch
if [ "$1" == "watch" ]
	……
	# 加入 -h 192.168.2.63
       ../../src/redis-cli -h 192.168.2.63 -p $PORT cluster nodes | head -30
  1. call
if [ "$1" == "call" ]
	……
	# 加入 -h 192.168.2.63
       ../../src/redis-cli -h 192.168.2.63 -p $PORT $2 $3 $4 $5 $6 $7 $8 $9

修改完成后通过运行shell脚本来快速创建集群。注:192.168.2.63为服务器的内网地址,在这个地方我深有体会,当初我用的的阿里云服务器的外网地址,虽说外网地址也能成功搭建,但后面发现通过Jedis操作集群会有各种问题。

# 创建集群
./create-cluster.sh create
# 启动集群
./create-cluster.sh start

上面的命令执行成功后会在当前目录下生成对应的文件
在这里插入图片描述
以下为脚本的所有命令

# 创建集群
./create-cluster.sh create
# 启动集群
./create-cluster.sh start
# 停止集群
./create-cluster.sh stop
# 查看集群节点信息
./create-cluster.sh watch
# 进入集群节点客户端
./create-cluster.sh call
# 查看某个节点的日志信息,如要查看第一个节点的日志:./create-cluster.sh tail 1
./create-cluster.sh tail 
# 删除集群
./create-cluster.sh clean
# 删除集群日志文件
./create-cluster.sh clean-logs

你可能感兴趣的:(Redis)