Linux服务升级:Twemproxy 升级 Redis代理

2024-05-25 15:04

本文主要是介绍Linux服务升级:Twemproxy 升级 Redis代理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

 一、实验

1.环境

2.多实例Redis部署

3.Twemproxy 升级Redis代理


 

 一、实验

1.环境

(1)主机

表1  主机

系统版本软件IP备注
CentOS7.9Twemproxy192.168.204.200

   Redis代理

  Redis127.0.0.1:6379第一个Redis实例
  Redis127.0.0.1:6380第二个Redis实例
  Redis127.0.0.1:6381第三个Redis实例

(2)Termius连接

99f0db4011ba4ecf8df50a08a9a4754c.png

成功:

cb0a5ea3a55341a6be0d012d926b8808.png

(3)查看系统版本

 cat /etc/os-release

3f8f4db4a6584d2cb50cf0efe96b5a91.png

 

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                                      #默认侦听端口为6379Config 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       #客户端命令工具

0fdbc1cc46be49298906efb4e2bacb74.png

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

7a090fdfd17f4341b54ba1cd74ebc0f7.png(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                                      #默认侦听端口为6379Config 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       #客户端命令工具

a60a216fbd2449509392afc12b13f79a.png

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

74d4d33a282245e196021bba24e5f05b.png

3.Twemproxy 升级Redis代理

(1)安装git

yum -y install git

86c7636799d14ce48d1fbe43072d42d0.png

(2) 创建目录

mkdir soft

88e90233fbd94771b0dd78b1927e860b.png

(3)下载源码

cd ~/soft
git clone https://github.com/twitter/twemproxy.git

be85c03270934a2b934786d3a47f81bd.png

(4)安装automakelibtool

yum -y install automake libtool

4fa138dd1fc24d64a71ba351d1dcaf75.png

(5) 在项目目录中使用以下命令重新生成 configure 脚本

cd ~/soft/twemproxy/
autoreconf -fvi

5be075845c1743169ccf94dbda955e29.png

查看

09d0123f69c44a5a8b5fef814961dd01.png

(6)执行configure

./configure

4b3ccc3b38f744e18296a0a0edfb26b9.png

完成:

c79506ba191a4b89b2e41deb29b3a7dd.png

(7)执行make

 

c9eeb9fe49a14ac49310b1ff1c1aacc1.png

完成:

make

3a1497a405c34bc393c6538d61d5b7e5.png

(8)配置Twemproxy

实现全局任意地方执行

cd ~/soft/twemproxy/srccp nutcracker /usr/bin/

4f10fc18f1d244d1982d03f47f5d1818.png

(9)创建目录

用来存放相关配置文件

mkdir /etc/nutcracker 

93d84fd9a605418e844db6948546e6ed.png

(10)复制文件

将源码目录scripts下的nutcracker.init文件复制到/etc/init.d下改名为twemproxy

cd ~/soft/twemproxy/scripts/
cp nutcracker.init /etc/init.d/twemproxy

5c776595af96440cb5884faf7ed8852a.png

(11)授权

给twemproxy执行权限

chmod +x /etc/init.d/twemproxy

8ddc7ff99c8348afa1b8a038e30cce6e.png

(12)拷贝文件

nutcracker相关配置文件拷贝到刚创建的/etc/nutcracker目录下

cd ~/soft/twemproxy/confcp * /etc/nutcracker

(13)备份

cd /etc/nutcrackercp nutcracker.yml nutcracker_bak.yml 

1730be9bfa1d456a8a3c36fa2505cee3.png

(14)修改配置文件

vim nutcracker.yml

cc52b2cfbd364778a14a73892eb9db8d.png

修改前:

1303446fe5314d55a01668323f96be5f.png

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

完成删除

8ceaa3f4f4f24d8ba710cfe840d46a0a.png

修改

alpha:listen: 127.0.0.1:22121hash: fnv1a_64distribution: ketamaauto_eject_hosts: trueredis: trueserver_retry_timeout: 2000server_failure_limit: 1servers:- 127.0.0.1:6379:1- 127.0.0.1:6380:1- 127.0.0.1:6381:1

ae5b92cafea94d7fb15c1cd68ae8b1a0.png

(15)强制关闭当前所有Redis服务

查看进程

ps -ef | grep redis

0ce1bf3dc62c441e8ece24f5c258450f.png

强制关闭进程

kill -9 PID

b8518249cf494c1dbb96c8b03a54e0e2.png

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

63f0533948344529a3ed64303a67f2db.png

(16)Termius新开3个窗口

第一个窗口执行

cd /usr/local/redis/bin/redis-server --port 6379

3e11a8a8bc4a4f6da48c392f55776c08.png

 第二个窗口执行

cd /usr/local/redis/bin/redis-server --port 6380

4b63f9c1508547e58ae0cc992283ce3a.png

  第三个窗口执行

cd /usr/local/redis/bin/redis-server --port 6381

fd703956c48e4a3cadd3b5a05831743c.png

(17)开启twemproxy代理的服务

初始窗口执行

service twemproxy start

e2d6d6af0d1e411a90e16810a9e5a81d.png

(18)新开Redis_Twemproxy客户端窗口

登录

redis-cli -p 22121

 

0cd552ba49c74980b681301febc30e15.png

执行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

74a34738a9274af8a4885f2e83ee0a8f.png

(19)分别进入三个Redis实例(set操作实现均匀分布)

查看第一个实例

redis-cli  -p 6379
keys *
exit

ac5ad09c7c254c4bb7de7662e7386b93.png

查看第二个实例

redis-cli  -p 6380
keys *
exit

2ec78c41307d4412bc3d9d1b4d7463c8.png

查看第三个实例

redis-cli  -p 6381
keys *
exit

34453988602b46e699b5036dd2c0de24.png

 

 

 

这篇关于Linux服务升级:Twemproxy 升级 Redis代理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1001839

相关文章

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

在JS中的设计模式的单例模式、策略模式、代理模式、原型模式浅讲

1. 单例模式(Singleton Pattern) 确保一个类只有一个实例,并提供一个全局访问点。 示例代码: class Singleton {constructor() {if (Singleton.instance) {return Singleton.instance;}Singleton.instance = this;this.data = [];}addData(value)

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。