-----------------单例Redis服务安装方法---------------------------
注意:由于Redis默认是使用jemalloc作为内存分配器,所以需要首先安装jemalloc
其他依赖:
yum install gcc
yum install bzip2
1、先github上下载,最新稳定版本(4.5.0):
https://github.com/jemalloc/jemalloc/releases
解压:tar xvf jemalloc-4.5.0.tar.bz2
2、安装
[root@cluster60 jemalloc-4.5.0]# ./configure --prefix=/usr/local/jemalloc4.5.0
[root@cluster60 jemalloc-4.5.0]# make
[root@cluster60 jemalloc-4.5.0]# make install
说明:
jemalloc安装成功后,再安装Redis能自动检测到jemalloc
3、安装Redis
$ wget http://download.redis.io/releases/redis-3.2.8.tar.gz
$ tar xzf redis-3.2.8.tar.gz
$ cd redis-3.2.8
$ make
$ make install
编译完后的Redis服务文件,在src/目录中
4、专门创建一个Redis运行目录(redis-3.2.8),将原代码目录添加src后缀,如:redis-3.2.8-src
[root@cluster60 src]# cp redis* ../../redis-3.2.8/bin/
5、在redis-3.2.8/bin目录中删除多拷贝的文件
rm -rf *.h
rm -rf *.c
rm -rf *.o
6、到此,我们编译的服务已做好
[root@cluster60 bin]# ls
redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server redis-trib.rb
[root@cluster60 bin]#
7、创建配置文件
[root@cluster60 redis-3.2.8-src]# cp redis.conf ../redis-3.2.8/conf/
修改你想要的配置内容,即可
整个服务目录分布如下:
[root@cluster60 redis-3.2.8-50600]# ls
bin conf db logs readme.txt
由于我们没有使用持久化方案,所以db为空目录
8、启动服务
[root@cluster60 bin]# ./redis-server ../conf/redis.conf
---------------------集群环境搭建-------------------------------------
1、默认配置文件是支持集群的,配置文件中,有一个专门配置集群服务的区域,如:########### REDIS CLUSTER ######
2、若每个服务实例在不同服务器,可以直接复制单例配置即可。在同一台服务器开多个Redis服务,需要修改端口相关配置信息,如下:
[root@cluster60 redis-3.2.8-50600]# cat conf/redis.conf |grep 50600
port 50600
pidfile /var/run/redis_50600.pid
cluster-config-file nodes-50600.conf
请将,50600改成相应的端口号
3、启动这六个实例,如:bin/redis-server conf/redis.conf
4、创建多槽点集群
创建集群需要ruby脚本,下载安装,
1、https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.1.tar.bz2
2、http://www.zlib.net/
3、https://www.openssl.org/
注意:每安装一个,记得配置环境变量,
vi /etc/bashrc
export PATH=/usr/local/ruby-2.4.1/bin:/usr/local/perl-5.14.2/bin:$PATH
A)、安装perl
./Configure -Dprefix=/usr/local/perl-5.14.2
make
make install
安装成功后,记得在环境变量中添加bin路径
B)、安装openssl
./config --prefix=/usr/local/openssl-1.1.0e
make
make install
C)、安装zlib
./configure --prefix=/usr/local/zlib-1.2.11
make
make install
D)、安装:
$ mkdir /usr/local/ruby-2.4.1
$ ./configure --prefix=/usr/local/ruby-2.4.1 --with-opt-dir=/usr/local/zlib-1.2.11:/usr/local/openssl-1.1.0e
$ make
$ make install
安装成功后,记得在环境变量中添加bin路径
E)、安装ruby的redis客户端
$ gem install redis
F)、执行ruby指令,创建集群
在执行此命令前,如果涉及不同机器的节点,需要检测各节点的防火墙是否关闭(或者开启指定的端口),
如:systemctl stop firewalld.service
[root@cluster60 bin]# pwd
/data/redis-cluster/redis-3.2.8-50600/bin
[root@cluster60 bin]#./redis-trib.rb create --replicas 2 192.168.1.60:50600 192.168.1.61:50610 192.168.1.62:50620 192.168.1.62:50621 192.168.1.62:50622 192.168.1.60:50601 192.168.1.60:50602 192.168.1.61:50612 192.168.1.61:50611
**然后会出现主从分布关系,如果接受,输入yes(输入其他内容表示不授受,个人感觉只需要注重master的选择,slave节点,感觉是通过某种算法分配的),即开始创建集群。
**如果,创建集群失败,则需要把所有服务实例全部shutdown(命令行中停服),然后删除集群节点配置文件和*.rdb文件,在db目录中,如:nodes-50600.conf,要求各节点必须为空(无内容);然后再试(不成功的原因一般是节点之前不互通导致的,注意检测防火樯是否关闭)
**切记不要使用 127.0.0.1 或 localhost 创建Redis Cluster,否则写入数据会很慢
G)、集群测试
$./redis-cli -c -h 192.168.1.60 -p 50600
注意,这里必须要加 -c 参数,即表示集群模式。
注意:由于Redis默认是使用jemalloc作为内存分配器,所以需要首先安装jemalloc
其他依赖:
yum install gcc
yum install bzip2
1、先github上下载,最新稳定版本(4.5.0):
https://github.com/jemalloc/jemalloc/releases
解压:tar xvf jemalloc-4.5.0.tar.bz2
2、安装
[root@cluster60 jemalloc-4.5.0]# ./configure --prefix=/usr/local/jemalloc4.5.0
[root@cluster60 jemalloc-4.5.0]# make
[root@cluster60 jemalloc-4.5.0]# make install
说明:
jemalloc安装成功后,再安装Redis能自动检测到jemalloc
3、安装Redis
$ wget http://download.redis.io/releases/redis-3.2.8.tar.gz
$ tar xzf redis-3.2.8.tar.gz
$ cd redis-3.2.8
$ make
$ make install
编译完后的Redis服务文件,在src/目录中
4、专门创建一个Redis运行目录(redis-3.2.8),将原代码目录添加src后缀,如:redis-3.2.8-src
[root@cluster60 src]# cp redis* ../../redis-3.2.8/bin/
5、在redis-3.2.8/bin目录中删除多拷贝的文件
rm -rf *.h
rm -rf *.c
rm -rf *.o
6、到此,我们编译的服务已做好
[root@cluster60 bin]# ls
redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server redis-trib.rb
[root@cluster60 bin]#
7、创建配置文件
[root@cluster60 redis-3.2.8-src]# cp redis.conf ../redis-3.2.8/conf/
修改你想要的配置内容,即可
整个服务目录分布如下:
[root@cluster60 redis-3.2.8-50600]# ls
bin conf db logs readme.txt
由于我们没有使用持久化方案,所以db为空目录
8、启动服务
[root@cluster60 bin]# ./redis-server ../conf/redis.conf
---------------------集群环境搭建-------------------------------------
1、默认配置文件是支持集群的,配置文件中,有一个专门配置集群服务的区域,如:########### REDIS CLUSTER ######
2、若每个服务实例在不同服务器,可以直接复制单例配置即可。在同一台服务器开多个Redis服务,需要修改端口相关配置信息,如下:
[root@cluster60 redis-3.2.8-50600]# cat conf/redis.conf |grep 50600
port 50600
pidfile /var/run/redis_50600.pid
cluster-config-file nodes-50600.conf
请将,50600改成相应的端口号
3、启动这六个实例,如:bin/redis-server conf/redis.conf
4、创建多槽点集群
创建集群需要ruby脚本,下载安装,
1、https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.1.tar.bz2
2、http://www.zlib.net/
3、https://www.openssl.org/
注意:每安装一个,记得配置环境变量,
vi /etc/bashrc
export PATH=/usr/local/ruby-2.4.1/bin:/usr/local/perl-5.14.2/bin:$PATH
A)、安装perl
./Configure -Dprefix=/usr/local/perl-5.14.2
make
make install
安装成功后,记得在环境变量中添加bin路径
B)、安装openssl
./config --prefix=/usr/local/openssl-1.1.0e
make
make install
C)、安装zlib
./configure --prefix=/usr/local/zlib-1.2.11
make
make install
D)、安装:
$ mkdir /usr/local/ruby-2.4.1
$ ./configure --prefix=/usr/local/ruby-2.4.1 --with-opt-dir=/usr/local/zlib-1.2.11:/usr/local/openssl-1.1.0e
$ make
$ make install
安装成功后,记得在环境变量中添加bin路径
E)、安装ruby的redis客户端
$ gem install redis
F)、执行ruby指令,创建集群
在执行此命令前,如果涉及不同机器的节点,需要检测各节点的防火墙是否关闭(或者开启指定的端口),
如:systemctl stop firewalld.service
[root@cluster60 bin]# pwd
/data/redis-cluster/redis-3.2.8-50600/bin
[root@cluster60 bin]#./redis-trib.rb create --replicas 2 192.168.1.60:50600 192.168.1.61:50610 192.168.1.62:50620 192.168.1.62:50621 192.168.1.62:50622 192.168.1.60:50601 192.168.1.60:50602 192.168.1.61:50612 192.168.1.61:50611
**然后会出现主从分布关系,如果接受,输入yes(输入其他内容表示不授受,个人感觉只需要注重master的选择,slave节点,感觉是通过某种算法分配的),即开始创建集群。
**如果,创建集群失败,则需要把所有服务实例全部shutdown(命令行中停服),然后删除集群节点配置文件和*.rdb文件,在db目录中,如:nodes-50600.conf,要求各节点必须为空(无内容);然后再试(不成功的原因一般是节点之前不互通导致的,注意检测防火樯是否关闭)
**切记不要使用 127.0.0.1 或 localhost 创建Redis Cluster,否则写入数据会很慢
G)、集群测试
$./redis-cli -c -h 192.168.1.60 -p 50600
注意,这里必须要加 -c 参数,即表示集群模式。