IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Redis集群环境搭建 -> 正文阅读

[大数据]Redis集群环境搭建

环境搭建准备:

心血来潮,去申请了一个免费的腾讯云服务器来玩玩,顺便在上面做一些部署,顺便记录一下搭建的踩坑历程(有时候的命令真的能气死你。。。),好了闲话少叙,我们进入正题

1. 腾讯云我安装的系统是 centos8.0(本来是ubuntu加docker进行部署,太简单了就没做记录,可以给大家一个关于docker搭建redis集群的操作记录,简单快捷:基于Docker搭建Redis集群(主从集群) - niceyoo - 博客园)

2. 将需要用到的集群端口开放? ?(三主三从的集群环境 )? ? ? ? ??

?????????也需要将reids集群之间的通讯端口开放,对应上面的端口加一万 如:6379 ??16379

3.?如果开始是纯净新装的centos系统 安装wget 命令 : yum -y install wget

4.? 安装gcc环境 :yum install gcc-c++

开始搭建

? ? ? ? 如果上面的步骤已经完成了,我们继续往下

1. 下载redis?个人习惯在/usr/local里面进行下载redis

????????wget http://download.redis.io/releases/redis-6.0.16.tar.gz

2.? 解压?tar -zxvf redis-6.0.16.tar.gz

3. 安装 先进入解压后的文件 redis-6.0.16

????????执行 make 编译

????????然后执行 make install PREFIX=/usr/local/redis-6.0.16? 进行安装

4.?为了方便管理,在/usr/local下新建了一个redis-cluster 目录存放集群的数据并新建每台机器的配置文件目录如下:

?5.?创建完成后,复制 redis-6.0.16/redis.conf? 到6379目录下打开文件进行配置

修改如下内容(找到这些内容,然后进行修改dir应该是在365行左右(是不是很贴心)):

port 6379 #端口
cluster-enabled yes #启用集群模式
cluster-config-file nodes-6379.conf  #集群节点信息文件,这里6379和端口对应上
cluster-node-timeout 5000 #超时时间
appendonly yes # aof持久化
daemonize yes # 后台运行
protected-mode no # 非保护模式
pidfile  /var/run/redis_6379.pid  # 对应端口
dir /usr/local/redis‐cluster/6379/(指定数据文件存放位置,必须要指定不同的目录位置,不然会 丢失数据)
# bind 127.0.0.1(bind绑定的是自己机器网卡的ip,如果有多块网卡可以配多个ip,代表允许客户端通过机器的哪些网卡ip去访问,内网一般可以不配置bind,注释掉即可)

6.?对应的把其他几台机器一样配置改了一个直接复制就好,把6379的端口改成其他端口就行

7.?分别启动redis实例并检查情况

????????/usr/local/redis‐6.0.16/src/redis‐server /usr/local/redis‐cluster/6379/redis.conf

????????如果启动报错,进入src文件夹(没搞清楚为啥,其他博客好像都是上面的方式,我弄死不

????????得行,只能自己想办法)

????????./redis-server /usr/local/redis‐cluster/6379/redis.conf

????????ps ‐ef | grep redis?查看redis启动情况

?

8.?启动完成后启动集群

/usr/local/redis-6.0.16/src/redis-cli --cluster create 124.222.223.214:6379 124.222.223.214:6380 124.222.223.214:6381 124.222.223.214:6382 124.222.223.214:6383 124.222.223.214:6384 --cluster-replicas 1

? ? ? ? 中途会把集群信息分配打印出来,M主节点 S从节点(三主三从)没问题就输入yes,放个别人的截图将就看下,一个意思

?

?至此,redis环境搭建算是完成了,接下来我们来使用,以及看下坑的地方

使用

? ? ? ? 本文使用spring boot来进行操作,搭建要有兴趣可以去看我前面的博客,太简单了就不多说了。

?spring boot 使用redis 依赖:??

        <!-- 都没有写版本,我前面得环境已经有了版本依赖,自行调整或者看我前面得环境搭建-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <!-- 连接池-->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
        </dependency>

application.yml

  redis:
    database: 0
    timeout: 3000
    cluster:
      nodes: 124.222.223.214:6379,124.222.223.214:6380,124.222.223.214:6381,124.222.223.214:6382,124.222.223.214:6383,124.222.223.214:6384
    lettuce:
      pool: # 连接池信息
        max-idle: 50
        min-idle: 10
        max-active: 100
        max-wait: 1000
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


@RestController
@RequestMapping("/redisDemo")
public class RedisDemoController {

    @Autowired
    private StringRedisTemplate redisTemplate;

    @RequestMapping("/addKey")
    public String addKey(String key,String value){
        redisTemplate.opsForValue().set(key,value);
        return "新增成功";
    }

    @RequestMapping("/get")
    public String get(String key){
        return redisTemplate.opsForValue().get(key);
    }
}

这个代码很简单,至此启动开始尝试(坑来了)

启动报错,没办法创建redisDemo的Bean对象。。。。。。(如果你没有报错,当我没说过)

代码没啥问题,问题点是应连不上远程地址

? ? ? ? 1. 看看 redis配置文件记得注释掉 bind 127.0.0.1 或者配置为 bind 0.0.0.0

? ? ? ? 2. 端口有没有开发完,别漏了

? ? ? ? 3. 查看集群环境的节点信息

? ? ? ? ?why? 打开对应的每一个节点,自己的都是内网地址(没去研究这个问题,哪天有闲心了再去看看为啥)。。。。。

? ? ? ? 老老实实操作,先把集群都停了,一个个的停:

???????/usr/local/redis6.0.16/src/rediscli c h 124.222.223.214?p 6379?shutdown

? ? ? ? 如果不行,ps -ef|grep redis? 然后kill掉这六个

? ? ? ?接下来把每个redis.conf 文件中内网的ip都改为公网的,再用上面第七步把每个实例启动就好,不要再执行第八步,集群搭建一次下次启动只需要把实例重启

再次启动项目,可以了,访问一下:

?

?好了,redis集群环境搭建及使用就到这儿了,如果还有其他问题,欢迎留言交流,我一般是想到哪儿写到那儿,当然前面的系列也会慢慢补充,有时间就会继续新增,记录,交流,共同进步

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-02-26 11:37:32  更:2022-02-26 11:41:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:53:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码