PREFIX=/usr/local/redis
我的安装目录即为 /usr/local/redis/bin
3)在源文件目录下执行 make && make install
即在 /usr/local/redis/redis-3.0.5 下面执行 make PREFIX=/usr/local/redis && make install PREFIX=/usr/local/redis
或者也可执行 make PREFIX=/usr/local/redis install
安装成功后:
3、安装ruby
1)解压 文件ruby-2.2.2.tar.gz tar -zxvf ruby-2.2.2.tar.gz
2)执行命令 ./configure -prefix=/usr/local/ruby
3)执行命令 make
4)执行命令 make install 3 和 4 也可一块 make && make install
5)设置环境变量
echo
"export PATH=/usr/local/ruby/bin:$PATH >> /root/.bash_profile"
source /root/.bash_profile
6)安装 zlib 扩展包 此目录 /usr/local/ruby/ruby-2.2.2/ext/zlib 下执行 sudo ruby extconf.rb
7)执行命令 make
8)执行命令 sudo make install
4、安装 rubygems
1)解压缩文件 rubygems-2.4.2.tgz
2)进入/usr/local/rubygems/rubygems-2.4.2
3)ruby setup.rb
4)gem --version
5、
安装redis集群ruby扩展包
需要先下载 redis-3.2.1.gem
sudo gem install -l redis-3.2.1.gem
6、配置文件
1)在 /usr/local/redis 目录下 建立文件夹 redisCluster 建立子文件夹 redisCluster/redis-6000 redisCluster/redis-6001 redisCluster/redis-6002 redisCluster/redis-6003 redisCluster/redis-6004 redisCluster/redis-6005
2)修改配置文件
修改 /usr/local/redis/redis-3.0.5 目录下的 redis.conf
port 6000 -- 端口 分别是 6000 6001 6002 6003 6004 6005
cluster-enabled yes --
开启redis集群
cluster-config-file nodes-6000.conf -- 设置集群配置文件名称
cluster-node-timeout 5000 -- 集群节点超时时间
appendonly yes --
是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率
daemonize yes -- 后台执行
logfile
"/usr/local/redis/redisCluster/redis-6002 /log/redis01.log"
--日志文件
loglevel notice
--日志级别
dbfilename dump-6000.rdb
requirepass foobared -- redis 密码
下面是redis.conf的主要配置参数的意义:
- daemonize:是否以后台daemon方式运行
- pidfile:pid文件位置
- port:监听的端口号
- timeout:请求超时时间
- loglevel:log信息级别
- logfile:log文件位置
- databases:开启数据库的数量
- save * *:保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
- rdbcompression:是否使用压缩
- dbfilename:数据快照文件名(只是文件名,不包括目录)
- dir:数据快照的保存目录(这个是目录)
- appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
- appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)
配置文件也可参考以下配置:
redis-commn.conf redis 通用配置文件
- #GENERAL
- daemonize no
- tcp-backlog 511
- timeout 0
- tcp-keepalive 0
- loglevel notice
- databases 16
- dir /opt/redis/data
- slave-serve-stale-data yes
- #slave只读
- slave-read-only yes
- #not use default
- repl-disable-tcp-nodelay yes
- slave-priority 100
- #打开aof持久化
- appendonly yes
- #每秒一次aof写
- appendfsync everysec
- #关闭在aof rewrite的时候对新的写操作进行fsync
- no-appendfsync-on-rewrite yes
- auto-aof-rewrite-min-size 64mb
- lua-time-limit 5000
- #打开redis集群
- cluster-enabled yes
- #节点互连超时的阀值
- cluster-node-timeout 15000
- cluster-migration-barrier 1
- slowlog-log-slower-than 10000
- slowlog-max-len 128
- 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
- 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
redis 各个端口配置文件
- #包含通用配置
- include /opt/redis/redis-common.conf
- #监听tcp端口
- port 6379
- #最大可用内存
- maxmemory 100m
- #内存耗尽时采用的淘汰策略:
- # volatile-lru -> remove the key with an expire set using an LRU algorithm
- # allkeys-lru -> remove any key accordingly to the LRU algorithm
- # volatile-random -> remove a random key with an expire set
- # allkeys-random -> remove a random key, any key
- # volatile-ttl -> remove the key with the nearest expire time (minor TTL)
- # noeviction -> don't expire at all, just return an error on write operations
- maxmemory-policy allkeys-lru
- #aof存储文件
- appendfilename "appendonly-6379.aof"
- #rdb文件,只用于动态添加slave过程
- dbfilename dump-6379.rdb
- #cluster配置文件(启动自动生成)
- cluster-config-file nodes-6379.conf
- #部署在同一机器的redis实例,把"font-size: 1em; line-height: 1.5;">auto-aof-rewrite搓开,防止瞬间fork所有redis进程做rewrite,占用大量内存
- auto-aof-rewrite-percentage 80-100
7) 启动节点
./redis-server /usr/local/redis/redisCluster/redis-6004/redis.conf
查看节点启动情况 ps -ef|grep redis
8)
使用自带的ruby工具(redis-trib.rb)构建集群
在 /usr/local/redis/redis-3.0.5/src 目录下执行以下命令:
./redis-trib.rb create --replicas 1 10.0.50.11:6000 10.0.50.11:6001 10.0.50.11:6002 10.0.50.11:6003 10.0.50.11:6004 10.0.50.11:6005
- #redis-trib.rb的create子命令构建
- #--replicas 则指定了为Redis Cluster中的每个Master节点配备几个Slave节点
- #节点角色由顺序决定,先master之后是slave(为方便辨认,slave的端口比master大1000)
9)
检查集群状态,
- #redis-trib.rb的check子命令构建
- #ip:port可以是集群的任意节点
- redis-trib.rb check 10.0.50.11:6000
输出信息:
由于 图片 看不见详细可参考文档:
http://download.csdn.net/detail/ningxuezhu/9364321
参考:
http://blog.csdn.net/myrainblues/article/details/25881535
http://blog.csdn.net/lifeiaidajia/article/details/45370377
http://www.cnblogs.com/shanyou/archive/2012/01/28/2330451.html
http://blog.csdn.net/cynhafa/article/details/38371037
http://www.2cto.com/database/201506/404046.html
所需资源包:
ruby-2.2.2.tar.gz:
http://download.csdn.net/detail/ningxuezhu/9364403
redis-3.0.5.tar.gz:http://download.csdn.net/detail/ningxuezhu/9364345
rubygems-2.4.2.tgz redis-3.2.1.gem :
http://download.csdn.net/detail/ningxuezhu/9364417