安装依赖
[root@centos7-1 ~]# yum -y install gcc openssl-devel libyaml-devel libffi-devel readline-devel zlib-devel gdbm-devel ncurses-devel gcc-c++ automake autoconf
安装 redis
[root@centos7-1 ~]# wget http://download.redis.io/releases/redis-3.0.6.tar.gz [root@centos7-1 ~]# tar xvf redis-3.0.6.tar.gz [root@centos7-1 ~]# cd redis-3.0.6/ [root@centos7-1 redis-3.0.6]# make MALLOC=libc [root@centos7-1 redis-3.0.6]# make install
启动 server
通过命令 redis-server 来启动 redis server。通过下面的输出信息可以看出这次启动并没有指定配置文件,可以使用命令 redis-server /path/to/redis.conf 来指定具体的配置文件启动。
[root@centos7-1 redis-3.0.6]# redis-server
4435:C 25 Jan 11:40:48.816 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
4435:M 25 Jan 11:40:48.817 * Increased maximum number of open files to 10032 (it was originally set to 1024).
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 3.0.6 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 4435
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
4435:M 25 Jan 11:40:48.817 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
4435:M 25 Jan 11:40:48.817 # Server started, Redis version 3.0.6
4435:M 25 Jan 11:40:48.817 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
4435:M 25 Jan 11:40:48.817 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
4435:M 25 Jan 11:40:48.817 * DB loaded from disk: 0.000 seconds
4435:M 25 Jan 11:40:48.817 * The server is now ready to accept connections on port 6379
到此,单节点的 Redis server 已经安装完毕,以下进入配置和安装集群的过程。
创建集群中的6个节点
集群配置文件
集群相关的配置文件主要修改 redis.conf 中的一下几个地方,因为都部署在一个服务器上,每个节点的端口不同。
[root@centos7-1 redis-3.0.6]$ vi redis.conf #修改以下地方 port 7000 cluster-enabled yes cluster-config-file nodes-7000.conf cluster-node-timeout 5000 appendonly yes
每个节点的配置文件
创建6个文件夹,分别表示一个 redis 节点,文件夹使用 redis 节点的端口号命名,文件里存放每个节点的配置文件。
[root@centos7-1 redis-3.0.6]# mkdir /usr/local/redis-cluster [root@centos7-1 redis-3.0.6]# cd /usr/local/redis-cluster [root@centos7-1 redis-cluster]# mkdir 7000 7001 7002 7003 7004 7005
拷贝 redis.conf 拷贝到6个文件夹中
[root@centos7-1 redis-cluster]# cp ~/redis-3.0.6/redis.conf 7000 [root@centos7-1 redis-cluster]# cp ~/redis-3.0.6/redis.conf 7001 [root@centos7-1 redis-cluster]# cp ~/redis-3.0.6/redis.conf 7002 [root@centos7-1 redis-cluster]# cp ~/redis-3.0.6/redis.conf 7003 [root@centos7-1 redis-cluster]# cp ~/redis-3.0.6/redis.conf 7004 [root@centos7-1 redis-cluster]# cp ~/redis-3.0.6/redis.conf 7005
并修改每个配置中的内容为各自节点的端口,注意 port 和 cluster-config-file 的值必须唯一。
分别启动每个节点
[root@centos7-1 ~]# redis-server /usr/local/redis-cluster/7000/redis.conf [root@centos7-1 ~]# redis-server /usr/local/redis-cluster/7001/redis.conf [root@centos7-1 ~]# redis-server /usr/local/redis-cluster/7002/redis.conf [root@centos7-1 ~]# redis-server /usr/local/redis-cluster/7003/redis.conf [root@centos7-1 ~]# redis-server /usr/local/redis-cluster/7004/redis.conf [root@centos7-1 ~]# redis-server /usr/local/redis-cluster/7005/redis.conf
启动完成后查看进程
[root@centos7-1 ~]# ps -ef | grep redis root 4704 2177 0 12:12 pts/0 00:00:07 redis-server *:7000 [cluster] root 4707 4599 0 12:12 pts/1 00:00:07 redis-server *:7001 [cluster] root 4710 4638 0 12:12 pts/2 00:00:07 redis-server *:7002 [cluster] root 4752 4717 0 12:12 pts/3 00:00:07 redis-server *:7003 [cluster] root 4788 4759 0 12:12 pts/4 00:00:07 redis-server *:7004 [cluster] root 4824 4795 0 12:13 pts/5 00:00:07 redis-server *:7005 [cluster] root 9018 8984 0 14:08 pts/6 00:00:00 grep --color=auto redis
建立 Redis 集群
上面的步骤分别创建了6个节点,并已经启动,这里要把这6个节点加入到一个集群里面。redis 已经为我们提供了集群操作的脚本 redis-trib.rb , 操作起来很简单, 继续。
安装 ruby
由于集群操作需要用到 ruby 脚本 redis-trib.rb , 所以要安装 ruby 和 rubygems
[root@centos7-1 ~]# yum -y install ruby rubygems [root@centos7-1 ~]# gem install redis --version 3.0.6 Fetching: redis-3.0.6.gem (100%) Successfully installed redis-3.0.6 Parsing documentation for redis-3.0.6 Installing ri documentation for redis-3.0.6 1 gem installed
redis-trib.rb 是一个 ruby 脚本工具,用来建立和管理 redis 集群,因为使用比较频繁,所以拷贝脚本 redis-trib.rb 到 /usr/local/bin/
[root@centos7-1 redis-3.0.6]$ cp src/redis-trib.rb /usr/local/bin/
创建集群
[root@centos7-1 ~]# redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 >>> Creating cluster >>> Performing hash slots allocation on 6 nodes... Using 3 masters: 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 Adding replica 127.0.0.1:7003 to 127.0.0.1:7000 Adding replica 127.0.0.1:7004 to 127.0.0.1:7001 Adding replica 127.0.0.1:7005 to 127.0.0.1:7002 M: d900d3667196121f95bdbd68ca2317926a6950bc 127.0.0.1:7000 slots:0-5460 (5461 slots) master M: b662853288cc89a3b78f70120d57c0a34f6a91d5 127.0.0.1:7001 slots:5461-10922 (5462 slots) master M: 6dc5ee101c2432ec4c1d934d54a6a3565116bbff 127.0.0.1:7002 slots:10923-16383 (5461 slots) master S: d18e50ac6aff2f612fac43da74a79288aa574c87 127.0.0.1:7003 replicates d900d3667196121f95bdbd68ca2317926a6950bc S: 85f6455e14d03ebaefeca3dbe3c78c92f2f76ead 127.0.0.1:7004 replicates b662853288cc89a3b78f70120d57c0a34f6a91d5 S: 89d792acda7f2c99c95b0d3947572647cf9edc67 127.0.0.1:7005 replicates 6dc5ee101c2432ec4c1d934d54a6a3565116bbff Can I set the above configuration? (type 'yes' to accept): yes >>> Nodes configuration updated >>> Assign a different config epoch to each node >>> Sending CLUSTER MEET messages to join the cluster Waiting for the cluster to join.. >>> Performing Cluster Check (using node 127.0.0.1:7000) M: d900d3667196121f95bdbd68ca2317926a6950bc 127.0.0.1:7000 slots:0-5460 (5461 slots) master M: b662853288cc89a3b78f70120d57c0a34f6a91d5 127.0.0.1:7001 slots:5461-10922 (5462 slots) master M: 6dc5ee101c2432ec4c1d934d54a6a3565116bbff 127.0.0.1:7002 slots:10923-16383 (5461 slots) master M: d18e50ac6aff2f612fac43da74a79288aa574c87 127.0.0.1:7003 slots: (0 slots) master replicates d900d3667196121f95bdbd68ca2317926a6950bc M: 85f6455e14d03ebaefeca3dbe3c78c92f2f76ead 127.0.0.1:7004 slots: (0 slots) master replicates b662853288cc89a3b78f70120d57c0a34f6a91d5 M: 89d792acda7f2c99c95b0d3947572647cf9edc67 127.0.0.1:7005 slots: (0 slots) master replicates 6dc5ee101c2432ec4c1d934d54a6a3565116bbff [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered.
以上 create 命令创建了集群,选项 –replicas 1 表示每个 Master 都需要一个 Slave。所以结果是集群中创建了3个 Master 节点 和 3个 Slave 节点。
上面信息中 M 表示 Master 节点, S 表示 Slave 节点。
由此可以看出三组 Master 和 Slave 关系如下:
M: d900d3667196121f95bdbd68ca2317926a6950bc -> S: d18e50ac6aff2f612fac43da74a79288aa574c87 M: 6dc5ee101c2432ec4c1d934d54a6a3565116bbff -> S: 89d792acda7f2c99c95b0d3947572647cf9edc67 M: b662853288cc89a3b78f70120d57c0a34f6a91d5 -> S: 85f6455e14d03ebaefeca3dbe3c78c92f2f76ead
检测集群的状态
[root@centos7-1 ~]# redis-trib.rb check 127.0.0.1:7000 >>> Performing Cluster Check (using node 127.0.0.1:7000) M: d900d3667196121f95bdbd68ca2317926a6950bc 127.0.0.1:7000 slots:0-5460 (5461 slots) master 1 additional replica(s) M: 6dc5ee101c2432ec4c1d934d54a6a3565116bbff 127.0.0.1:7002 slots:10923-16383 (5461 slots) master 1 additional replica(s) S: 89d792acda7f2c99c95b0d3947572647cf9edc67 127.0.0.1:7005 slots: (0 slots) slave replicates 6dc5ee101c2432ec4c1d934d54a6a3565116bbff S: d18e50ac6aff2f612fac43da74a79288aa574c87 127.0.0.1:7003 slots: (0 slots) slave replicates d900d3667196121f95bdbd68ca2317926a6950bc S: 85f6455e14d03ebaefeca3dbe3c78c92f2f76ead 127.0.0.1:7004 slots: (0 slots) slave replicates b662853288cc89a3b78f70120d57c0a34f6a91d5 M: b662853288cc89a3b78f70120d57c0a34f6a91d5 127.0.0.1:7001 slots:5461-10922 (5462 slots) master 1 additional replica(s) [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered.
测试集群
利用 redis-cli -c -p 端口号 连接集群
[root@centos7-1 ~]# redis-cli -c -p 7000 127.0.0.1:7000> get hello (nil) 127.0.0.1:7000> set hello "hello world" OK 127.0.0.1:7000> get hello "hello world" 127.0.0.1:7000> get name -> Redirected to slot [5798] located at 127.0.0.1:7001 (nil) 127.0.0.1:7001> set name "redis server" OK 127.0.0.1:7001> get name "redis server"
总结
上就是关于在CentOS 7系统下安装redis 3.0.6并配置集群的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
# centos
# redis集群搭建
# redis
# 集群
# centos7安装redis集群
# Linux安装单机版Redis的完整步骤
# 关于docker compose安装redis集群的问题(集群扩容、集群收缩)
# Redis集群的离线安装步骤及原理详析
# Redis自动化安装及集群实现搭建过程
# 在redhat6.4安装redis集群【教程】
# Redis 单机安装和哨兵模式集群安装的实现
# 配置文件
# 端口号
# 是一个
# 几个
# 要把
# 很简单
# 可以使用
# 可以看出
# 到此
# 已经安装
# 三组
# 器上
# 由此可以看出
# 完成后
# 结果是
# 夹中
# 拷贝到
# 有疑问
# fix
# overcommit_memory
相关文章:
建站之星如何开启自定义404页面避免用户流失?
Android使用GridView实现日历的简单功能
魔方云NAT建站如何实现端口转发?
宝塔建站无法访问?如何排查配置与端口问题?
免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?
如何在宝塔面板中修改默认建站目录?
微课制作网站有哪些,微课网怎么进?
在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?
网站制作公司广州有几家,广州尚艺美发学校网站是多少?
宝塔面板如何快速创建新站点?
如何用IIS7快速搭建并优化网站站点?
长沙做网站要多少钱,长沙国安网络怎么样?
小型网站建站如何选择虚拟主机?
C++如何使用std::optional?(处理可选值)
TestNG的testng.xml配置文件怎么写
建站之星会员如何解锁更多建站功能?
建站主机无法访问?如何排查域名与服务器问题
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
建站之星logo尺寸如何设置最合适?
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析
公司网站制作费用多少,为公司建立一个网站需要哪些费用?
如何用花生壳三步快速搭建专属网站?
简单实现Android文件上传
如何设计高效校园网站?
如何快速搭建高效WAP手机网站吸引移动用户?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
如何快速查询域名建站关键信息?
如何通过智能用户系统一键生成高效建站方案?
详解jQuery停止动画——stop()方法的使用
如何通过主机屋免费建站教程十分钟搭建网站?
如何零基础开发自助建站系统?完整教程解析
公司网站的制作公司,企业网站制作基本流程有哪些?
南宁网站建设制作定制,南宁网站建设可以定制吗?
Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解
如何彻底卸载建站之星软件?
成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?
如何用AWS免费套餐快速搭建高效网站?
如何用免费手机建站系统零基础打造专业网站?
免费ppt制作网站,有没有值得推荐的免费PPT网站?
建站之星如何实现网站加密操作?
番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?
建站之星代理费用多少?最新价格详情介绍
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
济南网站建设制作公司,室内设计网站一般都有哪些功能?
高防服务器租用如何选择配置与防御等级?
如何通过免费商城建站系统源码自定义网站主题与功能?
c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】
小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建
建站之星如何快速更换网站模板?
*请认真填写需求信息,我们会在24小时内与您取得联系。