一、引言
工作中经常会用到Redis,下面在CentOs7上,搭建一个Redis集群。
二、安装Redis 1、查询系统版本不同的系统版本,Linux的命令有所差别。
cat /etc/centos-release
Redis官网地址:https://redis.io/download
在哪个目录下,执行wget操作,文件就会下载到哪个目录。
cd /home/frank/redis/
wget http://download.redis.io/releases/redis-5.0.4.tar.gz
tar -xzvf redis-5.0.4.tar.gz
因为Redis使用C语言写的,CentOS自带C语言环境,执行以下命令会更新C语言环境
yum install gcc-c++
cd redis-5.0.4
make
默认安装在当前目录下,可以使用PREFIX参数更改安装位置
cd redis-5.0.4
make install PREFIX=/home/frank/redis/reids
cp ./redis.conf ../redis/bin
./redis-server ./redis.conf
建一个Maven工程,添加如下依赖
redis.clients
jedis
3.0.1
public static void main( String[] args ) {
//方式一
Jedis jedis = new Jedis("192.168.2.230",6379);
jedis.set("hello","world");
String value = jedis.get("hello");
System.out.println(value);
jedis.close();
//方式二:线程池
JedisPool pool = new JedisPool("192.168.2.230",6379);
Jedis jedis = pool.getResource();
String value = jedis.get("hello");
System.out.println(value);
jedis.close();
}
运行上面代码,可能报下面的错,这是因为系统的防火墙没有关闭
Centos7关闭防火墙
systemctl stop firewalld.service
禁止firewall开机启动
systemctl disable firewalld.service
关闭防火墙后,重新运行后,结果如下:
搭建集群最少也得需要3台主机,如果每台主机再配置一台从机的话,则最少需要6台机器,准备6个redis
1、准备6个Redis,并逐一修改其配置文件为了方便记忆,6个Redis的安装目录分别从6661-6666
修改每个Redis绑定的Ip地址 修改每个Redis的端口地址,分别从6661-6666
把每个Redis的集群设置打开
把每个Redis改为后台运行
逐一启动Redis
查看Redis的运行状态
ps -ef|grep redis
./redis-trib.rb create --replicas 1 192.168.2.230:6661 192.168.2.230:6662 192.168.2.230:6663
192.168.2.230:6664 192.168.2.230:6665 192.168.2.230:6666
运行上面命令后,出现如下报错,说明缺少Ruby环境。
yum install ruby
yum install rubygems
再次执行上面集群命令
public static void main( String[] args )
{
//集群
Set nodes = new HashSet();
nodes.add(new HostAndPort("192.168.2.230",6661));
nodes.add(new HostAndPort("192.168.2.230",6662));
nodes.add(new HostAndPort("192.168.2.230",6663));
nodes.add(new HostAndPort("192.168.2.230",6664));
nodes.add(new HostAndPort("192.168.2.230",6665));
nodes.add(new HostAndPort("192.168.2.230",6666));
JedisCluster cluster = new JedisCluster(nodes);
cluster.set("cluster","我们六个人");
String value = cluster.get("cluster");
System.out.println(value);