Redis伪集群

集群正常工作至少需要3个主节点(本示例创建6个节点,3主3从节点)

 

安装前提,要有ruby、rubygems环境,先安装一下:

#安装ruby
yum --nogpgcheck -y install ruby
yum --nogpgcheck -y install ruby-devel.x86_64

#安装rubygem
yum --nogpgcheck -y install rubygems

#安装Ruby的redis接口gem-redis

 

安装Redis软件

#进入安装目录
cd /usr/local/
rm -rf redis
rm -rf redis-3.0.3

#解压
tar -zxvf redis-3.0.3.tar.gz

mv redis-3.0.3 redis

#进入源码目录
cd redis

#编译安装
make && make install

 

创建集群的相关配置

#创建集群需要的目录
mkdir -p /usr/local/redis/cluster/16001/
mkdir -p /usr/local/redis/cluster/16002/
mkdir -p /usr/local/redis/cluster/16003/
mkdir -p /usr/local/redis/cluster/16004/
mkdir -p /usr/local/redis/cluster/16005/
mkdir -p /usr/local/redis/cluster/16006/


#修改配置文件redis.conf
#cp /usr/local/redis/redis.conf /usr/local/redis/cluster/16001/redis.conf
#cp /usr/local/redis/redis.conf /usr/local/redis/cluster/16002/redis.conf
#cp /usr/local/redis/redis.conf /usr/local/redis/cluster/16003/redis.conf
#cp /usr/local/redis/redis.conf /usr/local/redis/cluster/16004/redis.conf
#cp /usr/local/redis/redis.conf /usr/local/redis/cluster/16005/redis.conf
#cp /usr/local/redis/redis.conf /usr/local/redis/cluster/16006/redis.conf

 

配置文件示例:

daemonize no
pidfile /var/run/redis.pid

#修改端口
port 16001

tcp-backlog 511
timeout 0
tcp-keepalive 0
loglevel notice
logfile ""
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir ./
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100

#修改为yes
appendonly yes

appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes
#=========================新增===============================
daemonize yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
#========================================================

 

启动Redis实例:

#分别启动这6个redis实例(此时,节点均以Redis Cluster的方式运行,但并没有自动构建集群,因为还处于“我不认识你,你不属于我”的状态,它们每个都是孤零零的Redis节点,或者说只包含了一个节点的集群)
cd /usr/local/redis/cluster/16001 && redis-server redis.conf > redis.log 2>&1 &

cd /usr/local/redis/cluster/16002 && redis-server redis.conf > redis.log 2>&1 &

cd /usr/local/redis/cluster/16003 && redis-server redis.conf > redis.log 2>&1 &

cd /usr/local/redis/cluster/16004 && redis-server redis.conf > redis.log 2>&1 &

cd /usr/local/redis/cluster/16005 && redis-server redis.conf > redis.log 2>&1 &

cd /usr/local/redis/cluster/16006 && redis-server redis.conf > redis.log 2>&1 &

##启动之后使用命令查看redis的启动情况
ps -ef|grep redis

创建集群,让上面的实例互相通讯

#创建集群,让上面的实例互相通讯(1 表示为每个master分配一个salve)
/usr/local/redis/src/redis-trib.rb create --replicas 1 \
127.0.0.1:16001 \
127.0.0.1:16002 \
127.0.0.1:16003 \
127.0.0.1:16004 \
127.0.0.1:16005 \
127.0.0.1:16006

集群创建完成,可以使用下面的命令查看相关信息:

#查看集群目前状况
redis-cli -c -p 16001

#打印集群的信息
cluster info

#列出集群当前已知的所有节点(node),以及这些节点的相关信息。
cluster nodes

 

输出的信息:

127.0.0.1:16002 master - 0 1439345771781 2 connected 5461-10922
127.0.0.1:16003 master - 0 1439345772286 3 connected 10923-16383
127.0.0.1:16001 myself,master - 0 0 1 connected 0-5460
127.0.0.1:16004 slave 2566ea486fc30c911aafaf1b71130fd24a38dba9 0 1439345772791 4 connected
127.0.0.1:16005 slave edea1e50bd224c6895b1904bce79e83fa07d6017 0 1439345772286 5 connected
127.0.0.1:16006 slave ab06e033698627ce0ecd4c8c645585a1ae70cc84 0 1439345771276 6 connected

从上面的信息可以明显看到哪些是主节点、从节点。

#将节点的配置文件保存到硬盘里

cluster saveconfig

#------------------------测试-----------------------------------
#连接端口(可以使用其他端口测试16001 -> 16006)
redis-cli -c -p 16001

127.0.0.1:16001> set key001 v001
127.0.0.1:16001> get key001

 

正常输出信息的话,集群建立成功,集群搭建完成。



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VR(Virtual Reality)即虚拟现实,是一种可以创建和体验虚拟世界的计算机技术。它利用计算机生成一种模拟环境,是一种多源信息融合的、交互式的三维动态视景和实体行为的系统仿真,使用户沉浸到该环境中。VR技术通过模拟人的视觉、听觉、触觉等感觉器官功能,使人能够沉浸在计算机生成的虚拟境界中,并能够通过语言、手势等自然的方式与之进行实时交互,创建了一种适人化的多维信息空间。 VR技术具有以下主要特点: 沉浸感:用户感到作为主角存在于模拟环境中的真实程度。理想的模拟环境应该使用户难以分辨真假,使用户全身心地投入到计算机创建的三维虚拟环境中,该环境中的一切看上去是真的,听上去是真的,动起来是真的,甚至闻起来、尝起来等一切感觉都是真的,如同在现实世界中的感觉一样。 交互性:用户对模拟环境内物体的可操作程度和从环境得到反馈的自然程度(包括实时性)。例如,用户可以用手去直接抓取模拟环境中虚拟的物体,这时手有握着东西的感觉,并可以感觉物体的重量,视野中被抓的物体也能立刻随着手的移动而移动。 构想性:也称想象性,指用户沉浸在多维信息空间中,依靠自己的感知和认知能力获取知识,发挥主观能动性,寻求解答,形成新的概念。此概念不仅是指观念上或语言上的创意,而且可以是指对某些客观存在事物的创造性设想和安排。 VR技术可以应用于各个领域,如游戏、娱乐、教育、医疗、军事、房地产、工业仿真等。随着VR技术的不断发展,它正在改变人们的生活和工作方式,为人们带来全新的体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值