目录
一、实验
1.环境
2.多实例Redis部署
3.Twemproxy 升级Redis代理
一、实验
1.环境
(1)主机
表1 主机
| 系统 | 版本 | 软件 | IP | 备注 |
| CentOS | 7.9 | Twemproxy | 192.168.204.200 | Redis代理 |
| Redis | 127.0.0.1:6379 | 第一个Redis实例 | ||
| Redis | 127.0.0.1:6380 | 第二个Redis实例 | ||
| Redis | 127.0.0.1:6381 | 第三个Redis实例 |
(2)Termius连接

成功:

(3)查看系统版本
cat /etc/os-release

2.多实例Redis部署
(1)单实例Redis部署
可以参考本人博客:
数据库应用:Redis安装部署-CSDN博客
(2)第二个实例Redis部署
#执行软件包提供的install_server.sh 脚本文件,设置Redis服务所需要的相关配置文件
cd /opt/redis-5.0.7/utils
./install_server.sh
.......#一直回车
Please select the redis executable path [] /usr/local/redis/bin/redis-server
#这里默认为/usr/local/bin/redis-server,需要手动修改为/usr/local/redis/bin/redis-server,注意要一次性正确输入
---------------------- 虚线内是注释 ----------------------------------------------------
Selected config:
Port: 6380 #默认侦听端口为6379
Config file: /etc/redis/6380.conf #配置文件路径
Log file: /var/log/redis_6380.log #日志文件路径
Data dir : /var/lib/redis/6380 #数据文件路径
Executable: /usr/local/redis/bin/redis-server #可执行文件路径
Cli Executable : /usr/local/bin/redis-cli #客户端命令工具

#当install_server.sh 脚本运行完毕,Redis 服务就已经启动,默认监听端口为6379
netstat -natp | grep redis
(3)第三个实例Redis部署
#执行软件包提供的install_server.sh 脚本文件,设置Redis服务所需要的相关配置文件
cd /opt/redis-5.0.7/utils
./install_server.sh
.......#一直回车
Please select the redis executable path [] /usr/local/redis/bin/redis-server
#这里默认为/usr/local/bin/redis-server,需要手动修改为/usr/local/redis/bin/redis-server,注意要一次性正确输入
---------------------- 虚线内是注释 ----------------------------------------------------
Selected config:
Port: 6381 #默认侦听端口为6379
Config file: /etc/redis/6381.conf #配置文件路径
Log file: /var/log/redis_6381.log #日志文件路径
Data dir : /var/lib/redis/6381 #数据文件路径
Executable: /usr/local/redis/bin/redis-server #可执行文件路径
Cli Executable : /usr/local/bin/redis-cli #客户端命令工具

#当install_server.sh 脚本运行完毕,Redis 服务就已经启动,默认监听端口为6379
netstat -natp | grep redis

3.Twemproxy 升级Redis代理
(1)安装git
yum -y install git

(2) 创建目录
mkdir soft

(3)下载源码
cd ~/soft
git clone https://github.com/twitter/twemproxy.git

(4)安装automake和libtool
yum -y install automake libtool

(5) 在项目目录中使用以下命令重新生成 configure 脚本
cd ~/soft/twemproxy/
autoreconf -fvi

查看

(6)执行configure
./configure

完成:

(7)执行make

完成:
make

(8)配置Twemproxy
实现全局任意地方执行
cd ~/soft/twemproxy/src
cp nutcracker /usr/bin/

(9)创建目录
用来存放相关配置文件
mkdir /etc/nutcracker

(10)复制文件
将源码目录scripts下的nutcracker.init文件复制到/etc/init.d下改名为twemproxy
cd ~/soft/twemproxy/scripts/
cp nutcracker.init /etc/init.d/twemproxy

(11)授权
给twemproxy执行权限
chmod +x /etc/init.d/twemproxy

(12)拷贝文件
将nutcracker相关配置文件拷贝到刚创建的/etc/nutcracker目录下
cd ~/soft/twemproxy/conf
cp * /etc/nutcracker
(13)备份
cd /etc/nutcracker
cp nutcracker.yml nutcracker_bak.yml

(14)修改配置文件
vim nutcracker.yml

修改前:

光标移动到beta配置上方空行出 按下d键+(大写)G键
完成删除

修改
alpha:
listen: 127.0.0.1:22121
hash: fnv1a_64
distribution: ketama
auto_eject_hosts: true
redis: true
server_retry_timeout: 2000
server_failure_limit: 1
servers:
- 127.0.0.1:6379:1
- 127.0.0.1:6380:1
- 127.0.0.1:6381:1

(15)强制关闭当前所有Redis服务
查看进程
ps -ef | grep redis

强制关闭进程
kill -9 PID

再次查看进程,显示已关闭

(16)Termius新开3个窗口
第一个窗口执行
cd /usr/local/redis/bin/
redis-server --port 6379

第二个窗口执行
cd /usr/local/redis/bin/
redis-server --port 6380

第三个窗口执行
cd /usr/local/redis/bin/
redis-server --port 6381

(17)开启twemproxy代理的服务
初始窗口执行
service twemproxy start

(18)新开Redis_Twemproxy客户端窗口
登录
redis-cli -p 22121

执行set操作(写入键值对)
127.0.0.1:22121> set cicd 123
OK
127.0.0.1:22121> set devops 123
OK
127.0.0.1:22121> set kubernetes 123
OK

(19)分别进入三个Redis实例(set操作实现均匀分布)
查看第一个实例
redis-cli -p 6379
keys *
exit

查看第二个实例
redis-cli -p 6380
keys *
exit

查看第三个实例
redis-cli -p 6381
keys *
exit




















