下载redis
redis官网下载地址,下载完后上传到服务器。这里我习惯在服务器 /usr/local/ 目录下新建 software 文件夹,把安装包统统放在这个文件夹中
mkdir -p /usr/local/software
安装redis
- 解压
# 进入software目录
cd /usr/local/software
# 解压到 /usr/local 目录
tar zxvf redis-5.0.2.tar.gz -C /usr/local
- 编译安装
# 进入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
修改以下几个地方
- port
# 端口,我的redis集群端口为 6389—6394,这里应设为6388
PORT=6388
- 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
- create
if [ "$1" == "create" ]
……
# 修改主机地址
HOSTS="$HOSTS 192.168.2.63:$PORT"
- stop
if [ "$1" == "stop" ]
……
# 加入 -h 192.168.2.63
../../src/redis-cli -h 192.168.2.63 -p $PORT shutdown nosave
- watch
if [ "$1" == "watch" ]
……
# 加入 -h 192.168.2.63
../../src/redis-cli -h 192.168.2.63 -p $PORT cluster nodes | head -30
- 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 <id>
# 删除集群
./create-cluster.sh clean
# 删除集群日志文件
./create-cluster.sh clean-logs