1、单机版安装部署,伪集群只须要操做前1-8步便可,再往下浏览找到:2、单机版-伪集群 安装部署继续搭建,如需设置密码参照第10步node
一、安装基本工具linux
yum install -y gcc-c++ vim lrzsz wget
二、建立、进入目录c++
mkdir /opt/redis cd /opt/redis
三、下载redis
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
四、解压、查看文件算法
tar zxvf redis-5.0.5.tar.gz ll
五、赋权vim
chmod 777 -R redis-5.0.5
六、进入目录,查看文件列表api
cd redis-5.0.5
七、编译、安装文件 ruby
安装目录 /usr/local/redis make install PREFIX=/usr/local/redis
八、进入目录、查看文件列表bash
cd /usr/local/redis/
九、控制台启动,使用命令./redis-serverapp
bin/redis-server
出现如下结果证实启动成功:
十、后台启动
(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 |
复制代码
•接着在另一台机器上,操做重复以上三步,只是把目录改成700三、700四、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
十一、查看启动信息
ps -ef | grep redis
十二、基本操做
/usr/local/redis/bin/redis-cli
1三、中止服务
redis-cli -h localhost -p 6379(端口) shutdown //中止服务
或者 kill -9 (pid)
2、单机版-伪集群 安装部署
一、编译安装
第三部分(单机版安装部署 1 至 8 步)
并把配置文件 redis.conf 从 redis 解压目录复制到 redis 安装目录
cp /opt/redis/redis-5.0.5/redis.conf /usr/local/redis/
二、安装基本工具
yum install -y net-tools wget lrzsz vim
三、从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
四、建立目录 /usr/local/redis-cluster 用来存放集群实例
mkdir /usr/local/redis-cluster
进入目录 /usr/local/redis-cluster
cd /usr/local/redis-cluster
五、建立节点目录(6个 存放六个实例)
mkdir node1 node2 node3 node4 node5 node6
六、复制文件(把编译安装好的实例分别复制到港建立的 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/
七、编辑各自节点(实例)的配置文件(以node1的配置文件redis.conf为例,其余5个节点参照node1)
vim node1/redis.conf
(1)daemonize yes
(2)port 7001 #(其他节点:700二、700三、700四、700五、7006)
(3)pidfile /var/run/redis_7001.pid #(其他节点:700二、700三、700四、700五、7006)redis以守护进程方式运行时,系统默认会把pid写入/var/run/redis_7001.pid
(4)cluster-enabled yes #此redis实例做为集群的一个节点
(5)cluster-config-file nodes-7001.conf #(其他节点:nodes-700二、三、四、五、6.conf)集群配置文件,系统自动维护,不能人工编辑,主要记录集群中有哪些节点,状态等参数
(6)cluster-node-timeout 15000 #节点可以失联的最大时间
分别编辑其他各个节点的配置文件,修改各自的配置信息,改为各自对应的端口(具体过程参照node1)。
八、下载 gem 文件
wget https://rubygems.org/downloads/redis-4.1.2.gem
(下载地址:https://rubygems.org/gems/redis/versions/4.1.2)
赋权
chmod 777 redis-4.1.2.gem
九、安装 ruby 环境
yum install -y ruby gem install /usr/local/redis-cluster/redis-4.1.2.gem
直接安装gem文件会提示 ruby 版本过低,须要 ruby 版本在 2.3 以上。
解决方案:
一、安装基本工具
yum install -y curl ruby
二、查看现有版本
ruby -v ruby 2.0.0p648 (2015-12-16) [x86_64-linux]
三、获取rvm.io(发现安装失败)
curl -L get.rvm.io | bash -s stable
四、根据提示增长引用
curl -sSL https://rvm.io/mpapis.asc | gpg2 --import - 或者 curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -
五、再一次获取rvm.io(成功!)
curl -L get.rvm.io | bash -s stable
六、查找配置文件
find / -name rvm.sh /etc/profile.d/rvm.sh
使配置文件生效
source /etc/profile.d/rvm.sh
七、下载RVM依赖
rvm requirements
八、再查看配置文件
find / -name rvm -print
九、查看rvm列表
rvm list known
十、安装 rvm 的 v2.4.1
rvm install 2.4.1
十一、配置环境变量
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
十二、删除旧版本的ruby
rvm remove 2.0.0p648 ruby-2.0.0p648 - #already gone Using /usr/local/rvm/gems/ruby-2.4.1
1三、查看最终版本
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
十、使用 gem 安装 redis
gem install redis
十一、进入目录 /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
十二、启动脚本
./start-all.sh
1三、查看启动情况
ps -ef | grep redis ps aux | grep redis netstat -lntp
1四、建立集群
./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: # 有三个主节点 分别是端口 700一、700二、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 #开始搭建
3、客户端测试
连接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的哈希槽存储到对应节点。