Redis从单机到集群,一步步教你环境部署以及使用

大致会包括下面的内容:

Redis单机版的安装以及验证

Redis集群版的安装以及验证

使用图形化工具访问Redis

使用Jedis访问Redis

使用JedisCluster访问RedisCluster

之后会介绍一下,如何在Spark中使用redis,敬请期待。

Redis单机版安装

1.1下载

首先去官网下载想要的版本:

我这里选了一个版本没那么高的,省的变化太大,各种软件兼容不了。于是挑个之前的稳定版本下载,下载拷贝到目标机器。

1.2安装

把压缩文件拷贝到指定的服务器上,执行解压命令:

安装前需要先安装必要的包,yum-yinstallgccgcc-c++tcl,这里安装的都是一般遇到的错误所需要安装的库。

安装完后,进入目录,执行编译命令:makeMALLOC=libc,这样就安装完了

1.3测试

安装完可以直接启动测试一下:

启动服务器,执行下面的命令:./src/

启动客户端,执行下面的命令:./src/redis-cli

在控制台中,输入下面命令:

setfoobargetfoo

看看是否正常

redis集群安装

按照上面的方式,在每台机器上面都装一下redis。由于rediscluster集群必须要三个master,如果做一个备份的话,就需要6个节点。所以我这里在三台机器上,安装redis,然后每台机器上启动两个redis即可。一会会说一下,如何在一台机器上,启动两个redis。

2.1安装

首先安装一下ruby,因为集群的脚本是ruby版的

yum-yinstallrubyruby-develrubygemsrpm-build

然后执行:

geminstallredis

然后把拷贝到/usr/local/bin下,这样就可以在任何目录执行redis-trip命令了。

cpsrc//usr/local/bin

2.2修改配置

接下来需要根据集群的情况,创建server启动的配置了,先创建redis_cluster目录,拷贝:

[root@]/redis_cluster/

然后修改

PS:因为配置文件比较大,内容很多。因此大家在修改配置的时候可以使用vi的快捷键/想要搜索的内容,然后按enter,可以快速定位到想要修改的配置上,如果有多个,可以再用n键跳转到下一个匹配结果。

2.3启动服务器

接下来就可以启动redis服务器

[root@]ps-aux|grepredisWarning:badsyntax,perhapsabogus'-'?See/usr/share/doc//?Ssl13:210:00./src/:6379[cluster]/0R+13:210:00grepredis[root@]ps-aux|grepredisWarning:badsyntax,perhapsabogus'-'?See/usr/share/doc//?Ssl15:590:08./src/:6379[cluster]?Ssl16:000:08./src/:6380[cluster]/0S+19:270:00grepredis[root@]:637910.10.10.106:637910.10.10.107:637910.10.10.104:638010.10.10.106:638010.10.10.107:6380CreatingclusterPerforminghashslotsallocationon6nodesUsing3masters:10.10.10.107:637910.10.10.106:637910.10.10.104:6379:6380:6379:6380:6379:6380:6379M::6379slots:10923-16383(5461slots)masterM:566762510:6379slots:5461-10922(5462slots)masterM:8984:6379slots:0-5460(5461slots)masterS:8:6380replicatese59449112f33dcb2dfad7a1ec32920470f589c32S:0:6380replicates8984e7d3e53ddcec5dd59684f69a1976a4db33efS::6380replicates566762510d6b7b2e1b361a8a8d44e4a9d788a92fCanIsettheaboveconfiguration?(type'yes'toaccept):yesNodesconfigurationupdatedAssignadifferentconfigepochtoeachnodeSi(:6379)M::6379slots:10923-16383(5461slots)master1additionalreplica(s)M:8984:6379slots:0-5460(5461slots)master1additionalreplica(s)S::6380slots:(0slots)slavereplicates566762510d6b7b2e1b361a8a8d44e4a9d788a92fM:566762510:6379slots:5461-10922(5462slots)master1additionalreplica(s)S:0:6380slots:(0slots)slavereplicates8984e7d3e53ddcec5dd59684f69a1976a4db33efS:8:6380slots:(0slots)slavereplicatese59449112f33dcb2dfad7a1ec32920470f589c32[OK][OK]All16384slotscovered.

中间需要我们输入一个yes确定主从的分配。通过日志就可以看到master和slave的一个分配情况,以及slot的分配。那个slots是跟存储的时候hash有关的,即一个字符串先要经过哈希,知道他应该存储到那个节点上,然后才会存储到对应的server中。当我们用普通的api去查询的时候,需要查那个真正存储的机器,才能读取到数据。当然使用clusterapi就不会有这个问题了。

2.6集群环境验证

下面我们验证下集群的效果:

首先查看一下集群的状态,然后创建一个key,再换另一个节点登录,看看能否查询到。

[root@]./src/:6379getfoo-Redirectedtoslot[12182]:6379"bar"10.10.10.104:6379

这样我们的集群环境就搭建完了。

万里长征又多走了一步~

安装监控软件

如果用windows办公,还是有不少图形化的工具,可以连接redis的,比如redisdesktop:

首先可以去下面网址去下载对应的版本:

然后就是无脑安装了,安装完登录到对应的机器上即可。不过貌似是单节点登录,即你看不到集群的数据。可能是我不会用:-(

使用JedisAPI访问RedisCluster

首先在中引入Jedis的jar包:

/groupIdartifactIdjedis//version/depency

然后测试一下:

publicclassJedisTest{publicstaticvoidmain(String[]args){Jedisredis=newJedis("10.10.10.104",6379);Stringfoo=("foo");(foo);}}

使用JedisCluster访问RedisCluster

参考下这片文章就行,试验过了可用的:

参考

1安装redis经常遇到的问题:

2make的时候error:jemalloc/报错:

3linux常用目录介绍:

4redis集群环境搭建:

5redis安装:

6redis官方文档:

7redisclient官方文档:

8redisdesktopwindows下载:

版权声明:本站所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请举报,一经查实,本站将立刻删除。

相关推荐