配置准备:

redis3.2.11安装配置规划

机器

192.168.169.135(本机虚拟机)

系统

Red Hat Enterprise Linux Server release 6.4 (Santiago)

系统内核

2.6.32-358.el6.x86_64

安装包

redis-3.2.11.tar.gz

路径

Tar包路径:/home/usird/redis-3.2.11.tar.gz

解压后路径:/home/usird/redis-3.2.11

放置配置文件路径:/home/usird/redis_group(为方便管理,故而将所需配置文件及执行文件统一放在此文件夹)

(无需ruby环境,无需其他文档所说的各种依赖包)

本文档采用主从复制方式去搭建集群,具体情况是:

服务器:192.168.169.135

主服务器(master):192.168.169.135:6301

从服务器(slave1):192.168.169.135:6302

从服务器(slave2):192.168.169.135:6303

哨兵1:192.168.169.135:26301

哨兵2:192.168.169.135:26302

哨兵3:192.168.169.135:26303

redis3.2.11安装包提供:

云盘网址:https://pan.baidu.com/s/1xf6PTJedUWlf4AwEH4UDSg

提取密码:15mp

1. 安装步骤

1.1. 新建用户

1、为了统一管理redis数据库,使用root用户新建管理用户usird

新建用户:adduser usird

 

2、修改用户密码,进行安全考虑

修改密码:passwd usird  输入密码为usird

 

3、切换到usird用户,正式进行redis数据库集群的搭建

切换usird用户:su - usird

 

1.2. 下载上传redis-3.2.11.tar.gz包

4、下载redis-3.2.11.tar.gz包到本地

云盘网址:https://pan.baidu.com/s/1xf6PTJedUWlf4AwEH4UDSg

提取密码:15mp

5、进入到usird用户主目录

进入主目录:cd

 

6、利用xshell工具上传刚刚下载的tar包到服务器

1.3. 解压编译redis-3.2.11.tar.gz包

7、解压已上传的tar包

解压:tar -zxvf redis-3.2.11.tar.gz

 

8、删除redis的tar包,减轻服务器压力,如果磁盘和内存空间足够大,可以不删除,跳过这一步

删除tar包: rm -rf redis-3.2.11.tar.gz

9、进入解压后的redis-3.2.11目录执行make命令

进入解压后路径:cd  redis-3.2.11/

执行编译命令:make

 

Make成功之后,在src目录中会出现redis-server、redis-sentinel、redis-cli、redis-benchmark、redis-check-rdb、 redis-check-aof等可执行文件

10、为了方便后期统一管理,现在在usird用户主目录下面新建redis_group文件夹,将redis集群相关配置文件和执行文件放置在一起

1.4. 新建文件夹统一管理

新建文件夹:mkdir redis_group

复制文件到文件夹(依次执行下列命令):

cd redis-3.2.11

cp redis.conf  ../redis_group/

cd  src/

cp redis-server redis-cli redis-sentinel ../../redis_group/

cd ../../redis_group/  

ls

1.5. 修改redis.conf配置文件

11、模拟节点为3,哨兵节点为3,需3份redis.conf配置文件,3份sentinel.conf配置文件:

redis-6301.conf、redis-6302.conf、redis-6303.conf

sentinel-26301.conf、sentinel-26302.conf、sentinel-26303.conf

依次执行命令:

mv  redis.conf  redis-6301.conf

cp  redis-6301.conf  redis-6302.conf

cp  redis-6301.conf  redis-6303.conf

touch  sentinel-26301.conf

touch  sentinel-26302.conf

touch  sentinel-26303.conf

12、修改redis-6301.conf配置文件,修改以下参数:

执行命令:vim redis-6301.conf

redis-6302.conf、redis-6303.conf修改参数同上面,此处不进行赘述

1.6. 启动redis服务

13、启动redis服务并查看进程:

分别执行以下命令:

./redis-server redis-6301.conf

./redis-server redis-6302.conf

./redis-server redis-6303.conf

ps -ef|grep redis

 

14、进入redis客户端:

依次执行以下命令:

./redis-cli -p 6301

./redis-cli -p 6302

./redis-cli -p 6303

 

由于此时还未配置master和slave,所以现在看不到具体一些连接参数

退出客户端命令:exit

 

1.7. 配置master及slave

15、配置slave,在6302和6303客户端分别执行:

SLAVEOF 127.0.0.1 6301

 

16、再次进入redis客户端,查看master和slave信息:

1)

./redis-cli -p 6301

info

exit

 

2)

./redis-cli -p 6302

info

exit

 

3)

./redis-cli -p 6303

info

exit

 

1.8. 配置哨兵文件

17、配置哨兵文件,修改sentinel-26301.conf配置文件,添加下面参数:

#端口

port 26301

# 使用宿主进程启动

daemonize yes

# 启动目录

dir "/home/usird/redis_group"

# 日期文件路径

logfile "/home/usird/redis_group/sentinel-26301.log"

sentinel monitor mymaster 127.0.0.1 6301 1

 

sentinel-26302.conf、sentinel-26303.conf修改参数同上面,此处不进行赘述(修改标蓝端口)

 

1.9. 启动哨兵

18、启动哨兵并查看进程,执行命令:

./redis-sentinel sentinel-26301.conf

./redis-sentinel sentinel-26302.conf

./redis-sentinel sentinel-26303.conf

ps -ef|grep redis

1.10. 手动杀死master:6301进程

19、现在作为主服务器(master)的是6301端口,现在杀死该进程,查看从服务器是否会转换成master,以确保数据不会丢失,服务仍正常运转

查看进程并杀死进程:

ps -ef|grep redis

kill -9 78633

20、查看日志:

tail -f sentinel-26301.log

由此我们能看到Slave:6302:自动转换成了master,来进入客户端查看一下

1.11. 重启6301:redis服务

./redis-server redis-6301.conf

查看日志:

tail -f sentinel-26301.log

1.12. Master插入key-vlaue

依次执行:

 ./redis-cli -p 6302

set hello world

exit

1.13. Slave读取数据

依次执行:

1)

./redis-cli -p 6301

get hello

exit

 

2)

./redis-cli -p 6303

get hello

exit

             

至此,redis集群搭建完毕,测试master与slave关系完毕,输入插入读取完毕

 

1.14. Eclipse连接redis数据库

21、关闭Linux服务器防火墙(或指定开放端口)

22、usird用户修改配置文件,redis-6302.conf

依次执行:

1)cd /home/usird/redis_group

2)vim  redis-6302.conf

注释:127.0.0.1行,即 #127.0.0.1

修改protected-mode参数,即protected-mode no

 

然后保存文件,重启6302redis端口服务

23、打开eclipse,新建project----jedistest

在jedistest项目src目录下新建一个class----demo

代码:

package jedistest;

import redis.clients.jedis.Jedis;

public class demo {

public static void main(String[] args) {

// 测试是否能成功连接上Linux服务器上面的redis数据库

Jedis jedis = new Jedis("192.168.169.135", 6302);

jedis.ping();

System.out.println("Server is running: " + jedis.ping());

//新插入的数据

jedis.set("hello1", "world1");

String value = jedis.get("hello1");

System.out.println("hello1的value值为:"+value);

//linux服务器上面新建的key对应value

System.out.println("hello的value值为:"+jedis.get("hello"));

}

}

 

Eclipse能成功连接Linux服务器上面的redis数据库,并插入数据、读取数据,返回值为

 

注意在贴入代码时,需要导入两个jar包(jedis-2.4.1.jar、commons-pool2-2.4.2.jar),否则会报错

依赖包下载地址:https://pan.baidu.com/s/1lrxhnfTnaNwYTCgKFyazgw

密码:3v5j

 

具体String,  List,  Hash,  Set,  SortedSet这五种数据结构相关操作命令及代码可自行百度,此处不做赘述

redis3.2.11单机多实例集群部署并测试连接情况的更多相关文章

  1. redis3.2.11多机多实例集群部署及测试连接情况

    机器配置 redis3.2.11安装配置规划 机器 192.168.169.136(本机虚拟机1) 192.168.169.137(本机虚拟机2) 系统 Red Hat Enterprise Linu ...

  2. redis3.0集群部署和测试

    redis3.0集群部署和测试 环境介绍 两台Centos7的虚拟机模拟6个节点,A台3个master节点,B台3个slave节点A地址:172.16.81.140B地址:172.16.81.141r ...

  3. 集群部署及测试SolrCloud-5

    SolrCloud-5.2.1 集群部署及测试   一. 说明 Solr5内置了Jetty服务,所以不用安装部署到Tomcat了,网上部署Tomcat的资料太泛滥了. 部署前的准备工作: 1. 将各主 ...

  4. 消息中间件kafka+zookeeper集群部署、测试与应用

    业务系统中,通常会遇到这些场景:A系统向B系统主动推送一个处理请求:A系统向B系统发送一个业务处理请求,因为某些原因(断电.宕机..),B业务系统挂机了,A系统发起的请求处理失败:前端应用并发量过大, ...

  5. Windows下ELK环境搭建(单机多节点集群部署)

    1.背景 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时 ...

  6. Elasticsearch单机双节点集群部署实战

    一.安装第一个ElasticSearch(主节点) 1.创建es用户,启动es不能使用root用户 useradd es passwd es12 root用户进入/home/es目录下 2.获取Ela ...

  7. SolrCloud-5.2.1 集群部署及测试

    一. 说明 Solr5内置了Jetty服务,所以不用安装部署到Tomcat了,网上部署Tomcat的资料太泛滥了. 部署前的准备工作: 1. 将各主机IP配置为静态IP(保证各主机可以正常通信,为避免 ...

  8. Redis3.0.1 Stable版本的集群部署(Mac)

    本文档基于如下原始文档(CentOS)创建: http://blog.csdn.net/xu470438000/article/details/42971091 修改了一些路径的错误,补全了一些命令执 ...

  9. CentOS7下搭建FastDfs(V5.11)+Keepalived分布式集群部署

    FastDfs介绍 http://kb.cnblogs.com/page/82280/ 1.准备 系统 CentOS7 最小化安装. #VIP虚拟IP 10.1.6.218 #Keepalived 1 ...

随机推荐

  1. 开源管理系统OSSIM设置 语言为中文简体

    最近研究OSSIM系统,OSSIM的安装是做好的ISO,操作系统选择的是CentOS 64Bit系统.我使用的OSSIM 4.11 的ISO安装,虽然系统说明支持中文,实际上,只是台湾的繁体中文而以. ...

  2. C++程序设计(第4版)读书笔记_C++概览:基础知识

    变量赋值 常用的变量赋值都是用“=”去赋值的 ; 但是如果把一个浮点数赋值给i的话,就会造成精度损失,在C++中最好使用初始化列表的方式“{}”给变量赋值,这样可以保证不会发生某些可能导致信息丢失的类 ...

  3. FreeBSD将SHELL从csh换成bash并支持中文显示

    刚准备在FreeBSD下学习Shell,结果发现怎么好多命令都没有,比如declare.后来发现连bash都没有,好像bash用的多一些吧,于是就准备将csh换成bash. 由于没有bash,所以先得 ...

  4. linux命令 — lsof 查看进程打开那些文件 或者 查看文件给那个进程使用

    lsof命令是什么? 可以列出被进程所打开的文件的信息.被打开的文件可以是 1.普通的文件,2.目录  3.网络文件系统的文件,4.字符设备文件  5.(函数)共享库  6.管道,命名管道 7.符号链 ...

  5. freemark 页面静态化

    1. 页面静态化是什么? 页面静态化有非常多含义,在WEB开发中.静态网页一般理解为站点中大部分超级链接所引用的页面是单独的HTML静态页面文件(如.htm..html等页面文件,html语言本身是静 ...

  6. 内存空间申请(C)

    标准C,C++: malloc----free new----delete WINDOWS API: gnew(.net) LocalAlloc----LocalFree GlobalAlloc--- ...

  7. openCV中 libopencv-nonfree-dev的安装: undefined reference to `cv::initModule_nonfree()'

    今天照着一起做RGB-D SLAM (3)    , 程序会出现以下的错误: cv::initModule_nonfree(); /home/yhzhao/slam/src/detectFeature ...

  8. IOS 关于取消延迟执行函数的种种。performSelector与cancelPreviousPerformRequestsWithTarget

    本文非本人撰写     @interface NSObject (NSDelayedPerforming) - (void)performSelector:(SEL)aSelector withObj ...

  9. 编写自己的ls命令

    ····要编写ls命令,首先要了解它能做什么,完成了什么工作,是如何完成这些工作的····  一.ls命令能做什么? 我们在命令行输入ls,ls默认找出当前目录中所有文件的文件名,并且按照字典序排序后 ...

  10. Python 内置函数、作用域、闭包、递归

    一.内置函数如何使用 help()一下: 如想看min()咋用?在shell中:help(min) 二.部分内置函数 (一).排序:sorted() li = [(1, 2, 3, 4), (7, 8 ...