redis系列(1)之安装和集群部署

ubuntu下安裝

1. 下载Redis的安装包(x.x.x表示版本)

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

2.在目录下,解压按照包,生成新的目录redis-x.x.x

tar xvfz redis-x.x.x.tar.gz

3. 进入解压之后的目录,进行编译

cd redis-2.8.9
sudo make
//如果没有明显的错误,则表示编译成功

4.安装

sudo make install

5.测试是否安装成功

sudo make test

6.启动redis服务

进入redis的目录,再进入src目录。

./redis-server 

这时候是用了默认的配置
如果要用自己的配置可以在后面加入配置文件路径

./redis-server ../redis.conf 

查看日志

 src/redis-server ../redis.conf  > ../logs/log.out 2>&1 &
查看redis日志
(或者配置文件中配置)
tail logs/log.out

7.连接redis服务

./redis-cli

如果用密码,则–》auth password

密码的设置在conf文件中–》requirepass foobared 改为自己的密码即可。

8.java测试连接

使用jredis.jar

    @Test
    public void link(){
        //连接服务器的 Redis 服务
        Jedis jedis = new Jedis("192.168.247.133");
        jedis.auth("redis");
        System.out.println("Connection to server sucessfully");
        //查看服务是否运行
        System.out.println("Server is running: "+jedis.ping());
    }

9.密码设置

redis.conf 中requirepass foobared 改为自己的密码
jedis.auth(“redis”); 表示redis的密码如果不设置,默认会报错

redis.clients.jedis.exceptions.JedisDataException: DENIED Redis is running in protected mode because protected mode is enabled, no bind address was specified,
no authentication password is requested to clients. In this mode connections are only accepted from the loopback interface.
 If you want to connect from external computers to Redis you may adopt one of the following solutions:
 1) Just disable protected mode sending the command 'CONFIG SET protected-mode no' from the loopback interface by connecting to Redis from the same host
 the server is running, however MAKE SURE Redis is not publicly accessible from internet if you do so. Use CONFIG REWRITE to make this change permanent.
  2) Alternatively you can just disable the protected mode by editing the Redis configuration file, and setting the protected mode option to 'no', and then restarting the server.
  3) If you started the server manually just for testing, restart it with the '--protected-mode no' option.
 4) Setup a bind address or an authentication password. NOTE: You only need to do one of the above things in order for the server to start accepting connections from the outside.
按照要求修改配置文件即可,但是启动的时候记得加入配置文件路径。

安装方式二

在 Ubuntu 系统安装 Redi 可以使用以下命令:

$sudo apt-get update
$sudo apt-get install redis-server

集群配置

1.Redis官方集群方案 Redis Cluster

3.0版本后才开始支持集群案

2.Redis Sharding(分片)集群

master-slave-sentinel方案

redis的方案采用master-slave-sentinel方案。于是分配三个主机。

角色分配为

master: 192.168.1.100:6379

slave: 192.168.1.101:6380,192.168.1.102:6381

sentinel: 192.168.1.100:26379, 192.168.1.101:26380 , 192.168.1.102:2681

1 主 2 从 3 哨兵

3.1 防火墙

三台主机开通tcp策略

-A INPUT -m state —state NEW -m tcp -p tcp —dport16661 -j ACCEPT

-A INPUT -m state —state NEW -m tcp -p tcp —dport16662 -j ACCEPT

3.2 创建工作目录

在每台主机上创建目录

mkdir –p /opt/redis-xx

3.3 配置文件

u 3台主机各需要一份redis.conf文件

u 3台主机也需要一份sentinel.conf配置文件

将redis-3.2.4/下的redis.conf 拷贝到各个主机工作目录(/opt/redis- xx /)

cp /opt/redis-3.2.4/redis.conf /opt/redis-xx/ xxxxxxxxxx
将redis-3.2.4/下的sentinel.conf 拷贝到各个主机工作目录(/opt/redis-mss/)

cp /opt/redis-3.2.4/sentinel.conf /opt/redis-xx/
master的redis.conf部分配置如下

配置master

bind 192.16.1.100     #bind 当前主机的ip
protected-mode no  # 取消掉保护模式
timeout 60
port 16661                                  # redis服务端口,
daemonize yes
logfile /opt/redis-mss/redis.log              # 日志目录,
dbfilename dump.rdb   # db文件的名字
dir /opt/redis-mss      # db文件所在的目录,最终db文件在/opt/redis-mss/dump.rdb
slave的redis.conf部分配置如下

配置slave

protected-mode no  # 取消掉保护模式
timeout 60
port 16661                                  # redis服务端口,
daemonize yes
logfile /opt/redis-mss/redis.log           # 日志目录,
dbfilename dump.rdb      # db文件的名字
dir /opt/redis-mss         # db文件所在的目录,最终db文件在/opt/redis-mss/dump.rdb
slaveof 192.168.1.100 6379    # 填写master的ip和port
sentinel的sentinel.conf的部分配置如下

添加下面两行

daemonize yes
logfile /opt/redis-mss/sentinel.log

修改

protected-mode no  # 取消掉保护模式
port 26379
dir /opt/redis-mss
# sentinel monitor <master-name><ip><redis-port><quorum>
# quorum 表示要多少台sentinel 主观判断master断开时,执行auto-failover
sentinel monitor mymaster 192.168.1.100 6379 2
# sentinel down-after-milliseconds <master-name><milliseconds>
# 多少毫秒内会认为master挂了,默认30s,
sentinel down-after-milliseconds mymaster 5000

需要注意的是,img这个2表示3台sentinel中有2台主观认为master宕机时,就执行自动主从切换(auto-failover)。这个值应该尽可能靠近sentinel总数的50%。

3.5 启动

第一次启动集群先要启动master

/opt/redis-3.2.4/src/redis-server /opt/redis-xx/redis.conf
然后启动slav(117, 118)

/opt/redis-3.2.4/src/redis-server /opt/redis-xx/redis.conf
最后启动sentinel

/opt/redis-3.2.4/src/redis-server /opt/redis-mss/sentinel.conf --sentinel
各个节点的日志都会放在相应的/opt/redis-xx目录下

我的官网

我的官网http://guan2ye.com
我的CSDN地址http://blog.csdn.net/chenjianandiyi
我的简书地址http://www.jianshu.com/u/9b5d1921ce34
我的githubhttps://github.com/javanan
我的码云地址https://gitee.com/jamen/
阿里云优惠券https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=vf2b5zld&utm_source=vf2b5zld

阿里云教程系列网站http://aliyun.guan2ye.com

我的开源项目spring boot 搭建的一个企业级快速开发脚手架

时间: 2024-10-29 11:23:15

redis系列(1)之安装和集群部署的相关文章

Redis(3.2.3)集群部署实战

一.Redis简介 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. Redis官网地址:http://redis.io/ Redis中文网地址:http://redis.cn Redis中文文档地址:http://redisdoc.com 二.Redis安装 系统环境:CentOS 6.8 mininal 初始化完成       下载,解压,编译: wget http://download.redis.i

CentOS redis集群部署 开启防火墙无法访问集群

问题描述 CentOS redis集群部署 开启防火墙无法访问集群 CentOS redis集群部署 开启防火墙无法访问集群 我现在是单机部署的一个伪集群,通过命令 redis-trib.rb check ip:端口 可以正常检测集群状态, 一旦我将iptables 防火墙 启动,就无法检测了~~这是为啥啊~ 还有一个问题 我用tomcat集群+redis 做session共享,也是一样,开启防火墙,就无法连接redis服务器 只要关闭防火墙,就一切正常~~ iptables 文件没问题,难道是

手动安装Hadoop集群的过程

最近又安装 Hadoop 集群,由于一些原因,没有使用 Hadoop 管理工具或者自动化安装脚本来安装集群,而是手动一步步的来安装,本篇文章主要是记录我手动安装 Hadoop 集群的过程,给大家做个参考. 这里所说的手动安装,是指一步步的通过脚本来安装集群,并不是使用一键安装脚本或者一些管理界面来安装. 开始之前,还是说明一下环境: 操作系统:CentOs6.4 CDH版本:4.7.0 节点数:4个 在开始之前,你可以看看我以前写的一篇文章 使用yum安装CDH Hadoop集群,因为有些细节已

Oracle 10g RAC集群安装部署过程中如何安装RAC集群套件

一.首先解压集群套件包: gunzip 10201_clusterware_linux_x86_64.gz cpio -idmv < 10201_clusterware_linux_x86_64.cpio 解压放置的地方需要有oracle用户使用的权限 二.开始安装oracle RAC集群套件, 2.2.1.安装之前首先关闭两个节点的防火墙,Selinux不然是无法通过安装的 2.2.2.安装之前修改系统版本,来欺诈oracle数据库,然后执行xhost+ 2.2.3.完成上面的配置之后,使用o

吐血力作:平台云deis之安装CoreOS集群

1. 准备安装CoreOS 准备CoreOS安装文件 ISO:http://alpha.release.core-os.net/amd64-usr/current/coreos_production_iso_image.iso image:http://alpha.release.core-os.net/amd64-usr/current/coreos_production_image.bin.bz2 image签名:http://alpha.release.core-os.net/amd64-

RabbitMQ的安装及集群搭建方法

RabbitMQ安装 1 安装erlang 下载地址:http://www.erlang.org/downloads 博主这里采用的是otp_src_19.1.tar.gz (200MB+) [root@hidden util]# tar zxvf otp_src_19.1.tar.gz [root@hidden util]# cd otp_src_19.1 [root@hidden otp_src_19.1]# ./configure --prefix=/opt/erlang [root@hi

weblogic安装好集群,在给管理域部署web应用时候,无start(启动)按钮!!!

问题描述 weblogic安装好集群,在给管理域部署web应用时候,无start(启动)按钮!!! 各位大师,请帮忙看看,谢谢 weblogic 版本12c安装好集群,在给管理域部署web应用时候,状态为准备就绪,无start(启动)按钮,导致无法启动应用.如果是单机部署,状态自动为活动,但是集群状态无法变为活动,一直是准备就绪. 1.为何没有无start(启动)按钮呢? 2.如果用命令行启动呢,谢谢

使用kubeadm安装k8s集群故障处理三则

最近在作安装k8s集群,测试了几种方法,最终觉得用kubeadm应该最规范. 限于公司特别的网络情况,其安装比网上不能访问google的情况还要艰难. 慢慢积累经验吧. 今天遇到的三则故障记下来作参考. 当然,所有方法都是看了log输出后,从网上搜索的方法. =============== Q,如何让kubeadm在安装过程中不联网? A:记得在kubeadm init过程中增加参数 --kubernetes-version=v1.7.0 Q,kubelet cgroup driver参数不一致

Hadoop集群部署权限总结

这是一篇总结的文章,主要介绍 Hadoop 集群快速部署权限的步骤以及一些注意事项.如果你想了解详细的过程,请参考本博客中其他的文章. 1. 开始之前 hadoop 集群一共有三个节点,每个节点的 ip.hostname.角色如下: 192.168.56.121 cdh1 NameNode.kerberos-server.ldap-server.sentry-store 192.168.56.122 cdh2 DataNode.yarn.hive.impala 192.168.56.123 cd