redis伪集群安装linux,redis伪集群搭建(亲测无坑)
一、单机版安装部署,伪集群只需要操作前1-8步即可,再往下浏览找到:二、单机版-伪集群 安装部署继续搭建,如需设置密码参照第10步
1、安装基本工具
yum install -y gcc-c++ vim lrzsz wget
2、创建、进入目录
mkdir /opt/redis
cd /opt/redis
3、下载
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
4、解压、查看文件
tar zxvf redis-5.0.5.tar.gz
ll
5、赋权
chmod 777 -R redis-5.0.5
6、进入目录,查看文件列表
cd redis-5.0.5
7、编译、安装文件
安装目录 /usr/local/redis
make install PREFIX=/usr/local/redis
8、进入目录、查看文件列表
cd /usr/local/redis/
9、控制台启动,使用命令./redis-server
bin/redis-server
出现以下结果证明启动成功:
10、后台启动
(1)从redis解压目录复制redis.conf到redis安装目录
cp /opt/redis/redis-5.0.5/redis.conf /usr/local/redis/
(2)修改redis.conf
vim /usr/local/redis/redis.conf
修改daemonize yes
参数
注释
port 7000
端口7000,7002,7003
bind 本机ip
默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群
daemonize yes
redis后台运行
pidfile /var/run/redis_7000.pid
pidfile文件对应7000,7001,7002
cluster-enabled yes
/开启集群 把注释#去掉
cluster-config-file nodes_7000.conf
集群的配置 配置文件首次启动自动生成 7000,7001,7002
cluster-node-timeout 15000
请求超时 默认15秒,可自行设置
appendonly yes
aof日志开启 有需要就开启,它会每次写操作都记录一条日志
maxmemory 7516192768
限制内存在7G
masterauth
123lxo[9^Ki34&x
requirepass
123lxo[9^Ki34&x
复制代码
•接着在另外一台机器上,操作重复以上三步,只是把目录改为7003、7004、7005,对应的配置文件也按照这个规则修改即可
如果意外主机重启了,往集群中添加新节点
redis-cli --cluster add-node -a "123lxo[9^Ki34&x" 192.168.47.212:7002 192.168.91.244:7000
添加从节点
redis-cli --cluster add-node -a "123lxo[9^Ki34&x" 192.168.172.127:7003 192.168.83.158:7003 --cluster-slave
删除节点
redis-cli --cluster del-node -a "123lxo[9^Ki34&x" 192.168.47.212:7005 b31ef3b428d20915248b07f1f32694e3caff8a1c
设置开机自启
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/home/ec2-user/redis-5.0.5/src/redis-server /home/ec2-user/redis-5.0.5/redis_cluster/7003/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
sudo systemctl enable redis 开机自启
sudo systemctl status redis 查看状态
在任意一个 redis 节点的主机上执行以下命令:
redis-cli -c -h 192.168.0.100 -p 7000 cluster info
如果有密码加
redis-cli -c -h 192.168.0.100 -p 7000 -a ”123lxo[9^Ki34&x” cluster info
列出集群节点
在任意一个 redis 节点的主机上执行以下命令,列出集群当前已知的所有节点(node),以及这些节点的相关信息。
redis-cli -c -h 192.168.68.117 -p 7000 -a ”123lxo[9^Ki34&x” cluster nodes
(3)进入目录,启动服务
cd /usr/local/redis/
bin/redis-server redis.conf
11、查看启动信息
ps -ef | grep redis
12、基本操作
/usr/local/redis/bin/redis-cli
13、停止服务
redis-cli -h localhost -p 6379(端口) shutdown //停止服务
或者 kill -9 (pid)
二、单机版-伪集群 安装部署
1、编译安装
第三部分(单机版安装部署 1 至 8 步)
并把配置文件 redis.conf 从 redis 解压目录复制到 redis 安装目录
cp /opt/redis/redis-5.0.5/redis.conf /usr/local/redis/
2、安装基本工具
yum install -y net-tools wget lrzsz vim
3、从redis解压目录复制redis.conf到redis安装目录
如果 /usr/local/redis 或者 /usr/local/redis/bin 下有 dump.rdb 文件,则删除
rm -rf /usr/local/redis/dump.rdb
rm -rf /usr/local/redis/bin/dump.rdb
4、创建目录 /usr/local/redis-cluster 用来存放集群实例
mkdir /usr/local/redis-cluster
进入目录 /usr/local/redis-cluster
cd /usr/local/redis-cluster
5、创建节点目录(6个 存放六个实例)
mkdir node1 node2 node3 node4 node5 node6
6、复制文件(把编译安装好的实例分别复制到港创建的 6 个目录下)
cp -R /usr/local/redis/* /usr/local/redis-cluster/node1/
cp -R /usr/local/redis/* /usr/local/redis-cluster/node2/
cp -R /usr/local/redis/* /usr/local/redis-cluster/node3/
cp -R /usr/local/redis/* /usr/local/redis-cluster/node4/
cp -R /usr/local/redis/* /usr/local/redis-cluster/node5/
cp -R /usr/local/redis/* /usr/local/redis-cluster/node6/
7、编辑各自节点(实例)的配置文件(以node1的配置文件redis.conf为例,其他5个节点参照node1)
vim node1/redis.conf
(1)daemonize yes
(2)port 7001 #(其余节点:7002、7003、7004、7005、7006)
(3)pidfile /var/run/redis_7001.pid #(其余节点:7002、7003、7004、7005、7006)redis以守护进程方式运行时,系统默认会把pid写入/var/run/redis_7001.pid
(4)cluster-enabled yes #此redis实例作为集群的一个节点
(5)cluster-config-file nodes-7001.conf #(其余节点:nodes-7002、3、4、5、6.conf)集群配置文件,系统自动维护,不能人工编辑,主要记录集群中有哪些节点,状态等参数
(6)cluster-node-timeout 15000 #节点能够失联的最大时间
分别编辑其余各个节点的配置文件,修改各自的配置信息,改成各自对应的端口(具体过程参照node1)。
8、下载 gem 文件
wget https://rubygems.org/downloads/redis-4.1.2.gem
chmod 777 redis-4.1.2.gem
9、安装 ruby 环境
yum install -y ruby
gem install /usr/local/redis-cluster/redis-4.1.2.gem
直接安装gem文件会提示 ruby 版本太低,需要 ruby 版本在 2.3 以上。
解决方案:
1、安装基本工具
yum install -y curl ruby
2、查看现有版本
ruby -v
ruby 2.0.0p648 (2015-12-16) [x86_64-linux]
3、获取rvm.io(发现安装失败)
curl -L get.rvm.io | bash -s stable
4、根据提示增加引用
curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
或者
curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -
5、再一次获取rvm.io(成功!)
curl -L get.rvm.io | bash -s stable
6、查找配置文件
find / -name rvm.sh
/etc/profile.d/rvm.sh
使配置文件生效
source /etc/profile.d/rvm.sh
7、下载RVM依赖
rvm requirements
8、再查看配置文件
find / -name rvm -print
9、查看rvm列表
rvm list known
10、安装 rvm 的 v2.4.1
rvm install 2.4.1
11、配置环境变量
rvm use 2.4.1
Using /usr/local/rvm/gems/ruby-2.4.1
rvm use 2.4.1 --default
Using /usr/local/rvm/gems/ruby-2.4.1
12、删除旧版本的ruby
rvm remove 2.0.0p648
ruby-2.0.0p648 - #already gone
Using /usr/local/rvm/gems/ruby-2.4.1
13、查看最终版本
ruby --version
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
再次执行
gem install /usr/local/redis-cluster/redis-4.1.2.gem
10、使用 gem 安装 redis
gem install redis
11、进入目录 /usr/local/redis-cluster/ 创建启动脚本
cd /usr/local/redis-cluster/
vim start-all.sh
写入如下内容:
/node1/bin/redis-server redis.conf
/node2/bin/redis-server redis.conf
/node3/bin/redis-server redis.conf
/node4/bin/redis-server redis.conf
/node5/bin/redis-server redis.conf
/node6/bin/redis-server redis.conf
对启动脚本赋权
chmod 777 start-all.sh
12、启动脚本
./start-all.sh
13、查看启动状况
ps -ef | grep redis
ps aux | grep redis
netstat -lntp
14、创建集群
./redis-cli --cluster create 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 --cluster-replicas 1
说明:
(1)Performing hash slots allocation on 6 nodes... # 代表一共有6个节点
(2)Using 3 masters: # 有三个主节点 分别是端口 7001、7002、7003
(3)Adding replica 127.0.0.1:7005 to 127.0.0.1:7001 # 端口7005的节点是端口7001节点的从节点,以此类推
(4)M: 014d11a25cb3ea6999bd8a3237ad27252b324c54 127.0.0.1:7001 # 前面内一串是ID唯一标识
(5)slots:0-5460 (5461 slots) master # 代表当前节点的哈希槽为0-5460,主节点才有哈希槽,redis集群中内置了16384(0-16383)个哈希槽。
(6)yes #开始搭建
三、客户端测试
链接redis的客户端:redis-cli
cd /usr/local/redis-cluster/
复制脚本文件 redis-cli
cp /opt/redis/redis-5.0.5/src/redis-cli /usr/local/redis-cluster/
ll
./redis-cli -h 127.0.0.1 -p 7001 -c
./redis-cli -h 127.0.0.1 -p 7005 -c
查看集群信息
127.0.0.1:7001> cluster info
查看节点信息
128.127.0.0.1:7001> cluster nodes
127.0.0.1:7001> info replication
127.0.0.1:7001> info server
说明:
(1)-h 对应的IP地址,不写的话默认就是本机。
(2)-p 对应的是集群中指定实例的端口。
(3)-c 这是必须的,代表集群启动。
(4)[9189]、[4998] 是通过算法计算出的当前key的哈希槽,每个节点都有对应的哈希槽范围,存储的的数据是根据key的哈希槽存储到对应节点。
redis伪集群安装linux,redis伪集群搭建(亲测无坑)相关推荐
- (亲测无坑)Centos7.x使用kubeadm安装K8s集群1.15.0版本
基础环境配置 三台Centos7.x的服务器,主节点 cpu >=2,node节点>=1 注:(上述cpu为最低配置,否则集群安装部署会报错,无法启动,对其他硬件无硬性要求) 以下操作若无 ...
- kubernetes-二进制安装,亲测无坑,在参考安装过程中如果有什么问题欢迎交流,超级详细的文档
Kubernetes环境搭建(手动K8s集群安装配置.服务部署和管理使用详细步骤,入门K8s容器云平台架构) 前言 说明: 本博客是教大家如何手动搭建kubernetes集群(业内简称K8s),包括集 ...
- 安装linux7如何查看u盘位置,win7系统下u盘安装linux centos7,详细步骤,亲测
一,准备 1. Centos 7镜像文件: 下载的话网上很多,这里提供一个下载路径: http://isoredirect.centos.org/centos/7/isos/x86_64/ 2. ...
- win7 制作linux u盘安装教程,win7系统下u盘安装linux centos7,详细步骤,亲测
近段时间想在自己的win7电脑上安装个linux双系统,于是下载了linux centos7这个版本,折腾了两天,网上的各种帖子看了不少,也遇到很多问题,幸运的是终于装成功了,下面就说明一下安装的整个 ...
- 【Linux入门连载一】[Win10下安装Linux虚拟机]VMWare15运行CentOS7(亲测有效)
写在前面:本文根据狂神的Linux视频完成而来 笔者之前安装的双系统,用的是Ubuntu.现在安装的是虚拟机,用的是CentOS. 主要目的是学习Linux系统的基本知识.而本文呢,主要记录自己安装软 ...
- Linux安装svn服务器和权限配置_亲测成功
Linux安装svn服务器和权限配置_亲测成功 SVN简介 SVN是Subversion的简称,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目 ...
- Centos7环境下安装Mysql8详细教程(超详细,亲测百分百成功)
Centos7环境下安装Mysql8详细教程(超详细,亲测百分百成功) 文章目录 Centos7环境下安装Mysql8详细教程(超详细,亲测百分百成功) 1.上传或者下载mysql安装包 2.检查是否 ...
- Redis概述下载与安装使用redis
一.Redis概述 1.1 互联网架构的演变历程 第一阶段 [ 1] 数据访问量不大,简单的架构即可搞定! 第二阶段 [ 1] 数据访问量大,使用缓存技术来缓解数据库的压力. [ 2] 不同的业务访问 ...
- redis设置用户名和密码linux,redis的密码设置(windows与linux相同)
接着我们昨天的说,昨天redis的启动已经了解,今天来说说redis的密码设置.(不管怎么说redis也是数据库,也需要密码) 修改密码可以2种行径.第一种,直接修改配置文件,打开redis.conf ...
最新文章
- java 中window_教你如何在windows上安装Java
- 在Mono/Linux上使用PerformanceCounter
- 关于element框架的el-image点击后,页面出现卡死等情况的解决方式
- 创建好centos7虚拟机之后连xshell连不上虚机
- 【tool】关于oracle数据库的安装与使用
- VMware终端用户计算的战略和愿景
- 关于Windows 1803版本内核隔离打开后无法关闭的解决方案
- FastDFS+Nginx部署详细教程
- Rust: 外部函数接口(FFI)
- SQL:2016标准之新特性
- MFC项目使用Win7自带语音库(包含COM函数返回 “没有注册类”解决方式)
- 兴达易控Profinet转TCP以太网模块
- 计算机wifi共享怎么设置,笔者教你win7如何设置wifi共享
- 十几减9的口算题_一年级数学《口算十几减9》教案
- DateTime.ToString()的用法
- linux系统下,python 调用终端禁用鼠标键盘
- win10 软件移动位置信息服务器,如何修改win10软件默认安装位置
- 如何把苹果文件APP里的Word文档传到手机备忘录
- 【2021-05-06】JS逆向之微店登入ua
- 使用gitee仓库管理项目中的一些常见小问题