您的位置:首页 > 数据库 > Redis

Redis安装记录-单例及集群

2017-03-29 09:25 686 查看
-----------------单例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

安装成功后,记得在环境变量中添加
4000
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 参数,即表示集群模式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: