网站首页 > 精选教程 正文
集群:后台服务器开发,高级架构技术必不可少的知识点
主要有:
MySQL集群
Redis集群
FastDFS集群
K8S集群
Nginx集群
MongoDB集群
Zookeeper集群
Redis学习教程推荐
更多技术欢迎关注,后台回复:1
安装redis 集群
第一步:安装相关依赖包
1):安装redis-cluster依赖:redis-cluster的依赖库在使用时有兼容问题,在reshard时会遇到各种错误,请按指定版本安装.
(1)确保系统安装zlib,否则geminstall会报(no such file to load -- zlib)
#download:zlib-1.2.6.tar
./configure
make
make install
或者
yum install zlib
(1)安装ruby
cd /path/ruby
./configure -prefix=/usr/local/ruby
make
make install
sudo cp ruby/usr/local/bin
或者 yum install ruby
(2)安装
rubygem:version(1.8.16)
#rubygems-1.8.16.tgz
cd /path/gem
sudo ruby setup.rb
sudo cp bin/gem/usr/local/bin
或者 yum install rubygems
(3)安装gem-redis:version(3.0.0)
gem install redis --version 3.0.0
#由于源的原因,可能下载失败,就手动下载下来安装
#download地址:http://rubygems.org/gems/redis/versions/3.0.0
gem install -l /data/soft/redis-3.0.0.gem
第二步:安装redis-3.2.0
cd /home/lvnian/tools/
tar xf redis-3.2.0.tar.gz
cd redis-3.2.0
make
make install
cd src/
cp redis-server /usr/local/bin
cp redis-cli /usr/local/bin
cp redis-trib.rb /usr/local/bin
创建集群需要的目录
[root@gaogd /]mkdir -p /redis/{6000..6005}
[root@gaogd /]#cd /redis/
[root@gaogd redis]# ll
total 28
drwxr-xr-x. 2 root root 4096 May 9 03:39 6000
drwxr-xr-x. 2 root root 4096 May 9 03:54 6001
drwxr-xr-x. 2 root root 4096 May 9 03:39 6002
drwxr-xr-x. 2 root root 4096 May 9 03:39 6003
drwxr-xr-x. 2 root root 4096 May 9 03:51 6004
drwxr-xr-x. 2 root root 4096 May 9 03:39 6005
[root@gaogd redis]#
修改配置文件redis.conf
cp /home/lvnian/tools/redis-3.2.0/redis.conf /redis
vi /redis/redis.conf
##修改配置文件中的下面选项
port 6000
daemonize yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
##修改完redis.conf配置文件中的这些配置项之后把这个配置文件分别拷贝到6000/6001/6002/6003/6004/6005目录下面
cp /redis/redis.conf /redis/6000/
cp /redis/redis.conf /redis/6001/
cp /redis/redis.conf /redis/6002/
cp /redis/redis.conf /redis/6003/
cp /redis/redis.conf /redis/6004/
cp /redis/redis.conf /redis/6005/
##注意:拷贝完成之后要修改6000/6001/6002/6003/6004/6005目录下面redis.conf文件中的port参数,分别改为对应的文件夹的名称
启动redis的每个实例
cd /redis/6000
redis-server redis.conf &
cd /redis/6001
redis-server redis.conf &
cd /redis/6002
redis-server redis.conf &
cd /redis/6003
redis-server redis.conf &
cd /redis/6004
redis-server redis.conf &
cd /redis/6005
redis-server redis.conf &
[root@gaogd redis]# netstat -lntp|grep redis
tcp 0 0 127.0.0.1:6000 0.0.0.0:* LISTEN 11046/redis-server
tcp 0 0 127.0.0.1:6001 0.0.0.0:* LISTEN 11041/redis-server
tcp 0 0 127.0.0.1:6002 0.0.0.0:* LISTEN 11049/redis-server
tcp 0 0 127.0.0.1:6003 0.0.0.0:* LISTEN 11052/redis-server
tcp 0 0 127.0.0.1:6004 0.0.0.0:* LISTEN 11055/redis-server
tcp 0 0 127.0.0.1:6005 0.0.0.0:* LISTEN 11058/redis-server
tcp 0 0 127.0.0.1:16000 0.0.0.0:* LISTEN 11046/redis-server
tcp 0 0 127.0.0.1:16001 0.0.0.0:* LISTEN 11041/redis-server
tcp 0 0 127.0.0.1:16002 0.0.0.0:* LISTEN 11049/redis-server
tcp 0 0 127.0.0.1:16003 0.0.0.0:* LISTEN 11052/redis-server
tcp 0 0 127.0.0.1:16004 0.0.0.0:* LISTEN 11055/redis-server
tcp 0 0 127.0.0.1:16005 0.0.0.0:* LISTEN 11058/redis-server
[root@gaogd redis]#
1执行redis的创建集群命令创建集群
cd /home/lvnian/tools/redis-3.2.0/src
./redis-trib.rb create --replicas 1 127.0.0.1:6000 127.0.0.1:6001 127.0.0.1:6002 127.0.0.1:6003 127.0.0.1:6004 127.0.0.1:6005
2执行上面的命令的时候会报错,因为是执行的ruby的脚本,需要ruby的环境
错误内容:
/usr/bin/env: ruby: No such file or directory
所以需要安装ruby的环境,这里推荐使用yum install ruby安装
yum install ruby
3然后再执行第1步的创建集群命令,还会报错,提示缺少rubygems组件,使用yum安装
错误内容:
./redis-trib.rb:24:in `require': no such file to load -- rubygems (LoadError)from ./redis-trib.rb:24
yum install rubygems
4再次执行第1步的命令,还会报错,提示不能加载redis,是因为缺少redis和ruby的接口,使用gem 安装
错误内容:
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- redis (LoadError)
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'from ./redis-trib.rb:25
gem install redis
5.再次执行第1步的命令,正常执行
[root@gaogd src]# ./redis-trib.rb create --replicas1 127.0.0.1:6000 127.0.0.1:6001 127.0.0.1:6002 127.0.0.1:6003127.0.0.1:6004 127.0.0.1:6005
>>> Creating cluster
>>> Performing hash slots allocation on 6nodes...
Using 3 masters:
127.0.0.1:6000
127.0.0.1:6001
127.0.0.1:6002
Adding replica 127.0.0.1:6003 to 127.0.0.1:6000
Adding replica 127.0.0.1:6004 to 127.0.0.1:6001
Adding replica 127.0.0.1:6005 to 127.0.0.1:6002
M: d968e771065b571e832b32b793ae235269ae7c6c127.0.0.1:6000
slots:0-5460 (5461 slots) master
M: 7d8a4d617f2ada37f0efbdc1ce23accd9930a853127.0.0.1:6001
slots:5461-10922 (5462 slots) master
M: 75a450d2d95eb5849aa33f50b1c6c6fac701aebf127.0.0.1:6002
slots:10923-16383 (5461 slots) master
S: 2ec788dd51b6fee6fae76b1fa7c009bcfd1bafff127.0.0.1:6003
replicatesd968e771065b571e832b32b793ae235269ae7c6c
S: cc2ce728ad7a8dee323dcd6ec5c0f21927bef71a127.0.0.1:6004
replicates7d8a4d617f2ada37f0efbdc1ce23accd9930a853
S: 6668aae6f3ce06cf4269977f82163876630abec8127.0.0.1:6005
replicates75a450d2d95eb5849aa33f50b1c6c6fac701aebf
Can I set the above configuration? (type 'yes' toaccept): yes
>>> Nodes configuration updated
>>> Assign a different config epoch toeach node
11046:M 09 May 03:39:21.630 # configEpoch set to 1via CLUSTER SET-CONFIG-EPOCH
11041:M 09 May 03:39:21.630 # configEpoch set to 2via CLUSTER SET-CONFIG-EPOCH
11049:M 09 May 03:39:21.631 # configEpoch set to 3via CLUSTER SET-CONFIG-EPOCH
11052:M 09 May 03:39:21.631 # configEpoch set to 4via CLUSTER SET-CONFIG-EPOCH
11055:M 09 May 03:39:21.631 # configEpoch set to 5via CLUSTER SET-CONFIG-EPOCH
11058:M 09 May 03:39:21.632 # configEpoch set to 6via CLUSTER SET-CONFIG-EPOCH
>>> Sending CLUSTER MEET messages to jointhe cluster
11046:M 09 May 03:39:21.660 # IP address for thisnode updated to 127.0.0.1
11049:M 09 May 03:39:21.736 # IP address for thisnode updated to 127.0.0.1
11055:M 09 May 03:39:21.736 # IP address for thisnode updated to 127.0.0.1
11041:M 09 May 03:39:21.736 # IP address for thisnode updated to 127.0.0.1
11058:M 09 May 03:39:21.736 # IP address for thisnode updated to 127.0.0.1
11052:M 09 May 03:39:21.736 # IP address for thisnode updated to 127.0.0.1
Waiting for the cluster to join...
11052:S 09 May 03:39:25.655 # Cluster statechanged: ok
11055:S 09 May 03:39:25.656 # Cluster statechanged: ok
11058:S 09 May 03:39:25.657 # Cluster statechanged: ok
>>> Performing Cluster Check (using node127.0.0.1:6000)
M: d968e771065b571e832b32b793ae235269ae7c6c127.0.0.1:6000
slots:0-5460 (5461 slots) master
M: 7d8a4d617f2ada37f0efbdc1ce23accd9930a853127.0.0.1:6001
slots:5461-10922 (5462 slots) master
M: 75a450d2d95eb5849aa33f50b1c6c6fac701aebf127.0.0.1:6002
slots:10923-16383 (5461 slots) master
M: 2ec788dd51b6fee6fae76b1fa7c009bcfd1bafff127.0.0.1:6003
slots: (0slots) master
replicatesd968e771065b571e832b32b793ae235269ae7c6c
M: cc2ce728ad7a8dee323dcd6ec5c0f21927bef71a127.0.0.1:6004
slots: (0slots) master
replicates7d8a4d617f2ada37f0efbdc1ce23accd9930a853
M: 6668aae6f3ce06cf4269977f82163876630abec8127.0.0.1:6005
slots: (0slots) master
replicates75a450d2d95eb5849aa33f50b1c6c6fac701aebf
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
至此redis集群即搭建成功!
使用redis-cli命令进入集群环境
[root@gaogd redis-3.2.0]# redis-cli -c -p 6000
127.0.0.1:6000>
猜你喜欢
- 2024-10-05 基于Kafka+ELK搭建海量日志平台 kafka实现日志收集
- 2024-10-05 Nacos在企业生产中如何使用集群环境?
- 2024-10-05 SpringCloud Alibaba之Nacos集群、持久化
- 2024-10-05 太厉害!Redis+Nginx+设计模式+Spring全家桶+Dubbo技术精选合集
- 2024-10-05 认识Kubernetes以及搭建Kubernetes集群
- 2024-10-05 Redis + Tomcat + Nginx 集群实现 Session 共享
- 2024-10-05 最新Minio+Docker+Nginx多机集群 多台nginx
- 2024-10-05 架构师白话分布式系统 分布式架构的核心理念
- 2024-10-05 企业级k8s集群部署二 k8s集群需要哪些必备角色功能
- 2024-10-05 简单几步玩转Redis集群 redis集群解决方案
你 发表评论:
欢迎- 最近发表
-
- 我的世界光影MOD下载(我的世界光影mod下载安装)
- 我的世界1.7/1.8VoxelMap小地图MOD下载
- 我的世界1.7.10多世界 整合包(我的世界1.7.10forge整合包)
- 我的世界1.8最好用的修改器下载(我的世界1.8最好用的修改器下载安装)
- 我的世界更多弯曲动作MOD下载(我的世界更多弯曲动作mod下载手机版)
- 我的世界龙珠MOD下载(我的世界龙珠模组整合包下载)
- 我的世界1.7.10以太2 下载(我的世界以太2mod1.12.2)
- 我的世界虚拟人生MOD下载分享(我的世界虚拟人生下载安装)
- 我的世界无正版账号的简单联机方法(非网易版,仅适用于局域网)
- “我的语言极限,即是我的世界的极限。” ——《On Java》书籍推荐
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)