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

news2025/3/15 0:18:57

目录

 一、实验

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

0fdbc1cc46be49298906efb4e2bacb74.png

#当install_server.sh 脚本运行完毕,Redis 服务就已经启动,默认监听端口为6379
 netstat -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                                      #默认侦听端口为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       #客户端命令工具

a60a216fbd2449509392afc12b13f79a.png

#当install_server.sh 脚本运行完毕,Redis 服务就已经启动,默认监听端口为6379
 netstat -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/src

cp 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/conf

cp * /etc/nutcracker

(13)备份

cd /etc/nutcracker

cp 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: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

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

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1695293.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ssm141餐厅点菜管理系统+vue

餐厅点菜管理系统的设计与实现 摘 要 网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管…

2024年山东省安全员C证证考试题库及山东省安全员C证试题解析

题库来源:安全生产模拟考试一点通公众号小程序 2024年山东省安全员C证证考试题库及山东省安全员C证试题解析是安全生产模拟考试一点通结合(安监局)特种作业人员操作证考试大纲和(质检局)特种设备作业人员上岗证考试大…

如何选择一款安全高效的数据自动同步工具?

随着科技的不断发展,企业处理的数据量愈发庞大。数字化浪潮的涌现使得数据在业务活动和决策中的角色变得日益重要,然而这些数据往往分布在不同的位置,需要进行同步和分类,以便更有效地利用。以下是一些常见的数据自动同步场景&…

快速分析变量间关系(Boruta+SHAP+RCS)的 APP(streamlit)

快速分析变量间关系(BorutaSHAPRCS)的 APP(streamlit) 以下情况下,你需要这个快速分析的APP: 正式分析之前的预分析,有助于确定分析的方向和重点变量;收集变量过程中,监测收集的变量…

专业渗透测试 Phpsploit-Framework(PSF)框架软件小白入门教程(十一)

本系列课程,将重点讲解Phpsploit-Framework框架软件的基础使用! 本文章仅提供学习,切勿将其用于不法手段! 接上一篇文章内容,讲述如何进行Phpsploit-Framework软件的基础使用和二次开发。 我们,继续讲一…

销量翻倍不是梦!亚马逊速卖通自养号测评实战技巧分享!

在亚马逊、速卖通这些跨境电商平台上,卖家们都在想各种办法让自己的产品卖得更好。现在,有一种叫做“自养号测评”的方法特别火。简单来说,就是自己养一些买家账号,然后让这些账号来给你的产品写好评。这样,你的产品就…

Flume 的基本介绍和安装部署

一、Flume 概述 Flume 是 Cloudera 提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的框架服务 Flume 基于流式架构,灵活简单,能够实时读取服务器本地磁盘的数据,将数据写入到 HDFS 二、Flume 基础架构…

依赖的各种java库(工具类) :fastjson,lombok,jedis,druid,mybatis等

lombok 功能&#xff1a; Lombok 是一个实用的Java类库&#xff0c;可以通过简单的注解来简化和消除一些必须有但显得很臃肿的Java代码。 导入包&#xff1a;使用Lombok首先要将其作为依赖添加到项目中&#xff0c;在pom.xml文件中手动添加 <dependency><groupId&g…

深入探索Python基础:两个至关重要的函数

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、初学者的基石&#xff1a;print与input函数 二、类型转换&#xff1a;从字符串到浮点数…

【论文阅读】使用深度学习及格子玻尔兹曼模拟对SEM图像表征粘土结构及其对储层的影响

文章目录 0、论文基本信息1、深度学习2、可运行程序—Matlab3、深度切片3、LBM模拟4、局限性 0、论文基本信息 论文标题&#xff1a;Characterizing clay textures and their impact on the reservoir using deep learning and Lattice-Boltzmann simulation applied to SEM i…

Android Gradle开发、应用、插件发布(六)—实现打包自动复制文件插件

1. 前言 项目中遇到了一个问题 : 其中一个模块MyLibrary的assets文件夹中&#xff0c;需要存放很多文件(每个文件对应一个功能)。 这样导致的问题是MyLibrary打出的这个aar包体积特别大。 如果把MyLibrary严谨地拆解成若干个Module又比较费时&#xff0c;对于现在业务现状来…

HTML静态网页成品作业(HTML+CSS)——宠物狗介绍网页(3个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;未使用Javacsript代码&#xff0c;共有3个页面。 二、作品演示 三、代…

轻松调用其他工程的Python文件,提升编程效率

哈喽&#xff0c;大家好&#xff0c;我是木头左&#xff01; 一、前言 在Python开发过程中&#xff0c;经常会遇到需要在一个工程中调用另一个工程的Python文件的情况。这种情况通常发生在需要复用已有代码或者进行模块化开发时。那么&#xff0c;如何实现这一目标呢&#xff…

JVM(三)

在上一篇中&#xff0c;介绍了JVM组件中的类加载器&#xff0c;以及相关的双亲委派机制。这一篇主要介绍运行时的数据区域 JVM架构图&#xff1a; JDK1.8后的内存结构&#xff1a; (图片来源&#xff1a;https://github.com/Seazean/JavaNote) 而在运行时数据区域中&#…

SpringBoot+Vue开发记录(五)-- 数据库设计

我去&#xff0c;时隔这么久又开始了QAQ。主要是还是自己太懒了。 本篇文章的主要内容是数据库设计。 先简单创建个数据库&#xff1a; 这是创建好了的&#xff1a; 一、数据库设计 先就做一个很简单的设计&#xff0c;里面就只有用户和题。 大概就这样&#xff1a; 二、创…

【学习笔记】Windows GDI绘图目录

题外话 不知几时开始&#xff0c;觉得学习过程中将内容记录下来&#xff0c;有助于加强记忆&#xff0c;还方便后续查找&#xff0c;顺便帮助有需要的人&#xff0c;更有来自您阅读、点赞、收藏和评论时给我带来的动力与兴奋。 目录 【学习笔记】Windows GDI绘图(一)图形概述…

如何从U盘恢复误删除的文件

在许多情况下&#xff0c;用户可能会发现其U盘上的数据误删&#xff0c;并且无法访问或恢复它。在这篇文章中&#xff0c;我们将看到如何使用命令提示符尝试从U盘恢复损坏的文件和数据。我们还将列出一些免费的U盘恢复软件及其独特的功能&#xff0c;以便在前一种方法无法产生所…

PVE 虚拟机环境下删除 local-lvm分区

1、删除逻辑卷 lvremote pve/data 2、扩展逻辑卷 lvextend -l 100%FREE -r pve/root 3、 修改存储目录内容 点击 Datacenter - Storage &#xff08;1&#xff09;删除local-lvm分区 &#xff08;2&#xff09;编辑local分区&#xff0c;在内容一项中勾选所有可选项。

unity开发Hololens,使用unity自带的UGUI

hololens 使用UGUI 新建画布&#xff0c;添加组件&#xff0c; 画布模式改成WorldSpace&#xff0c;这样在能在3D场景里 随意的移动位置&#xff0c; 添加NearIteractionTouchaBleUnityUI、CanvasUtility组件 EaventsToReceive改成Pointer&#xff0c; 这样&#xff0c;UGUI的…

Idea中flume的Interceptor的编写教程

1.新建-项目-新建项目 注意位置是将来打包文件存放的位置&#xff0c;即我们打包好的文件在这/export/data个目录下寻找 2. 在maven项目中导入依赖 Pom.xml文件中写入 <dependencies> <dependency> <groupId>org.apache.flume</groupId> <artifa…